WebHook Equipment
Résumé
Manipulation de l'entité Equipment (Equipements) en lecture/écriture/suppression via un objet métier depuis une application externe.
Tables
Les tables utilisées sont :
sw_data_equipment : Table des équipements
Les tables liées sont :
sw_data_equipmentaddress : Table des adresses des équipements
Critères d'activation
WHK_Equipment est défini dans la gestion des webhooks du studio.
Fonctionnement
settings parameters
"settings":
{
"getContracts": "1", // pour le verb GET et LIST permet de retourner les informations des contrats actifs de l'équipement
"getWarranties": "1" // pour le verb GET et LIST permet de retourner les informations des garanties actives de l'équipement
}
verb: GET
resultType: simple
"equipment":{
"codeequipment": "BAL01-201910",
"description": "Ballon 300 litres",
"equipmenttype_ID": "BALL",
"serialNumber": "BAL-169-2",
"equipmentstatus_ID": "BEING_CREATED"
}
verb: GET
resultType: extended
"equipment":{
"codeequipment": "BAL01-201910",
"description": "Ballon 300 litres",
"equipmenttype_ID": "BALL",
"serialNumber": "BAL-169-2",
"equipment_ID_parent": "",
"location": "Cave",
"gpsLongitude": "",
"gpsLatitude": "",
"gpsAccuracy": "",
"gpsUpdateDate_fixed": "",
"gpsManual": "",
"baseuser_ID_favoriteTechnician": "",
"installationDate": "2020-08-04 00:00:00",
"equipmentstatus_ID": "BEING_CREATED",
"customerReference": "",
"brand": "",
"maker": "",
"inServiceDate": "",
"terminationDate": "",
"replacementDate": "",
"product_ID": "",
"quantityRepresented": "1",
"orderheader_ID": "",
"externalID": "DTR 1 C1",
"equipmentkind_ID": "DEFAULT"
}
verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables equipmenttype, equipmentkind, equipment_parent, baseuser_favoriteTechnician, equipmentstatus et product
"related":[
{
"equipmenttype":{
"codeequipmenttype": "BALL",
"label": "Ballons d'eau chaude",
"translationKey": "",
"equipmentkind_ID": "DEFAULT"
},
"equipmentkind":{
"codeequipmentkind": "DEFAULT",
"label": "Par défaut"
"translationKey": "Gen_ByDefault"
}
}]
verb: GET
resultType: simple, extended, extendedRelated
getContracts: "1",
getWarranties: "1"
"equipment": {
...
},
"contracts": [
{
"codecontract": "2950000000014",
"label": "Contrat maintenance",
"contractNumber": "CONTRACT_000057",
"startDate": "2020-07-13 00:00:00",
"endDate": ""
},
{
...
}],
"warranties": [
{
"codeequipmentwarranty": "5550000000022",
"equipmentwarrantytype_ID": "Garantie classique",
"startDate": "2020-05-18 16:20:05",
"endDate": "2021-05-18 16:20:05",
"partIncluded": "0",
"workIncluded": "0",
"travelIncluded": "0"
},
{
...
}]
verb: PUT
Selon webhookVersion renseigné dans le header :
webhookVersion = 1 -> les blocs json equipmenttype, customer et site sont obligatoires.
webhookVersion = 2 -> les blocs json equipmenttype, customer et site ne doivent plus être renseignés, sinon il y aura une erreur en retour. Ils doivent être appelés explicitement par leur webhooks correspondants (equipmenttype, customer et customeraddress) en amont.
La description pour webhookVersion = 1 peut être consultée dans les pages de la version Divalto weavy 5.5 et antérieures.
{
"equipment": {
"codeequipment": "BAL01-201910", /* Code globalement unique de l'équipement (Varchar (255))*/
"equipmentkind_ID": "DEFAULT", /* Code du genre d'équipement (ForeignKey () - sw_data_equipmentkind.codeequipmentkind)*/
"equipmenttype_ID": "BALL", /* Code du type d'équipement (ForeignKey () - sw_data_equipmenttype.codeequipmenttype)*/
"description": "Ballon 300 litres", /* Description de l'équipement (Text (65535))*/
"serialNumber": "BAL-169-2", /* N° de série (Varchar (64))*/
"equipment_ID_Parent": null, /* Code de l'équipement parent (nécessite que le parent a été créée avant celui-ci) (ForeignKey () - sw_data_equipment.codeequipment)*/
"location": "Cave", /* Localisation sur le site (Varchar (255))*/
"equipmentstatus_ID": "BEING_CREATED", /* Statut de l'équipement (ForeignKey () - sw_data_equipmentstatus.codeequipmentstatus)*/
"customerReference": null, /* Référence chez le client (Varchar (64))*/
"brand": "", /* Marque (Varchar (255))*/
"maker": "", /* Constructeur (Varchar (255))*/
"installationDate": "2020-08-04", /* Date d'installation (DateTime ())*/
"inServiceDate": null, /* Date de mise en service (DateTime ())*/
"terminationDate": null, /* Date de fin d'existence (DateTime ())*/
"replacementDate": null, /* Date de remplacement (DateTime ())*/
"product_ID": null, /* Code article (ForeignKey () - sw_data_product.codeproduct)*/
"quantityRepresented": "1", /* Quantité représentée (Int ())*/
"externalID": "DTR 1 C12", /* Origine externe (Varchar (64))*/
"internalcodeequipment": null, /* codeequipment original de weavy pour transcodage (Varchar (255))*/
/* Optionnel : pour mettre à jour les champs dynamiques selon paramétrage */
/* Exemple 1 : */
"dynamicfields":
[{
"fieldname": "MATPRIX",
"fieldvalue": "45.12"
},
{
"fieldname": "MATCODE",
"fieldvalue": "Nickel"
},
{
...
}]
/* Exemple 2 : */
/* A partir de la version SUMMER'21, le mappage direct des champs dynamiques est possible en utilisant le nom du champ en bdd */
"v_MATPRIX": "45.12",
"v_MATCODE": "Nickel",
...
},
"equipmentaddress": {
"codeequipmentaddress": "BAL01-201910-SITE", /* Code globalement unique de l'adresse de l'équipement (Varchar (255))*/
"equipment_ID": "BAL01-201910", /* Code de l'équipement. Reprendre le code équipement du bloc json "equipment" (ForeignKey () - sw_data_equipment.codeequipment)*/
"customeraddress_ID" : "C0000001-BDX", /* Code adresse client (ForeignKey () - sw_data_customeraddress.codecustomeraddress)*/
"startDate": "2019-10-26", /* Date de début (DateTime ())*/
"endDate": null, /* Date de fin (DateTime ())*/
"internalcodeequipmentaddress": null /* codeequipmentaddress original de weavy pour transcodage (Varchar (255))*/
}
}
verb: LIST
resultType: simple, extended reprendre les définitions du GET
"filters:" {
"codeEquipment": "value", filter is equal
"description": "value", filter is contains
"serialNumber": "value", filter is equal
"equipmentType": "value", filter is equal
"equipmentKind": "value", filter is equal
"codeCustomerAddress": "value", filter is equal
"codeEquipmentStatus": "value", filter is equal
"equipmentNotClosed": "value", filter is codeEquipmentStatus <> 'DELETED' and (terminationDate is null OR terminationDate >= value)
},
"orderBy": "value"
Valeurs possibles pour le tri "orderBy" :
codeEquipmentAsc : par code équipement ascendant
descriptionAsc : par description ascendant
serialNumberAsc : par n° de série ascendant
installationDateAsc : par date d'installation ascendant
installationDateDesc : par date d'installation descendant