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": ""
}
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.
{
"contracttype": {
"codecontracttype": "LICENCE", /* Code globalement unique du type de contrat (Varchar (255))*/
"label": "Abonnement licence", /* Libellé du type de contrat (Varchar (255)*/
"internalcodecontracttype": null /* codecontracttype original de weavy s'il y a eu transcodage (Varchar (255)) */
},
"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)*/
"internalcodecontract": null, /* CodeContract original de weavy s'il y a eu transcodage (Varchar (255)) */
"internalCodeCustomer": null /* CodeCustomer original de weavy s'il y a eu 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 ())/
}],
"site": {
"codecustomeraddress": "C0000001-BDX", /* Code globalement unique d'une adresse client (Varchar (255))*/
"customer_ID": "C0000001", /* Code client ForeignKey () - sw_data_customer.codecustomer)*/
"name": "ENTREPÔT GUICHARD", /* Nom de l'adresse client (Varchar (255))*//* Nom de l'adresse client (Varchar (255))*/
"address1": "15 Avenue Champollion", /* Adresse 1 (Varchar (255))*/
"address2": null, /* Adresse 2 (Varchar (255))*/
"address3": null, /* Adresse 3 (Varchar (255))*/
"postalCode": "21000 ", /* Code postal (Varchar (16))*/
"city": "Dijon", /* Ville (Varchar (64))*/
"phoneNumber": "03 90 22 75 45", /* N° de téléphone (Varchar (64))*/
"faxNumber": "03 90 22 75 40", /* N° de télécopie (Varchar (64))*/
"mobilePhoneNumber": null, /* N° de portable (Varchar (64))*/
"email": null, /* Email (Varchar (255))*/
"generictype_ID_country": "COUNTRY-FR", /* Code pays (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = COUNTRY)*/
"generictype_ID_province": null, /* Code province (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PROVINCE)*/
"billingAddress": "1", /* Adresse de facturation (Valeurs possibles : 0,1) (Bool ()) */
"defaultBillingAddress": "0", /* Adresse de facturation par défaut (Valeurs possibles : 0,1) (Bool ()) */
"deliveryAddress": "1", /* Adresse de livraison (Valeurs possibles : 0,1) (Bool ()) */
"defaultDeliveryAddress": "0", /* Adresse de livraison par défaut (Valeurs possibles : 0,1) (Bool ()) */
"areaCode": "", /* Code région (Varchar (64))*/
"contact": "M. James", /* Contact (Varchar (64))*/
"accessCode": "", /* Code d'accès (Varchar (64))*/
"floor": "", /* Etage (Varchar (64))*/
"apartment": "", /* Appartement(Varchar (64))*/
"miscInfos": "", /* Informations diverses (Text (65535))*/
"baseuser_ID_favoriteTechnician": "TECH-01", /* Code technicien préféré (ForeignKey () - sw_data_baseuser.codebaseuser)*/
"branchoffice_ID": "", /* Code de l'agence de rattachement (ForeignKey () - sw_data_branchoffice.codebranchoffice)*/
"bankholidayparamheader_ID": "", /* Code entête paramétrage jours fériés (ForeignKey () - sw_data_bankholidayparamheader.codebankholidayparamheader)*/
"baseculture_ID": "", /* Code culture (ForeignKey () - sw_data_baseculture.codebaseculture)*/
"site": "1", /* Site. Ici toujours mettre la valeur 1 car il s'agit d'une adresse qui est un site. (Valeurs possibles : 0,1) (Bool ())*/
"siteCode": "BDX", /* Code du site (Varchar (255))
"siteName": "Entrepôt Dijon", /* Nom du site (Varchar (255))*/
"erpAddressID": "BDX", /* ID adresse ERP (Varchar (255))
"internalCodeCustomeraddress": null, /* CodeCustomeraddress original de weavy s'il y a eu transcodage (Varchar (255)) */
"internalcustomer_ID": null /* CodeCustomer original de weavy s'il y a eu transcodage (Varchar (255)) */
},
"customer": {
"codecustomer": "C0000001", /* Code globalement unique du client (Varchar (255))*/
"name": "ENTREPRISE DIJON GUICHARD", /* Nom du client (Varchar (255))*/
"address1": "33 Avenue du Drapeau", /* Adresse 1 (Varchar (255))*/
"address2": null, /* Adresse 2 (Varchar (255))*/
"address3": null, /* Adresse 3 (Varchar (255))*/
"postalCode": "21000", /* Code postal (Varchar (16))*/
"city": "DIJON", /* Ville (Varchar (64))*/
"phoneNumber": "03 90 11 22 33", /* N° de téléphone (Varchar (64))*/
"faxNumber": "03 90 11 22 44", /* N° de télécopie (Varchar (64))*/
"mobilePhoneNumber": "06 90 11 22 33", /* N° de portable (Varchar (64))*/
"email": "contact@guichard.com", * Email (Varchar (255))*/
"website": "https://www.guichard.com", /* Site internet (Varchar (255))*/
"siretNumber": null, /* N° siret (Varchar (40))*/
"generictype_ID_customerType": "CUSTOMER_TYPE-CTC", /* Code type de tiers. Mettre CUSTOMER_TYPE-CTC pour un client. (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CUSTOMER_TYPE)*/
"generictype_ID_country": "COUNTRY-FR", /* Code pays (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = COUNTRY)*/
"baseuser_ID": "GRO-OUES", /* Code utilisateur (ForeignKey () - sw_data_baseuser.codebaseuser)*/
"deliveryDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B;", /* Jours de livraison (Varchar (255))*/
"openingDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B;", /* Jours d'ouverture (Varchar (255))*/
"comment": "", /* Commentaires (Text (65535))*/
"blocked": "0", /* Client bloqué (Valeurs possibles : 0,1) (Bool ())*/
"blockedComment": "", /* Commentaires client bloqué (Text (65535))*/
"message": "", /* Message (Text (65535))*/
"vacationStart": "", /* Début des congés (Date ())*/
"vacationEnd": "", /* Fin des congés (Date ())*/
"underSurveillance": "0", /* Client sous surveillance (Valeurs possibles : 0,1) (Bool ())*/
"generictype_ID_customerFamily": "CUSTOMER_FAMILY-GROSARTG", /* Code famille client (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CUSTOMER_FAMILY)*/
"generictype_ID_paymentMean": "PAYMENT_MEAN-N30", /* Code mode de règlement (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PAYMENT_MEAN)*/
"generictype_ID_deliveryMode": "DELIVERY_MODE-CHRO", /* Code mode de livraison (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = DELIVERY_MODE)*/
"pricecategory_ID": "GR", /* Code catégorie tarifaire (ForeignKey () - sw_data_pricecategory.codepricecategory)*/
"discountRate": "0.00", /* Taux de remise (Double ())*/
"authorizedCredit": "0", /* Encours autorisé (Valeurs possibles : 0,1) (Bool ())*/
"apeCode": "516K", /* Code APE (Varchar (64))*/
"vatIntra": null, /* TVA intracommunautaire (Varchar (64))*/
"legalStatus": "Société Anonyme avec Directoire", /* Forme juridique (Varchar (64))*/
"workforce": "23", /* Effectif (Int ())*/
"customer_ID_paying": null, /* Code client payeur (ForeignKey () - sw_data_customer.codecustomer)*/
"generictype_ID_taxCode": "TAX_CUSTOMER-0", /* Code TVA client (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = TAX_CUSTOMER)*/
"risk": "1", /* Risque (Varchar (64))*/
"language": "FR", /* Code langue (ForeignKey () - sw_sys_language.codelanguage)*/
"accountNumber": "C0000001", /* N° de compte principal (Varchar (64))*/
"currency_ID": "EUR", /* Code devise ForeignKey () - sw_data_currency.codecurrency)*/
"generictype_ID_province": null, /* Code province (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PROVINCE)*/
"generictype_ID_civility": "CIVILITY-SA", /* Code civilité (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CIVILITY)*/
"customergroup_ID": "", /* Code groupe client (ForeignKey () - sw_data_customergroup.codecustomergroup)*/
"confirmationFax": "03 90 11 22 44", /* N° de télécopie de confirmation (Varchar (64))*/
"confirmationEmail": "contact@guichard.com", /* Email de confirmation (Varchar (255))*/
"generictype_ID_accountingCategory": "", /* Code catégorie comptable (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = ACCOUNTING_CATEGORY)*/
"generictype_ID_customerPotential": "CUSTOMER_POTENTIAL-B", /* Code potentiel client (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CUSTOMER_POTENTIAL)*/
"generictype_ID_role": "", /* Code rôle (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = ROLE)*/
"unused": "0", /* Client inactif (Valeurs possibles : 0,1) (Bool ())*/
"generictype_ID_referencing": "PRODUCT_REFERENCING-NOTSTRICT", /* Code mode de référencement articles (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PRODUCT_REFERENCING)*/
"generictype_ID_distribution": "DISTRIBUTION-SELF", /* Code type de distribution (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = DISTRIBUTION)*/
"generictype_ID_market": "MARKET-BIG", /* Code type de magasin (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = MARKET)*/
"area": "", /* Superficie (Double ())*/
"baseculture_ID": "FR-FR", /* Code culture (ForeignKey () - sw_data_baseculture.codebaseculture)*/
"baseuser_ID_favoriteTechnician": "TECH-01", /* Code technicien préféré (ForeignKey () - sw_data_baseuser.codebaseuser)*/
"branchoffice_ID": "SXB", /* Code de l'agence de rattachement (ForeignKey () - sw_data_branchoffice.codebranchoffice)*/
"emailFormat": "", /* Format d'email (Varchar (255))*/
"isIndividual": "0", /* Client est un particulier (Valeurs possibles : 0,1) (Bool ())*/
"skype": "contact@guichard.com", /* Skype (Varchar (255))*/
"facebook": "https://www.facebook.com/guichard/", /* Facebook (Varchar (255))*/
"twitter": "https://twitter.com/guichard", /* Twitter (Varchar (255))*/
"youtube": "https://www.youtube.com/watch?v=6jGbnEwQJ54", /* YouTube (Varchar (255))*/
"linkedin": "https://www.linkedin.com/company/guichard", /* LinkedIn(Varchar (255))*/
"activity": "", /* Activité (Text (65535))*/
"internalCodeCustomer": null /* CodeCustomer original de weavy s'il y a eu transcodage (Varchar (255)) */
}
}
verb: LIST
resultType: simple, extended, extendedRelated reprendre les définitions du GET
"filters:" {
"codeContract": "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
}