Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

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
languagejson
"settings":
{
  "getPartners": "1" // pour le verb GET et LIST permet de retourner les informations des partenaires de l'opportunité
}

...

Bloc de code
languagejson
{
  "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))*/
  }]
}

...