Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Résumé

Manipulation de l'entité Intervention (Interventions) en lecture/écriture/suppression via un objet métier depuis une application externe.

Tables

Les tables utilisées sont :

...

  • sw_data_interventionequipment : Table des équipements d'une intervention

  • sw_data_interventionpart : Table des pièces d'une intervention

Critères d'activation

WHK_Intervention est défini dans la gestion des webhooks du studio.

Fonctionnement

verb: GET
resultType: simple

...

Bloc de code
languagejson
  "intervention": {
    "codeintervention": "INF000000001",
    "customer_ID": "C0000001",
    "customeraddress_ID": "C0000001-BDX",
    "title": "Intervention pour changement chaudière",
    "interventiontype_ID": "INST-CHAUDIERE",
    "interventionNumber": "INST20191011-00001",
    "generictype_ID_status": "CLOSED",
    "startDate": "2020-10-07 15:00:00",
    "endDate": "2020-10-07 17:00:00",
    "comment": "Installation chaudière new power",     
    "contract_ID": null,    
    "internalRemarks": "client sensible",
    "externalRemarks": "Installation chaudière selon devis numéro G234",
    "phoneNumber": "0671727374",
    "contactName": "DESMOUCEAUX Alexandre",
    "contactEmail": "adesmouceaux@divalto.com",
    "estimatedDuration": 240,
    "interventionpriority_ID": "LOW",
    "requestedDate": "2019-10-26 00:00:00.000",
    "intervention_ID_parent": null,
    "branchoffice_ID": null,
    "interventionrequest_ID": null,
    "reportEmail": null,
    "estimatedDuration": null,
    "operationrange_ID": null,
    "generictype_ID_followup": null,
    "commentFollowup": null,
    "isFrontOfficeCreated": null,
    "generictype_ID_geoptimizationStatus": null,
    "equipmentwarrantytype_ID": null,
    "invoiceOutsideScope": "0",
    "contract_ID_equipment": null,
    "timetypeactivity_ID": null,
    "timeworktimeheader_ID": null,
    "orderheader_ID": null,
    "externalID": null,
    "deal_ID": null,
    "dealelement_ID": null,
    "contractToBill": null,
    "symptom_ID": null,
    "symptomNotes": null,
  }

verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables interventiontype, timetypeactivity, customeraddress, generictype_status, contract, deal, dealelement, interventionpriority, symptom, interventionrequest et customer_billed

Bloc de code
languagejson
"related":[
{
  "interventiontype":{  "dateToCheckContractOrWarrantyOnFollowUp": "",
    "codeinterventiontypegenerictype_ID_managementMode":"REP "INTERVENTION_MANAGEMENT_MODE-BO_WITH_PLANNING",
    "labeladditionalExternalID": "Réparation",
    "printTimesbillingComment": "1",
    "printProductsgenerictype_ID_billingFollowUp": "1",
    "defaultDurationnonBillable": "600",
    "isBreakFixcustomer_ID_billed": "1C0000002",
    "colorgenerictype_ID_nonBillableReason": "ff5252"
  },
  "timetypeactivity":{
    "codetimetypeactivity":"PLOM",
    "label":"Plomberie"
  },
  "customeraddress

verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables interventiontype, timetypeactivity, customeraddress, generictype_status, contract, deal, dealelement, interventionpriority, symptom, interventionrequest et customer_billed

Bloc de code
languagejson
"related":[
{
  "interventiontype":{
    "codecustomeraddresscodeinterventiontype":"0000360000000002REP",
    "customer_IDlabel":"I0001700000000008Réparation",
    "nameprintTimes":"Nouveau site1",
    "siteprintProducts":"1",
    "generictype_ID_countrydefaultDuration":"60",
    "generictype_ID_provinceisBreakFix":"1",
    "baseculture_IDcolor":"ff5252",
  },
  "address1timetypeactivity":"25{
Rue des pêcheurs",     "address2codetimetypeactivity":"PLOM",
    "address3label":"Plomberie",
  },
  "postalCodecustomeraddress":"67000",{
    "citycodecustomeraddress":"Strasbourg0000360000000002",
    "phoneNumbercustomer_ID":"I0001700000000008",
    "faxNumbername":"Nouveau site",
    "mobilePhoneNumbersite":"1",
    "emailgenerictype_ID_country":"",
    "areaCodegenerictype_ID_province":"",
    "contactbaseculture_ID":"",
    "gpsLongitudeaddress1":"7.7610625 Rue des pêcheurs",
    "gpsLatitudeaddress2":"48.58294",
    "gpsAccuracyaddress3":"8",
    "gpsUpdateDatepostalCode":"2019-04-11 18:36:3167000",
    "gpsManualcity":"Strasbourg",
    "billingAddressphoneNumber":"0",
    "defaultBillingAddressfaxNumber":"0",
    "deliveryAddressmobilePhoneNumber":"",
    "defaultDeliveryAddressemail":"",
    "accessCodeareaCode":"",
    "floorcontact":"",
    "apartmentgpsLongitude":"7.76106",
    "miscInfosgpsLatitude":"48.58294",
    "baseuser_ID_favoriteTechniciangpsAccuracy":"8",
    "erpAddressIDgpsUpdateDate":"2019-04-11 18:36:31",
    "branchoffice_IDgpsManual":"SXB",
    "bankholidayparamheader_IDbillingAddress":"0"
,
 },   "dealdefaultBillingAddress":{"0",
    "codedealdeliveryAddress":"PJ000011",
    "customer_IDdefaultDeliveryAddress":"C0000001",
    "labelaccessCode":"Vitrine de magasin",
    "generictype_ID_dealTypefloor":"DEAL_DEALTYPE-PRJ",
    "dealNumberapartment":"PJ000011",
    "descriptionmiscInfos":"",
    "creationDatebaseuser_ID_favoriteTechnician":"2020-09-18 00:00:00",",
     "closingDateerpAddressID":"",
    "amountbranchoffice_ID":"300SXB",
    "probabilitybankholidayparamheader_ID":"55",
  },
  "generictype_ID_lossReasondeal":"",{
    "customer_ID_introducercodedeal":"PJ000011",
    "baseusercustomer_ID":"C0000001",
    "amount2label":"Vitrine de magasin",
    "generictype_ID_statusdealType":"DEAL_STATUSDEALTYPE-PRJ-1",
    "lossReasonCommentdealNumber":"PJ000011",
    "realClosingDatedescription":"",
    "dealstep_ID_currentcreationDate":"",
 2020-09-18 00:00:00",
  "deal_ID_origin  "closingDate":"",
    "isProjectamount":"1300",
    "manualProbabilityprobability":"055",
    "marketingleadgenerictype_ID_originlossReason":"",
    "customercontactcustomer_ID_introducer":"C0000001-DJ",
  }
}]

verb: PUT
Selon webhookVersion renseigné dans le header :

  • webhookVersion = 1 -> les blocs json interventiontype, customer et site sont obligatoires.

  • webhookVersion = 2 -> les blocs json interventiontype, 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 (interventiontype, customer et customeraddress) en amont. Valeur par défaut si non renseigné.

Info

La description pour webhookVersion = 1 peut être consultée dans les pages de la version Divalto weavy 5.5 et antérieures.

Bloc de code
languagejson
{ 
  "intervention": {
    "codeintervention": "INF000000001", /* Code globalement unique de l'intervention (Varchar (255  "baseuser_ID":"",
    "amount2":"",
    "generictype_ID_status":"DEAL_STATUS-PRJ-1",
    "lossReasonComment":"",
    "realClosingDate":"",
    "dealstep_ID_current":"",
    "deal_ID_origin":"",
    "isProject":"1",
    "manualProbability":"0",
    "marketinglead_ID_origin":"",
    "customercontact_ID":"C0000001-DJ"
  }
}]

verb: PUT
Selon webhookVersion renseigné dans le header :

  • webhookVersion = 1 -> les blocs json interventiontype, customer et site sont obligatoires.

  • webhookVersion = 2 -> les blocs json interventiontype, 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 (interventiontype, customer et customeraddress) en amont. Valeur par défaut si non renseigné.

Info

La description pour webhookVersion = 1 peut être consultée dans les pages de la version Divalto weavy 5.5 et antérieures.

Bloc de code
languagejson
{ 
  "intervention": {
    "codeintervention": "INF000000001", /* Code globalement unique de l'intervention (Varchar (255))*/
    "customeraddress_ID": "C0000001-BDX", /* Code adresse client  (ForeignKey () - sw_data_customeraddress.codecustomeraddress)*/
    "title": "Intervention pour changement chaudière", /* Titre de l'intervention (Varchar (255))*/
    "comment": "Installation chaudière new power", /* Observations (Text (65535))*/
    "interventionNumber": "INST20191011-00001", /* N° d'intervention (Varchar (64))*/
    "interventiontype_ID": "INST-CHAUDIERE", /* Code type d'intervention (ForeignKey () - sw_data_interventiontype.codeinterventiontype)*/
    "internalRemarks": "client sensible", /* Commentaires internes non imprimés sur le rapport (Text (65535))*/
    "customeraddress_ID": "C0000001-BDX"externalRemarks": "Installation chaudière selon devis numéro G234", /* Commentaires externes Codeimprimés adressesur clientle rapport (ForeignKeyText () - sw_data_customeraddress.codecustomeraddress65535))*/
    "titlephoneNumber": "Intervention pour changement chaudière0671727374", /* Titre de téléphone du contact client pour l'intervention (Varchar (25564))*/
    "commentcontactName": "Installation chaudière new powerDESMOUCEAUX Alexandre", /* ObservationsNom du contact client pour l'intervention (TextVarchar (65535255))*/
    "interventionNumbercontactEmail": "INST20191011-00001adesmouceaux@divalto.com", /* N° d Email du contact client pour l'intervention (Varchar (64255))*/
    "interventiontypegenerictype_ID_status": "INST-CHAUDIERE"null, /* Code type d'intervention Statut de l'intervention. Si vide on le positionne à l'intégration dans weavy lors d'une création (READYTOPLAN par défaut) (ForeignKey () - sw_data_interventiontype.codeinterventiontypegenerictype.codegenerictype avec dataType = INTERVENTION_STATUS)*/
    "internalRemarksestimatedDuration": "client sensible"240, /* Commentaires internes non imprimés sur le rapport (Text (65535 Durée estimée. Si le type d'intervention a une durée, la remettre ici (Int ())*/
    "externalRemarksinterventionpriority_ID": "Installation chaudière selon devis numéro G234", /* Commentaires externes imprimés sur le rapport (Text (65535)null, /* Priorité d'intervention. Si vide, on le positionne à l'intégration dans weavy (LOW par défaut) (ForeignKey () - sw_data_interventionpriority.codeinterventionpriority)*/
    "phoneNumberrequestedDate": "06717273742019-10-26 00:00:00", /*  de téléphone du contact client pour lDate d'intervention demandée (VarcharDateTime (64))*/
    "contactNamecontract_ID": "DESMOUCEAUX Alexandre"null, /* NomCode du contrat si contactlié clientà pourun l'interventioncontrat (VarcharForeignKey (255)) - sw_data_contract.codecontract)*/
    "contactEmailintervention_ID_parent": "adesmouceaux@divalto.com"null, /* Email du contact client pour l'intervention (Varchar (255) Code de l'intervention parente (nécessite que la parente a été créée avant celle-ci) (ForeignKey () - sw_data_intervention.codeintervention)*/
    "generictypebranchoffice_ID_status": null, /* StatutCode de l'interventionagence de rattachement. Si vide on le positionne à l'intégration dans weavy lors d'une création (READYTOPLAN par défaut) (ForeignKey () - sw_data_generictype.codegenerictype avec dataType = INTERVENTION_STATUSbranchoffice.codebranchoffice)*/
    "estimatedDurationreportEmail": 240"", /* Durée estimée. Si le type d'intervention a une durée, la remettre ici (Int (Email pour le rapport (Varchar (255))*/
    "interventionpriorityoperationrange_ID": null"", /* Priorité d'intervention. Si vide, on le positionne à l'intégration dans weavy (LOW par défaut) Code opération/gamme (ForeignKey () - sw_data_operationrange.codeoperationrange)*/
    "generictype_ID_followup": "INTERVENTION_FOLLOWUP-INTERVENTION", /* Code suite à donner (ForeignKey () - sw_data_interventionpriority.codeinterventionprioritygenerictype.codegenerictype avec datatype = INTERVENTION_FOLLOWUP)*/
    "requestedDatecommentFollowup": "2019-10-26 00:00:00", /* Commentaire Datesuite d'interventionà demandéedonner (DateTimeText (65535))*/
    "contract_IDinvoiceOutsideScope": null"", /* CodeFacturation duhors garantie/contrat si(Valeurs liépossibles à un contrat (ForeignKey () - sw_data_contract.codecontract: 0,1) (Bool ())*/
    "interventiondeal_ID_parent": null"", /* Code de l'intervention parente (nécessite que la parente a été créée avant celle-ci)affaire (ForeignKey () - sw_data_interventiondeal.codeinterventioncodedeal)*/
    "branchofficedealelement_ID": null, /* Code de l'agence de rattachement. Si vide on le positionne à l'intégration dans weavy lors d'une création  "", /* Code élément d'affaire (ForeignKey () - sw_data_branchofficedealelement.codebranchofficecodedealelement)*/
    "reportEmailtimetypeactivity_ID": "", /* EmailCode pouractivité le rapport (VarcharForeignKey (255)) - sw_data_timetypeactivity.codetimetypeactivity)*/
    "operationrange_IDcontractToBill": "", /* Code opération/gamme (ForeignKey () - sw_data_operationrange.codeoperationrangeContrat à facturer (Valeurs possibles : 0,1) (Varchar (64))*/
    "generictypeinterventionrequest_ID_followup": "INTERVENTION_FOLLOWUP-INTERVENTION", /* Code suitedemande àd'intervention donner (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = INTERVENTION_FOLLOWUPinterventionrequest.codeinterventionrequest)*/
    "commentFollowupexternalID": "", /* Commentaire suite à donner (Text (65535))*/
    "invoiceOutsideScope": "", /* Facturation hors garantie/contrat (Valeurs possibles : 0,1) (Bool (DTR                1         C12", /* Origine externe (Varchar (64))*/
    "dealsymptom_ID": "", /* Code affairesymptôme (ForeignKey () - sw_data_deal.codedealsymptom.codesymptom)*/
    "symptomNotes": "", /* Notes liées aux symptômes (Text (65535))*/
    "dealelement_ID": "", /* Code élément d'affaire (ForeignKey () - sw_data_dealelement.codedealelementdateToCheckContractOrWarrantyOnFollowUp": "", /* Date de vérification du contrat ou de la garantie (DateTime ())*/
    "timetypeactivitygenerictype_ID_managementMode": "INTERVENTION_MANAGEMENT_MODE-BO_WITH_PLANNING", /* Mode Codede activitégestion (ForeignKey () - sw_data_timetypeactivity.codetimetypeactivitygenerictype.codegenerictype avec datatype = INTERVENTION_MANAGEMENT_MODE)*/
    "contractToBilladditionalExternalID": "", /* Contrat à facturer (Valeurs possibles : 0,1)Origine externe complémentaire (Varchar (64255))*/
    "interventionrequest_IDbillingComment": "", /* CodeCommentaire demandefacturation d'intervention (ForeignKeyText () - sw_data_interventionrequest.codeinterventionrequest65535))*/
    "externalIDgenerictype_ID_billingFollowUp": "DTR", /* Suivi de facturation (ForeignKey () - sw_data_generictype.codegenerictype avec datatype      1  = INTERVENTION_BILLING_FOLLOWUP)*/
      C12"nonBillable": "0", /* Origine externe (Varchar (64 Non facturable (Valeurs possibles : 0,1) (Bool ())*/
    "symptomcustomer_ID_billed": "C0000002", /* CodeTiers symptômefacturé (ForeignKey () - sw_data_symptomcustomer.codesymptomcodecustomer)*/
    "symptomNotesgenerictype_ID_nonBillableReason": "", /* NotesMotif liéesnon aux symptômesfacturable (TextForeignKey (65535)) - sw_data_generictype.codegenerictype avec datatype = INTERVENTION_NONBILLABLEREASON)*/
    "internalcodeintervention": null /* codeintervention original de weavy pour transcodage (Varchar (255))*/
  },
  "interventionequipment": [
    {
      "codeinterventionequipment": "INF000000001-BAL01-201910", /* Code globalement unique d'un équipement dans une intervention. Composé : codeintervention + "-" + codeequipment (Varchar(255))*/
      "intervention_ID": "INF000000001", /* Code intervention. Optionnel : reprendre le code intervention du bloc json "intervention", si non fourni reprend automatiquement le code intervention (ForeignKey () - sw_data_intervention.codeintervention)*/
      "equipment_ID" : "BAL01-201910",  /* Code de l'équipement. Doit avoir été créé avant la création de l'intervention (ForeignKey () - sw_data_equipment.codeequipment)*/
      "addedByUser": false, /* Equipment ajouté par l'utilisateur (Valeurs possibles : 0,1) (Bool ()) */
      "contract_ID": null /* Code du contrat si lié à un contrat (ForeignKey () - sw_data_contract.codecontract)*/      
    },
    {
      "codeinterventionequipment": "INF000000001-CHA01-201910", /* Code globalement unique d'un équipement dans une intervention. Composé : codeintervention + "-" + codeequipment (Varchar(255))*/
      "intervention_ID": "INF000000001", /* Code intervention. Optionnel : reprendre le code intervention du bloc json "intervention", si non fourni reprend automatiquement le code intervention (ForeignKey () - sw_data_intervention.codeintervention)*/
      "equipment_ID" : "CHA01-201910",  /* Code de l'équipement. Doit avoir été créé avant la création de l'intervention (ForeignKey () - sw_data_equipment.codeequipment)*/
      "addedByUser": false, /* Equipment ajouté par l'utilisateur (Valeurs possibles : 0,1) (Bool ()) */
      "contract_ID": null /* Code du contrat si lié à un contrat (ForeignKey () - sw_data_contract.codecontract)*/
    }
  ], 
  "interventionpart": [
    {
      "codeinterventionpart": "INF000000001-BAL01-201910-BLO0001-L-BLANC-1", /* Code globalement unique de la pièce dans l'intervention. Composé : codeintervention + "-" + codeequipment + "-" + codeproduct + "-" + linenumber (Varchar (255) */
      "intervention_ID": "INF000000001", /* Code intervention. Optionnel : reprendre le code intervention du bloc json "intervention", si non fourni reprend automatiquement le code intervention (ForeignKey () - sw_data_intervention.codeintervention)*/
      "interventionequipment_ID" : "INF000000001-BAL01-201910",  /* Code de l'équipement de l'intervention. A renseigner si la pièce est rattachée à l'équipement (ForeignKey () - sw_data_interventionequipment.codeinterventionequipment)*/
      "product_ID": "BLO0001-L-BLANC", /* Code de l'article (ForeignKey () - sw_data_product.codeproduct)*/
      "productCode": "BLO0001-L-BLANC", /* Code article de la pièce (Varchar(255))*/
      "productDescription": "Filtre charbon universel", /* Libellé de l'article dans la pièce (Varchar(255))*/
      "lineNumber": 1, /* Numéro de ligne (Int)*/
      "estimatedQuantity": 1, /* Quantité estimée (Double)*/      
    },
    {
      "codeinterventionpart": "INF000000001--ALB0001-2", /* Code globalement unique de la pièce dans l'intervention. Composé : codeintervention + "-" + codeequipment + "-" + codeproduct + "-" + linenumber (Varchar (255) */
      "intervention_ID": "INF000000001", /* Code intervention. Optionnel : reprendre le code intervention du bloc json "intervention", si non fourni reprend automatiquement le code intervention (ForeignKey () - sw_data_intervention.codeintervention)*/
      "interventionequipment_ID" : null,  /* Code de l'équipement de l'intervention. A renseigner si la pièce est rattachée à l'équipement (ForeignKey () - sw_data_interventionequipment.codeinterventionequipment)*/
      "product_ID": "ALB0001", /* Code de l'article (ForeignKey () - sw_data_product.codeproduct)*/
      "productCode": "ALB0001", /* Code article de la pièce (Varchar(255))*/
      "productDescription": "Album", /* Libellé de l'article dans la pièce (Varchar(255))*/
      "lineNumber": 2, /* Numéro de ligne (Int)*/
      "estimatedQuantity": 3 /* Quantité estimée (Double)*/      
    }
  ]
}

...