Résumé
Manipulation de l'entité InterventionRequest (Demandes d'interventions) en lecture/écriture/suppression via un objet métier depuis une application externe.
Tables
Les tables utilisées sont :
sw_data_interventionrequest : Table des demandes d'interventions
Les tables liées sont :
sw_data_interventionrequestequipment : Table des équipements d'une demande d'intervention
Critères d'activation
WHK_Request est défini dans la gestion des webhooks du studio.
Fonctionnement
verb: GET
resultType: simple
"interventionrequest": { "codeinterventionrequest": "EXT00000001", "customeraddress_ID": "C0000001-BDX", "customer_ID": "C0000001", "label": "Fuite gaz", "requestDate": "2021-06-04 11:03:50", "generictype_ID_source": "PHONE", "generictype_ID_type": "INCIDENT", "generictype_ID_status": "NEW" }
verb: GET
resultType: extended
"interventionrequest": { "codeinterventionrequest": "EXT00000001", "customeraddress_ID": "C0000001-BDX", "customer_ID": "C0000001", "label": "Fuite gaz", "requestDate": "2021-06-04 11:03:50", "generictype_ID_source": "PHONE", "generictype_ID_type": "INCIDENT", "generictype_ID_status": "NEW", "contactName": "Igor Grannienski", "contactEmail": "igra@soc.com", "contactPhoneNumber": "06....", "description": "Forte odeur de gaz sur l'échappement du brûleur", "baseuser_ID_internalRequest": "BERNARD", "customercontact_ID_externalRequest": "", "customercontact_ID": "C0000001-IG", "interventionrequestpriority_ID": "BLOCKING", "requestInterventionDate": "2021-06-04 00:00:00", "contract_ID_equipment": "", "equipmentwarrantytype_ID": "", "symptom_ID": "A", "externalID": "", "orderheader_ID": "" }
verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables customeraddress, customer, generictype_type, generictype_source, generictype_status, interventionrequestpriority, customercontact, baseuser_internalRequest, customercontact_externalRequest symptom et customer_billed
"related":[ { "customeraddress":{ "codecustomeraddress":"C0000001-BDX", "customer_ID":"C0000001", "name":"ENTREPÔT GUICHARD", "site":"1", ... }, "customer":{ "codecustomer":"C0000001", "name":"ENTREPRISE DIJON GUICHARD", ... }, "generictype_type": { "codegenerictype": "INTERVENTION_REQUEST_TYPE-INCIDENT", "label": "Incident", "originalCode": "INCIDENT", "dataType": "INTERVENTION_REQUEST_TYPE", "description": "", "translationKey": "GenType_INTERVENTION_REQUEST_TYPE-INCIDENT", "generictype_ID_parent": "", "tag": "", "orderNumber": "" }, "generictype_source": { "codegenerictype": "INTERVENTION_REQUEST_SOURCE-PHONE", "label": "Phone", "originalCode": "PHONE", "dataType": "INTERVENTION_REQUEST_SOURCE", "description": "", "translationKey": "GenType_INTERVENTION_REQUEST_SOURCE-PHONE", "generictype_ID_parent": "", "tag": "", "orderNumber": "" }, "generictype_status": { "codegenerictype": "INTERVENTION_REQUEST_STATUS-NEW", "label": "New", "originalCode": "NEW", "dataType": "INTERVENTION_REQUEST_STATUS", "description": "", "translationKey": "GenType_INTERVENTION_REQUEST_STATUS-NEW", "generictype_ID_parent": "", "tag": "NEW", "orderNumber": "0" }, "interventionrequestpriority": { "codeinterventionrequestpriority": "BLOCKING", "label": "Blocking", "orderNumber": "3", "generictype_ID_style": "BO-STYLE-label-warning", "urgent": "1" }, "customercontact": { "codecustomercontact":"C0000001-IG", "customer_ID":"C0000001", "lastName":"Grannienski", "firstName":"Igor", "generictype_ID_civility":"Monsieur", ... }, "baseuser_internalRequest": { "codebaseuser": "1", "lastName": "BERNARD", "firstName": "Dominique", "initials": "BC", ... }, "customercontact_externalRequest": { "codecustomercontact": "", "customer_ID": "", "generictype_ID_civility": "", "lastName": "", "firstName": "", ... }, "symptom": { "codesymptom": "A", "label": "Défaut général", "equipmentkind_ID": "", "equipmenttype_ID": "", "interventionDuration": "", "externalLink": "", "endDate": "", "symptom_ID_parent": "", "resolution": "", "internalUse": "" } }]
verb: PUT
Les propriétés generictype_ID_source
, generictype_ID_type
, customer_ID
et customercontact_ID
sont obligatoires, en plus de quoi il faut également renseigner l’une des deux propriété baseuser_ID_internalRequest
ou customercontact_ID_externalRequest
.
La propriété contactEmail
, si fournie, va être utilisée pour tenter de remplir automatiquement les propriétés customer_ID
, customercontact_ID
, customercontact_ID_externalRequest
(sauf si baseuser_ID_internalRequest
est rempli), contactName
et contactPhoneNumber
si elle ne sont pas renseignées, et peut donc être utilisée en tant que fallback pour deux des champs obligatoires.
{ "interventionrequest": { "codeinterventionrequest": "EXT00000001", /* Code globalement unique de la demande d'intervention (Varchar (255))*/ "customer_ID": "C0000001", /* Code client (ForeignKey () - sw_data_customer.codecustomer)*/ "customeraddress_ID": "C0000001-BDX", /* Code adresse client (ForeignKey () - sw_data_customeraddress.codecustomeraddress)*/ "generictype_ID_source": "INTERVENTION_REQUEST_SOURCE-PHONE", /* Code source de la demande d'intervention (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = INTERVENTION_REQUEST_SOURCE)*/ "generictype_ID_type": "INTERVENTION_REQUEST_TYPE-INCIDENT", /* Code type de demande d'intervention (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = INTERVENTION_REQUEST_TYPE)*/ "requestDate": null, /* Date de la demande. Si vide on la positionne lors d'une création (Date/Heure courante par défaut) (DateTime ())*/ "label": "Fuite gaz", /* Libellé (Varchar (255))*/ "description": "Forte odeur de gaz sur l'échappement du brûleur", /* Description (Text (65535)) */ "baseuser_ID_internalRequest": "1", /* Code demandeur interne (ForeignKey () - sw_data_baseuser.codebaseuser)*/ "customercontact_ID_externalRequest": null, /* Code demandeur externe (ForeignKey () - sw_data_customercontact.codecustomercontact)*/ "customercontact_ID": "C0000001-IG", /* Code contact (ForeignKey () - sw_data_customercontact.codecustomercontact)*/ "contactName": "Igor Grannienski", /* Nom du contact (Varchar (255))*/ "contactEmail": "igra@soc.com", /* Email du contact (Varchar (255))*/ "contactPhoneNumber": "06....", /* N° de téléphone du contact (Varchar (255))*/ "interventionrequestpriority_ID": "BLOCKING", /* Code priorité (ForeignKey () - sw_data_interventionrequestpriority.codeinterventionrequestpriority)*/ "requestInterventionDate": "2021-05-26", /* Date d'intervention souhaitée (DateTime ())*/ "symptom_ID": "A", /* Code symptôme général (ForeignKey () - sw_data_symptom.codesymptom)*/ "externalID": "" /* Code externe (Varchar (255))*/ }, "interventionrequestequipment": [ { "codeinterventionrequestequipment": "EXT00000001-BAL01", /* Code globalement unique d'un équipement dans une demande d'intervention. Composé : codedemandeintervention + "-" + codeequipment (Varchar(255))*/ "interventionrequest_ID": "EXT00000001", /* Code demande d'intervention. Optionnel : reprendre le code intervention du bloc json "interventionrequest", si non fourni reprend automatiquement le code demande d'intervention (ForeignKey () - sw_data_interventionrequest.codeinterventionrequest)*/ "equipment_ID" : "BAL01", /* Code de l'équipement. Doit avoir été créé avant la création de la demande d'intervention (ForeignKey () - sw_data_equipment.codeequipment)*/ "symptom_ID": "" /* Code symptôme lié à l'équipement (ForeignKey () - sw_data_symptom.codesymptom)*/ }, { "codeinterventionrequestequipment": "EXT00000001-BAL02", /* Code globalement unique d'un équipement dans une demande d'intervention. Composé : codedemandeintervention + "-" + codeequipment (Varchar(255))*/ "interventionrequest_ID": "EXT00000001", /* Code demande d'intervention. Optionnel : reprendre le code intervention du bloc json "interventionrequest", si non fourni reprend automatiquement le code demande d'intervention (ForeignKey () - sw_data_interventionrequest.codeinterventionrequest)*/ "equipment_ID" : "BAL02", /* Code de l'équipement. Doit avoir été créé avant la création de la demande d'intervention (ForeignKey () - sw_data_equipment.codeequipment)*/ "symptom_ID": "" /* Code symptôme lié à l'équipement (ForeignKey () - sw_data_symptom.codesymptom)*/ } ] }
verb: LIST
resultType: simple, extended reprendre les définitions du GET
"filters:" { "codeInterventionRequest": "value", filter is equal "label": "value", filter is contains "codeCustomer": "value", filter is equal "codeCustomerAddress": "value", filter is equal "requestDate": "value", filter is greater or equal to "requestDateBetween": "value1|value2", filter is between value1 and value2 "requestInterventionDate": "value", filter is greater or equal to "requestInterventionDateBetween": "value1|value2", filter is between value1 and value2 "codeStatus": "value", filter is equal "codeType": "value", filter is equal "codeSource": "value" filter is equal }, "orderBy": "value"
Valeurs possibles pour le tri "orderBy" :
requestDateDesc : par date de demande descendant
requestDateAsc : par date de demande ascendant
requestInterventionDateDesc : par date d'intervention souhaitée descendant
requestInterventionDateAsc : par date d'intervention souhaitée ascendant
verb: DELETE
Une suppression d'une demande d'intervention (sw_data_interventionrequest) va supprimer en cascade les éléments dans les tables liées sw_data_interventionrequestequipment et sw_data_interventionrequestdocument.