Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/UDW62/pages/11005603440/WebHook+Equipment+V5.3) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 4) Actuel »

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

  • sw_data_modulecoldequipmentcharacteristic : Module Froid - Table des caractéristiques froid 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
  "getModuleColdEquipmentCharacteristic": "1" // pour le verb GET et LIST permet de retourner les informations des caractéristiques module froid é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",
    "useModuleCold": "0"
  }

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"
getModuleColdEquipmentCharacteristic: “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"
  },
  {
    ...
  }],
  "modulecoldequipmentcharacteristic": [
    {
      "codemodulecoldequipmentcharacteristic": "BAL01-201910",
      "modulecoldfluidnature_ID": "Fluide 01",
      "coolingCapacity": "2",
      "hasAutoLeakDetector": "0",
      "totalWeigt": "35"
    }
  ]

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 leurs 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))*/
    "useModuleCold": "0", /* Utilise le module froid (Valeurs possibles : 0,1) (Bool ())*/
    "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. Optionnel : reprendre le code équipement du bloc json "equipment", si non fourni reprend automatiquement le code équipement (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))*/
  },
  /* Une seule caratéristique froid pour un équipement */
  "modulecoldequipmentcharacteristic": [
    {
      "codemodulecoldequipmentcharacteristic" : "BAL01-201910", /* Code globalement unique de la caractéristique froid de l'équipement (Varchar (255))*/
      "modulecoldfluidnature_ID": "NATURE01", /* Code nature de fluide (ForeignKey () - sw_data_modulecoldfluidnature.codemodulecoldfluidnature)*/
      "coolingCapacity": "2", /* Capacité de refroidissement (Double ())*/
      "hasAutoLeakDetector": "0", /* A un détecteur de fuite automatique (Valeurs possibles : 0,1) (Bool ())*/
      "totalWeight": "35" /* Charge totale (Double ())*/
    }
  ]
}

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)
  "useModuleCold": "value", filter is equal (if value = "1" return only equipments that use cold characteristics)
  "codeEquipmentParent": "value", filter is equal
  "locationCodeCustomerAddressAndDate": "value1&&value2", filter is codeCustomerAddress = 'value1' AND (ea.startDate IS NULL OR ea.startDate <= 'value2') AND (ea.endDate IS NULL OR ea.endDate >= 'value2') // ea = sw_data_equipmentaddress
},
"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

  • codeEquipmentTypeAsccodeEquipmentAsc : par code type d'équipement ascendant et code équipement ascendant

  • codeEquipmentKindAsccodeEquipmentAsc : par code genre d'équipement ascendant et code équipement ascendant

  • codeEquipmentKindAsccodeEquipmentTypeAsccodeEquipmentAsc : par code genre d'équipement ascendant, code type d'équipement ascendant et code équipement ascendant

  • Aucune étiquette