Résumé
Manipulation de l'entité Opportunity (Opportunités) en lecture/écriture/suppression via un objet métier depuis une application externe.
Remarque
Avant la Summer' 22, les opportunités étaient gérées par le webhook Deal.
Tables
Les tables utilisées sont :
...
sw_data_customeraddressdeal : Table des adresses d’opportunités
sw_data_dealstep : Table des étapes d’opportunités
Critères d'activation
WHK_Opportunity est défini dans la gestion des webhooks du studio.
Règles métier
verb: PUT
La date de création est mise par défaut à la date du jour (creationDate) si non fournie lors d'une création
Le statut est mis par défaut à 'Active' (generictype_ID_status = ACTIVE) si non fourni lors d'une création
L'ajout d'éléments (dealelement) n'est pas autorisé pour une opportunité
Fonctionnement
settings parameters
Bloc de code | ||
---|---|---|
| ||
"settings": { "getPartners": "1" // pour le verb GET et LIST permet de retourner les informations des partenaires de l'opportunité } |
...
Bloc de code | ||
---|---|---|
| ||
{ "opportunity": { "codeopportunity": "PRJ000011", /* Code globalement unique de l'opportunité (Varchar (255))*/ "customer_ID": "C0000001", /* Code client (ForeignKey () - sw_data_customer.codecustomer)*/ "label": "Vitrine de magasin", /* Libellé (Varchar (255))*/ "generictype_ID_opportunityType": "DEAL_DEALTYPE-PRJ", /* Code type d'opportunité (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = DEAL_DEALTYPE) et generictype_ID_parent = PROJECT*/ "opportunityNumber": "PRJ000011", /* N° d'opportunité (Varchar (64))*/ "description": "", Description (Text (65535))*/ "creationDate" : "2021-12-01", /* Date de création (DateTime ())*/ "closingDate": "", /* Date de fin (DateTime ())*/ "amount": "300", /* Montant (Double ())*/ "probability": "55", /* Probabilité (en %) (Int ())*/ "generictype_ID_lossReason": "", /* Code raison de la perte (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = DEAL_LOSTREASON)*/ "lossReasonComment": "", /* Commentaire perte (Text (65535))*/ "customer_ID_introducer": "", /* Code client apporteur d'affaire (ForeignKey () - sw_data_customer.codecustomer) "baseuser_ID": "", /* Code responsable (ForeignKey () - sw_data_baseuser.codebaseuser)*/ "amount2": "", /* Montant 2 (Double ())*/ "generictype_ID_status": "OPPORTUNITY_STATUS-1", /* Statut (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = OPPORTUNITY_STATUS)*/ "realClosingDate": "", /* Date de fin réelle (DateTime ())*/ "opportunitystep_ID_current": "", /* Code étape actuelle (ForeignKey () - sw_data_dealstep.codedealstep)*/ "manualProbability": "0", /* Probabilité manuelle (Valeurs possibles : 0,1) (Bool ())*/ "marketinglead_ID_origin": "", /* Code lead marketing d'origine (ForeignKey () - sw_data_marketinglead.codemarketinglead)*/ "customercontact_ID": "C0000001-DJ", /* Code contact client (ForeignKey () - sw_data_customercontact.codecustomercontact)*/ "internalcodeopportunity": null /* Code opportunité 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": "prj10", "fieldvalue": "100000" }, { "fieldname": "prj30", "fieldvalue": "Jean-René Abraham" }, { ... }] /* 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_prj10": "100000", "v_prj30": "Jean-René Abraham", ... }, "customeraddressopportunity": [ { "codecustomeraddressopportunity": "", /* Code globalement unique d'un lien d'adresse. Si non fourni code=ID (Vachar(255))*/ "opportunity_ID": "", /* Code opportunity. ReprendreOptionnel : reprendre le code opportunityopportunité du bloc json "opportunity"., Sisi non fourni, sera alimenté automatiquement. reprend automatiquement le code opportunité (ForeignKey () - sw_data_deal.codedeal)*/ "customeraddress_ID" : "C0000001-SXB" /* Code de l'adresse. (ForeignKey () - sw_data_customeraddress.codecustomeraddress)*/ }], "opportunitystep": [ { "codeopportunitystep": "" /* Code gloablement unique de l'étape d'opportunité. Si non fourni code=ID (Vachar(255))*/ "opportunity_ID": "", /* Code opportunité. Optionnel : Reprendrereprendre le code opportunité du bloc json "dealopportunity"., Sisi non fourni, sera alimenté automatiquement. reprend automatiquement le code opportunité (ForeignKey () - sw_data_deal.codedeal)*/ "opportunitysteptype_ID": "DEAL_STEP-PRJ-C" /* Code type d'étape d'opportunité (ForeignKey () - sw_data_dealsteptype.codedealsteptype)*/ "stepDate": "2023-09-12 10:00", /* Date-Heure de l'étape d'opportunité. Si non fourni, on prend l'heure courrante (DateTime ()) "comment": "" /* Commentaire (Text (65535))*/ }] } |
...