Synchronisation des consentements au suivi comportemental par services Web

Modifié le : Mar, 30 Juin, 2026 à 10:33 H

La méthode Contacts.Merge permet de synchroniser différentes données de contacts en ajoutant des nouveaux contacts ou en modifiant les données de contacts existants. Cette méthode sert entre autres à synchroniser les statuts de consentements au suivi comportemental depuis un système externe (site Web, CRM, application) vers un projet Dialog Insight. Par exemple, un visiteur sur votre site Web remplit un formulaire et coche une case pour donner son consentement à être suivi. Les infos du formulaire concernant le consentement sont transférées avec un appel à la méthode Contacts.Merge. Cet article présente différentes façons d'écrire la requête selon le cas.

→ Méthode Contacts.Merge (Plateforme Canada)
→ Méthode Contacts.Merge (Plateforme France)


Lectures recommandées


Précisions sur les consentements au suivi comportemental

La valeur associée à un consentement au suivi comportemental indique si le contact consent (1) ou ne consent pas (0). True/false est aussi accepté comme valeur.
"hasTrackingConsent": "1"

Le champ de date indique quand le consentement a été ajouté ou mis à jour. La date doit être au format AAAA.MM.DD.
"dtTrackingConsent": "2026.10.24"


Cas 1 : Créer un contact

Objectif : Créer un nouveau contact dans Dialog Insight en incluant le consentement au suivi comportemental et les infos de base (nom et prénom).

    "AuthKey": {
         "idKey": 5335,
         "Key": "abcdefghijklmnopkrstuvwxyz"
    },
     "idProject": 123456,
//Dans cet exemple, on crée 2 contacts et on ajoute leur consentement au suivi comportemental.
    "Records": [
        {
            "ID": {
                 "key_f_EMail": "claire@domain.com"
            },
            "Data": {
                 "f_FirstName": "Claire",
                 "f_LastName": "Samson",
                 "hasTrackingConsent": "1",
                 "dtTrackingConsent": "2026.10.24"
            }
        },
        {
            "ID": {
                "key_f_EMail": "marc@domain.com"
            },
            "Data": {
                 "f_FirstName": "Marc",
                 "f_LastName": "Tremblay",    
                 "hasTrackingConsent": "1",
                 "dtTrackingConsent": "2026.10.24"
            }
        },
    ],

    "MergeOptions": {
        "AllowInsert": true,
        "AllowUpdate": false,
        "SkipDuplicateRecords": false,
        "SkipUnmatchedRecords": false,
        "ReturnRecordsOnSuccess": false,
        "ReturnRecordsOnError": false,
        "FieldOptions": null
    }
}
// Mettre AllowInsert à true pour permettre l'ajout de nouveaux contacts.



Cas 2 : Mise à jour des statuts de consentement

Objectif : Modifier le statut de consentement d'un contact existant en limitant les données envoyées aux champs de consentement au suivi comportemental (afin d'éviter d'écraser des données existantes dans le profil des contacts). 

    "AuthKey": {
         "idKey": 5335,
         "Key": "abcdefghijklmnopkrstuvwxyz"
    },
     "idProject": 123456,

// Dans cet exemple, on met à jour 3 contacts. 
// Claire et Marc acceptent le suivi comportemental (1), tandis que Paul refuse (0).
    "Records": [
        {
            "ID": {
                "key_f_EMail": "claire@domain.com"
            },
            "Data": {
                "hasTrackingConsent": "1",
                 "dtTrackingConsent": "2026.10.24"
            }
        },
        {
            "ID": {
                "key_f_EMail": "marc@domain.com"
            },
            "Data": {
                "hasTrackingConsent": "1",
                 "dtTrackingConsent": "2026.10.24"
            }
        },
        {
            "ID": {
                "key_f_EMail": "paul@domain.com"
            },
            "Data": {
                "hasTrackingConsent": "0",
                "dtTrackingConsent": "2026.10.24"
            }
        },
    ],

    "MergeOptions": {
        "AllowInsert": false,
        "AllowUpdate": true,
        "SkipDuplicateRecords": false,
        "SkipUnmatchedRecords": false,
        "ReturnRecordsOnSuccess": false,
        "ReturnRecordsOnError": false,
        "FieldOptions": null
    }
}
//Mettre AllowUpdate à true pour que les contacts existants soient mis à jour. 



Cas 3 : Synchronisation complète

Objectif : Créer des nouveaux contacts et modifier les statuts de consentements de suivi comportemental des contacts existants.

    "AuthKey": {
         "idKey": 5335,
         "Key": "abcdefghijklmnopkrstuvwxyz"
    },
     "idProject": 123456,

// Dans cet exemple, on crée 2 contacts (Claire et Marc). 
// Leur statut est ajouter pour indiquer qu'ils acceptent le suivi comportemental.
// Pour Paul, un contact existant, son statut est mis à jour pour indiquer qu'il refuse.
    "Records": [
        {
            "ID": {
                 "key_f_EMail": "claire@domain.com"
            },
            "Data": {
                 "f_FirstName": "Claire",
                 "f_LastName": "Samson",
                 "hasTrackingConsent": "1",
                 "dtTrackingConsent": "2026.10.24"
            }
        },
        {
            "ID": {
                "key_f_EMail": "marc@domain.com"
            },
            "Data": {
                 "f_FirstName": "Marc",
                 "f_LastName": "Tremblay",    
                 "hasTrackingConsent": "1",
                 "dtTrackingConsent": "2026.10.24"
            }
        },
        {
            "ID": {
                "key_f_EMail": "paul@domain.com"
            },
            "Data": {
                "hasTrackingConsent": "0",
                "dtTrackingConsent": "2026.10.24"
            }
        },
    ],

    "MergeOptions": {
        "AllowInsert": true,
        "AllowUpdate": true,
        "SkipDuplicateRecords": false,
        "SkipUnmatchedRecords": false,
        "ReturnRecordsOnSuccess": false,
        "ReturnRecordsOnError": false,
        "FieldOptions": null
    }
}
// Mettre AllowInsert à true pour permettre l'ajout de nouveaux contacts.
// Mettre AllowUpdate à true pour que les contacts existants soient mis à jour.

Bonnes pratiques

  • Limiter les appels aux données concernant le consentement pour les mises à jour. 
  • Vérifier dans la liste des contacts si l'import s'est bien déroulé.
  • Utiliser la propriété NullHandling pour gérer les valeurs vides. 

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons
La vérification CAPTCHA est requise.

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article