WebHook Suspect Contact (V6.0)
Résumé
Manipulation de l'entité SuspectContact (Contacts des suspects) 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
Les tables liées sont :
sw_data_customeraddresscustomercontact : Table des adresses liées aux contacts du suspect
Critères d'activation
WHK_SuspectContact est défini dans la gestion des webhooks du studio.
Règles métier
verb: PUT
Contact principal
A la fin de la création/modification d’un contact si celui-ci est un contact principal (sw_data_customercontact.mainContact = 1) et que le suspect rattaché est un particulier (sw_data_customer.isIndividual = 1), le suspect sera automatiquement mis à jour
Fonctionnement
verb: GET
resultType: simple
"suspectcontact":{
"codesuspectcontact": "S0000001-DJ",
"suspect_ID": "S0000001",
"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
"suspectcontact":{
"codesuspectcontact": "S0000001-DJ",
"suspect_ID": "S0000001",
"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": "FR-FR",
"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": "",
"decisionMaker": "",
"suspectcontact_ID_superior": "",
"erpContactID": ""
}
verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables generictype_civility, prospect, generictype_position, generictype_country, generictype_province, generictype_service et baseculture
"related":[
{
"suspect":{
"codesuspect": "S0000001",
"name": "CHEZ SOI",
"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": "S0000001",
"contactName": "",
"currency_ID": "",
"authorizedCredit": "0",
"risk": "1",
"underSurveillance": "",
"workforce": "25",
"suspect_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_suspectType": "CTSUS",
"generictype_ID_suspectFamily": "",
"confirmationEmail": "contact@guichard.com",
"confirmationFax": "03 90 11 22 44",
"generictype_ID_taxCode": "",
"productdepot_ID": "",
"generictype_ID_accountingCategory": "",
"generictype_ID_suspectPotential": "B",
"generictype_ID_civility": "",
"skype": "contact@guichard.com",
"generictype_ID_role": "",
"unused": "0",
"prospectgroup_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": ""
},
"generictype_civility":{
"codegenerictype": "CIVILITY-M",
"label": "Monsieur",
"originalCode": "M",
"dataType": "CIVILITY",
"description": "",
"translationKey": "GenType_CIVILITY-M",
"generictype_ID_parent": "",
"tag": "",
"orderNumber": ""
},
"generictype_country": {
"codegenerictype": "COUNTRY-FR",
"label": "FRANCE",
"originalCode": "FR",
"dataType": "COUNTRY",
"description": "",
"translationKey": "GenType_COUNTRY-FR",
"generictype_ID_parent": "",
"tag": "",
"orderNumber": ""
},
"generictype_province": {
"codegenerictype": "",
"label": "",
"originalCode": "",
"dataType": "",
"description": "",
"translationKey": "",
"generictype_ID_parent": "",
"tag": "",
"orderNumber": ""
},
"baseculture": {
"codebaseculture": "FR-FR",
"label": "French - France",
"codelanguage": "FR"
},
"generictype_position": {
"codegenerictype": "CONTACT_POSITION-2",
"label": "Responsable commercial",
"originalCode": "2",
"dataType": "CONTACT_POSITION",
"description": "",
"translationKey": "GenType_CONTACT_POSITION-2",
"generictype_ID_parent": "",
"tag": "",
"orderNumber": ""
},
"generictype_service": {
"codegenerictype": "SERVICE-COMM",
"label": "Commercial",
"originalCode": "COMM",
"dataType": "SERVICE",
"description": "",
"translationKey": "",
"generictype_ID_parent": "",
"tag": "",
"orderNumber": ""
}
}]
verb: PUT
{
"suspectcontact": {
"codesuspectcontact": "S0000001-DJ", /* Code globalement unique de contact suspect (Varchar (255))*/
"suspect_ID": "S0000001", /* Code suspect (ForeignKey () - sw_data_customer.codecustomer)*/
"lastName": "DENEIR", /* Nom (Varchar (255))*/
"firstName": "Jacques", /* Prénom (Varchar (255))*/
"generictype_ID_civility": "CIVILITY-Mr", /* Code civilité (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CIVILITY)*/
"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))*/
"decisionMaker": "0", /* Décideur (Valeurs possibles : 0,1) (Bool ())*/
"erpContactID": "", /* ID contact ERP (Varchar (255))*/
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAEsAAACQCAYAAABAt5Y ....", /* Fichier du profil du contact encodé en base 64 (MediumBlob ())*/
"internalcodesuspectcontact": null /* Code contact suspect original de weavy pour recodification (Varchar (255))*/
},
"suspectaddresssuspectcontact": [
{
"codesuspectaddresssuspectcontact": "", /* Code globalement unique d'un lien d'adresse. Si non fourni code=ID (Vachar(255))*/
"suspectcontact_ID": "", /* Code contact. Reprendre le code contact du bloc json "suspectcontact", si non fourni reprend automatiquement le code contact (ForeignKey () - sw_data_customercontact.codecustomercontact)*/
"suspectaddress_ID" : "S0000001-SXB" /* Code de l'adresse. (ForeignKey () - sw_data_customeraddress.codecustomeraddress)*/
}
]
}
verb: LIST
resultType: simple, extended reprendre les définitions du GET
"filters:" {
"codeSuspectContact": "value", filter is equal
"codeSuspect": "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 (ie "emailDomain": "@domaine.extension")
"notClosedBefore": "value", filter is (closedDate is null OR closedDate > value)
"closedAfter": "value", filter is closedDate > value
"closedBefore": "value" filter is closedDate < value
},
"orderBy": "value"
Valeurs possibles pour le tri "orderBy" :
lastNameAscfirstNameAsc : par nom et prénom ascendant