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 et interventionrequest

Bloc de code
languagejson
"related":[
{
  "interventiontype":{  "dateToCheckContractOrWarrantyOnFollowUp": "",
    "codeinterventiontypegenerictype_ID_managementMode":"REP",     "label":"Réparation""INTERVENTION_MANAGEMENT_MODE-BO_WITH_PLANNING",
    "printTimesadditionalExternalID": "1",
    "printProductsbillingComment": "1",
    "defaultDurationgenerictype_ID_billingFollowUp": "60",
    "isBreakFixnonBillable": "10",
    "colorcustomer_ID_billed": "ff5252C0000002",
  },   "timetypeactivitygenerictype_ID_nonBillableReason":{
    "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",
    "email"generictype_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_favoriteTechnician""gpsAccuracy":"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_originclosingDate":"",
    "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))*/
    "customeraddress_ID": "C0000001-BDX", /* Code adresse client  "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))*/
    "externalRemarks": "Installation chaudière selon devis numéro G234", /* Commentaires externes imprimés sur le rapport (Text (65535))*/
    "phoneNumber": "0671727374", /* N° de téléphone du contact client pour l'intervention (Varchar (64))*/
    "contactName": "DESMOUCEAUX Alexandre", /* Nom du contact client pour l'intervention (Varchar (255))*/
    "contactEmail": "adesmouceaux@divalto.com", /* Email du contact client pour l'intervention (Varchar (255))*/
    "generictype_ID_status": null, /* 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_customeraddress.codecustomeraddress)*/
    "title": "Intervention pour changement chaudière", /* Titre de l'intervention (Varchar (255)generictype.codegenerictype avec dataType = INTERVENTION_STATUS)*/
    "commentestimatedDuration": "Installation chaudière new power", /* Observations (Text (65535 240, /* Durée estimée. Si le type d'intervention a une durée, la remettre ici (Int ())*/
    "interventionNumberinterventionpriority_ID": "INST20191011-00001"null, /* Priorité d'intervention. (Varchar (64))*/
    "interventiontype_ID": "INST-CHAUDIERE", /* Code type d'interventionSi vide, on le positionne à l'intégration dans weavy (LOW par défaut) (ForeignKey () - sw_data_interventiontypeinterventionpriority.codeinterventiontypecodeinterventionpriority)*/
    "internalRemarksrequestedDate": "client sensible2019-10-26 00:00:00", /* Commentaires internes nonDate imprimésd'intervention surdemandée le rapport (TextDateTime (65535))*/
    "externalRemarks": "Installation
chaudière selon devis numéro G234""contract_ID": null, /* Code du Commentairescontrat externessi impriméslié surà leun rapportcontrat (TextForeignKey (65535)) - sw_data_contract.codecontract)*/
    "phoneNumberintervention_ID_parent": "0671727374"null, /* Code de téléphone du contact client pour l'intervention (Varchar (64) l'intervention parente (nécessite que la parente a été créée avant celle-ci) (ForeignKey () - sw_data_intervention.codeintervention)*/
    "contactNamebranchoffice_ID": "DESMOUCEAUX Alexandre"null, /* Nom du contact client pour l'intervention (Varchar (255) Code de l'agence de rattachement. Si vide on le positionne à l'intégration dans weavy lors d'une création (ForeignKey () - sw_data_branchoffice.codebranchoffice)*/
    "contactEmailreportEmail": "adesmouceaux@divalto.com", /* Email dupour contactle client pour l'intervention rapport (Varchar (255))*/
    "generictypeoperationrange_ID_status": null"", /* Statut de l'intervention. Si vide on le positionne à l'intégration dans weavy lors d'une création (READYTOPLAN par défaut) Code opération/gamme (ForeignKey () - sw_data_operationrange.codeoperationrange)*/
    "generictype_ID_followup": "INTERVENTION_FOLLOWUP-INTERVENTION", /* Code suite à donner (ForeignKey () - sw_data_generictype.codegenerictype avec dataTypedatatype = INTERVENTION_STATUSFOLLOWUP)*/
    "estimatedDurationcommentFollowup": 240"", /* Commentaire suite à donner (Text (65535))*/
Durée   estimée. Si le type d'intervention a une durée, la remettre ici (Int "invoiceOutsideScope": "", /* Facturation hors garantie/contrat (Valeurs possibles : 0,1) (Bool ())*/
    "interventionprioritydeal_ID": null"", /* Priorité d'intervention. Si vide, on le positionne à l'intégration dans weavy (LOW par défaut)Code affaire (ForeignKey () - sw_data_interventionprioritydeal.codeinterventionprioritycodedeal)*/
    "requestedDatedealelement_ID": "2019-10-26 00:00:00", /* Code Dateélément d'interventionaffaire demandée (DateTimeForeignKey () - sw_data_dealelement.codedealelement)*/
    "contracttimetypeactivity_ID": null"", /* Code du contrat si lié à un contrat activité (ForeignKey () - sw_data_contracttimetypeactivity.codecontractcodetimetypeactivity)*/
    "intervention_ID_parentcontractToBill": null"", /* CodeContrat deà l'interventionfacturer parente (nécessiteValeurs quepossibles la parente a été créée avant celle-ci: 0,1) (ForeignKeyVarchar () - sw_data_intervention.codeintervention64))*/
    "branchofficeinterventionrequest_ID": null"", /* Code de l'agence de rattachement. Si vide on le positionne à l'intégration dans weavy lors d'une créationdemande d'intervention (ForeignKey () - sw_data_branchofficeinterventionrequest.codebranchofficecodeinterventionrequest)*//
    "externalID": "DTR           "reportEmail": "", /* Email pour le1 rapport (Varchar (255))*/     "operationrange_ID": C12"", /* CodeOrigine opération/gammeexterne (ForeignKeyVarchar () - sw_data_operationrange.codeoperationrange64))*/
    "generictypesymptom_ID_followup": "INTERVENTION_FOLLOWUP-INTERVENTION", /* Code suite à donnersymptôme (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = INTERVENTION_FOLLOWUPsymptom.codesymptom)*/
    "commentFollowupsymptomNotes": "", /* CommentaireNotes suiteliées àaux donnersymptômes (Text (65535))*/
    "invoiceOutsideScopedateToCheckContractOrWarrantyOnFollowUp": "", /* Date Facturationde vérification horsdu garantie/contrat (Valeursou possiblesde : 0,1)la garantie (BoolDateTime ())*/
    "dealgenerictype_ID_managementMode": "", /* Code affaire (ForeignKey () - sw_data_deal.codedeal)*/
    "dealelement_ID": "INTERVENTION_MANAGEMENT_MODE-BO_WITH_PLANNING", /* CodeMode élémentde d'affairegestion (ForeignKey () - sw_data_dealelement.codedealelementgenerictype.codegenerictype avec datatype = INTERVENTION_MANAGEMENT_MODE)*/
    "timetypeactivity_IDadditionalExternalID": "", /* Origine Codeexterne activitécomplémentaire (ForeignKeyVarchar () - sw_data_timetypeactivity.codetimetypeactivity255))*/
    "contractToBillbillingComment": "", /* ContratCommentaire à facturerfacturation (Valeurs possibles : 0,1) (VarcharText (6465535))*/
    "interventionrequestgenerictype_ID_billingFollowUp": "", /* CodeSuivi demandede d'interventionfacturation (ForeignKey () - sw_data_interventionrequest.codeinterventionrequestgenerictype.codegenerictype avec datatype = INTERVENTION_BILLING_FOLLOWUP)*/
    "externalIDnonBillable": "DTR0", /* Non facturable (Valeurs possibles           1         C12", /* Origine externe (Varchar (64: 0,1) (Bool ())*/
    "symptomcustomer_ID_billed": "C0000002", /* CodeTiers symptômefacturé (ForeignKey () - sw_data_symptomcustomer.codesymptomcodecustomer)*/
    "symptomNotesgenerictype_ID_nonBillableReason": "", /* NotesMotif liéesnon auxfacturable symptômes (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 : Reprendrereprendre le code intervention du bloc json "intervention"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: 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. ReprendreOptionnel : 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. ReprendreOptionnel : 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)*/      
    }
  ]
}

...