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

You are viewing an old version of this content. View the current version.

afficher les différences View Version History

Vous regardez la version actuelle de cette page. (v. 1) afficher la version suivante »

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.

{  
  "contract": {
    "codecontract": "C0000001-77", /* Code globalement unique du contrat (Varchar (255))*/
    "label": "Test contrat", /* Libellé du contrat (Varchar (255)*/
    "description": "description", /* Description du contrat (Text (65535)*/
    "contractNumber": "CONTRACT_000077", /* N° de contrat (Varchar (64))*/
    "startDate": "2020-06-01", /* Date de début (DateTime ())*/
    "endDate": null, /* Date de fin (DateTime ())*/
    "limitDate": null, /* Date d'échéance (DateTime ())*/
    "customer_ID": "C0000001", /* Code client ForeignKey () - sw_data_customer.codecustomer)*/
    "amount": "200", /* Montant (Double ())*/
    "dunningDateValue": null, /* Valeur date de relance (Int ())*/
    "generictype_ID_dunningDateUnit": null, /* Code unité pour la date de relance (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = TIME_INTERVAL_UNIT)*/
    "generictype_ID_status": "CONTRACT_STATUS-NEW", /* Statut du contrat. On le positionne à l'intégration dans weavy lors d'une création (CONTRACT_STATUS-NEW par défaut) (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CONTRACT_STATUS)*/
    "contract_ID_parent": null, /* Code contrat parent (nécessite que le parente a été créée avant celui-ci) (ForeignKey () - sw_data_contract.codecontract)*/
    "contracttype_ID": "LICENCE", /* Code type de contrat (ForeignKey () - sw_data_contracttype.codecontracttype)*/
    "customerReference": null, /* Référence du contrat chez le client (Varchar (255))*/
    "deal_ID": "", /* Code affaire (ForeignKey () - sw_data_deal.codedeal)*/
    "dealelement_ID": "", /* Code élément d'affaire (ForeignKey () - sw_data_dealelement.codedealelement)*/
    "contractmodel_ID": "", /* Code contrat modèle (ForeignKey () - sw_data_contractmodel.codecontractmodel)*/
    "internalcodecontract": null /* codecontract original de weavy pour transcodage (Varchar (255))*/    
  },
  "contractbilling": [  
  {
    "codecontractbilling": "C0000001-77", /* Code facturation du contrat. On peut utiliser codecontract si une seule facturation pour un contrat (Varchar (255))*/
    "contract_ID": "C0000001-77", /* Code du contrat. Reprendre le code contrat du bloc json "contract" (ForeignKey () - sw_data_contract.codecontract)*/
    "startDate": "2020-06-01", /* Date de début de facturation (DateTime ())*/
    "endDate": "", /* Date de fin de facturation (DateTime ())*/
    "frequency_ID": "", /* Code fréquence (ForeignKey () - sw_data_frequency.codefrequency)*/
    "workforceIncluded": "1", /* Main d'œuvre incluse (Valeurs possibles : 0,1) (Bool ()) */
    "partsIncluded": "1", /* Pièces incluses (Valeurs possibles : 0,1) (Bool ()) */
    "travelsIncluded": "1", /* Déplacements inclus (Valeurs possibles : 0,1) (Bool ()) */
    "amount": "200" /* Montant (Double ())/
   }]  
}

verb: LIST
resultType: simple, extended reprendre les définitions du GET

"filters:" {
  "codeContract": "value", filter is equal
  "contractNumber": "value", filter is equal
  "label": "value", filter is contains
  "codeCustomer": "value", filter is equal
  "contractType": "value", filter is equal
  "codeDeal": "value", filter is equal
  "codeStatus": "value", filter is equal
  "codeEquipment": "value" filter is equal
},
"orderBy": "value"

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.

  • Aucune étiquette