Résumé
Manipulation de l'entité CustomerContact (Contacts des clients) en lecture/écriture/suppression via un objet métier depuis une application externe.
Tables
Les tables utilisées sont :
- sw_data_customercontact : Table des contacts des tiers
Critères d'activation
WHK_CustomerContact est défini dans la gestion des webhooks du studio.
Fonctionnement
verb: GET
resultType: simple
"customercontact":{
"codecustomercontact":"C0000001-DJ",
"customer_ID":"C0000001",
"generictype_ID_civility":"M",
"lastName":"DENEIR",
"firstName":"Jacques",
"address1":"1b rue Darwin",
"address2":"",
"address3":"",
"postalCode":"21000",
"city":"DIJON",
"phoneNumber":"05 55 79 56 92",
"faxNumber":"05 55 79 56 11",
"mobilePhoneNumber":"06 07 08 09 10",
"email":"jdeneir@nebout.div",
"generictype_ID_country":"FR",
"generictype_ID_province":"",
"baseculture_ID":"",
}
verb: GET
resultType: extended
"customercontact":{
"codecustomercontact":"C0000001-DJ",
"customer_ID":"C0000001",
"generictype_ID_civility":"M",
"lastName":"DENEIR",
"firstName":"Jacques",
"address1":"1b rue Darwin",
"address2":"",
"address3":"",
"postalCode":"21000",
"city":"DIJON",
"phoneNumber":"05 55 79 56 92",
"faxNumber":"05 55 79 56 11",
"mobilePhoneNumber":"06 07 08 09 10",
"email":"jdeneir@nebout.div",
"generictype_ID_country":"FR",
"generictype_ID_province":"",
"baseculture_ID":"",
"gpsLongitude":"",
"gpsLatitude":"",
"description":"Acheteur direct",
"generictype_ID_position":"Responsable commercial",
"birthday":"1980-09-18",
"mainContact":"0",
"generictype_ID_service":"Commercial",
"skype":"",
"bouncedEmailDetected":"",
"closedDate":"",
"twitter":"",
"linkedin":""
}
Verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables generictype_civility, customer, generictype_position, generictype_country, generictype_province, generictype_service et baseculture.
"related":[
{
"generictype_civility":{
"codegenerictype":"CIVILITY-M",
"label":"Monsieur",
"originalCode":"M",
"dataType":"CIVILITY",
"description":"",
"translationKey":"GenType_CIVILITY-M",
"generictype_ID_parent":"",
"tag":"",
"orderNumber":""
},
"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
{
"customercontact": {
"codecustomercontact": "C0000001-DJ", /* Code globalement unique de contact client (Varchar (255))*/
"customer_ID": "C0000001", /* Code client (ForeignKey () - sw_data_customer.codecustomer)*/
"generictype_ID_civility": "CIVILITY-Mr", /* Code civilité (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CIVILITY)*/
"lastName": "DENEIR", /* Nom (Varchar (255))*/
"firstName": "Jacques", /* Prénom (Varchar (255))*/
"address1": "1b rue Darwin", /* 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": "05 55 79 56 92", /* N° de téléphone (Varchar (64))*/
"mobilePhoneNumber": "06 07 08 09 10", /* N° de portable (Varchar (64))*/
"faxNumber": "05 55 79 56 11", /* N° de télécopie (Varchar (64))*/
"email": "jdeneir@nebout.div", /* Email (Varchar (255))*/
"description": "Acheteur direct", /* Description (Varchar (255))*/
"generictype_ID_position": "CONTACT_POSITION-rcom", /* Code fonction (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CONTACT_POSITION)*/
"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)*/
"generictype_ID_service": "SERVICE-CIAL", /* Code service(ForeignKey () - sw_data_generictype.codegenerictype avec datatype = SERVICE)*/
"birthday": "1980-09-18", /* Date d'anniversaire (DateTime ())*/
"mainContact": "0", /* Contact principal (Valeurs possibles : 0,1) (Bool ())*/
"baseculture_ID": "", /* Code culture (ForeignKey () - sw_data_baseculture.codebaseculture)*/
"bouncedEmailDetected": "", /* Date email NPAI (N'habite Pas/Plus à l’Adresse Indiquée) (DateTime ())*/
"closedDate": "", /* Date d'archivage (DateTime ())*/
"skype": "", /* Skype (Varchar (255))*/
"twitter": "", /* Twitter (Varchar (255))*/
"linkedin": "", /* LinkedIn (Varchar (255))*/
"internalCodeCustomerContact": null, /* CodeCustomerContact 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)) */
/* Optionnel : pour mettre à jour les champs dynamiques selon paramétrage */
/* Exemple 1 : */
"dynamicfields":
[{
"fieldname": "t10",
"fieldvalue": "Formation marketing 2.0"
},
{
"fieldname": "t20",
"fieldvalue": "Formation commerciale expert"
},
{
...
}]
/* Exemple 2 : */
/* A partir de la version SUMMER'21, le mappage direct des champs dynamiques est possible en utilisant le nom du champ en bdd */
"v_t10": "Formation marketing 2.0",
"v_t20": "Formation commerciale expert",
...
}
}
verb: LIST
resultType: simple, extended, extendedRelated reprendre les définitions du GET
"filters:" {
"codeCustomerContact": "value", filter is equal
"codeCustomer": "value", filter is equal
"lastName": "value", filter is contains
"firstName": "value", filter is contains
"birthday": "value", filter is greater or equal to
"birthdayBetween": "value1|value2", filter is between value1 and value2
"codeCountry": "value" filter is equal
"email": "value" filter is equal
"emailDomain": "value" filter is endswith
}