WebHook Contract (V5.3)
Résumé
Manipulation de l'entité Contract (Contrats) en lecture/écriture/suppression via un objet métier depuis une application externe.
Tables
Les tables utilisées sont :
sw_data_contract : Table des contrats
Les tables liées sont :
sw_data_contractbilling : Table de la facturation des contrats
Critères d'activation
WHK_Contract est défini dans la gestion des webhooks du studio.
Fonctionnement
verb: GET
resultType: simple
"contract":{
"codecontract": "C0000001-77",
"label": "Test contrat",
"contractNumber": "CONTRACT_000077",
"customer_ID": "C0000001",
"generictype_ID_status": "NEW",
"contracttype_ID": "Abonnement licence"
}
verb: GET
resultType: extended
"contract":{
"codecontract": "C0000001-77",
"label": "Test contrat",
"contractNumber": "CONTRACT_000077",
"customer_ID": "C0000001",
"generictype_ID_status": "NEW",
"contracttype_ID": "Abonnement licence",
"description": "description",
"startDate": "2020-01-06 00:00:00",
"endDate": "",
"limitDate": "",
"amount": "200",
"interventiontype_ID": "",
"frequency_ID": "",
"dunningDateValue": "",
"generictype_ID_dunningDateUnit": "",
"contract_ID_parent": "",
"closingDate": "",
"customerReference": "",
"version": "2",
"amendmentNumber": "",
"deal_ID": "",
"dealelement_ID": "",
"contractmodel_ID": ""
}
verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables contracttype, customer, generictype_status, deal et dealelement
"related":[
{
"contracttype":{
"codecontracttype": "LICENCE",
"label": "Abonnement licence",
"prefix": "",
"numberLength": "",
"counter": "",
"generictype_ID_badgeColor": ""
},
"customer":{
"codecustomer": "C0000001",
"name": "ENTREPRISE DIJON GUICHARD",
"baseuser_ID": "",
"address1": "33 Avenue du Drapeau",
"address2": "",
"address3": "",
"postalCode": "21000",
"city": "DIJON",
"phoneNumber": "03 90 11 22 33",
"faxNumber": "03 90 11 22 44",
"mobilePhoneNumber": "06 90 11 22 33",
"email": "contact@guichard.com",
"deliveryDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B",
"openingDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B",
"siretNumber": "",
"vatIntra": "",
"apeCode": "516K",
"comment": "",
"blocked": "0",
"blockedComment": "",
"message": "",
"vacationStart": "",
"vacationEnd": "",
"gpsLongitude": "5.04372",
"gpsLatitude": "47.33222",
"gpsPrecision": "8",
"gpsUpdateDate": "2020-09-03 23:02:12",
"gpsManual": "",
"accountNumber": "C0000001",
"contactName": "",
"currency_ID": "",
"authorizedCredit": "0",
"risk": "1",
"language": "",
"underSurveillance": "",
"workforce": "25",
"customer_ID_paying": "",
"pricecategory_ID": "",
"discountRate": "0",
"website": "<https://www.guichard.com",>
"legalStatus": "Société Anonyme avec Directoire",
"generictype_ID_brand": "",
"generictype_ID_deliveryMode": "",
"generictype_ID_paymentMean": "",
"generictype_ID_country": "FR",
"generictype_ID_province": "",
"generictype_ID_customerType": "CTC",
"generictype_ID_customerFamily": "",
"confirmationEmail": "contact@guichard.com",
"confirmationFax": "03 90 11 22 44",
"generictype_ID_taxCode": "",
"productdepot_ID": "",
"generictype_ID_accountingCategory": "",
"generictype_ID_customerPotential": "B",
"generictype_ID_civility": "",
"skype": "contact@guichard.com",
"generictype_ID_role": "",
"unused": "0",
"customergroup_ID": "",
"generictype_ID_referencing": "2",
"generictype_ID_distribution": "SELF",
"generictype_ID_market": "BIG",
"area": "",
"baseculture_ID": "FR-FR",
"baseuser_ID_favoriteTechnician": "TECH-01",
"branchoffice_ID": "SXB",
"emailFormat": "",
"isIndividual": "0",
"facebook": "<https://www.facebook.com/guichard/",>
"twitter": "<https://twitter.com/guichard",>
"youtube": "<https://www.youtube.com/watch?v=6jGbnEwQJ54",>
"linkedin": "<https://www.linkedin.com/company/guichard",>
"activity": ""
}
}]
verb: PUT
Selon webhookVersion renseigné dans le header :
webhookVersion = 1 -> les blocs json contracttype, customer et site sont obligatoires.
webhookVersion = 2 -> les blocs json contracttype, 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 (contracttype, customer et customeraddress) en amont. Valeur par défaut si non renseigné.
La description pour webhookVersion = 1 peut être consultée dans les pages de la version Divalto weavy 5.5 et antérieures.
verb: LIST
resultType: simple, extended reprendre les définitions du GET
Valeurs possibles pour le tri "orderBy" :
contractNumberAsc : par n° de contrat ascendant
startDateDesc : par date de début descendant
startDateAsc : par date de début ascendant
verb: DELETE
Une suppression d'un contrat (sw_data_contract) va supprimer en cascade les éléments dans la table liée sw_data_contractbilling.