Méthodes de DIL au niveau de l’instance instance-level-dil-methods

WARNING
Depuis juillet 2023, Adobe a arrêté le développement de l’extension Data Integration Library (DIL) et DIL.
Les clients existants peuvent continuer à utiliser leur implémentation DIL. Cependant, l’Adobe ne développera pas DIL au-delà de ce point. Nous recommandons aux clients d’évaluer le SDK Web Experience Platform pour leur stratégie de collecte de données à long terme.
Les clients qui souhaitent mettre en oeuvre de nouvelles intégrations de collecte de données après juillet 2023 doivent utiliser SDK Web Experience Platform à la place.

Les API DIL de niveau instance vous permettent de créer et d’utiliser par programmation des objets d’Audience Manager. Les méthodes au niveau de l’instance améliorent la fonctionnalité de l’API établie par les méthodes au niveau de la classe.

Prise en main des méthodes de DIL au niveau de l’instance get-started-dil-methods

Lors de l’utilisation des API DIL de niveau instance :

  • L’accès nécessite un nom de partenaire et un identifiant d’espace de noms de conteneur (NSID). Contactez votre gestionnaire de compte d’Audience Manager pour obtenir ces informations.
  • Remplacez tout exemple de texte italicized dans la documentation de l’API par une valeur, un identifiant ou toute autre variable, comme requis par la méthode que vous utilisez.

signals signals

Ajoute des mappages au niveau du client et de la plateforme à la chaîne de requête d’une requête en attente.

Signature de fonction : signals: function ({key1:value1, key2:value2},prefix){}

NOTE
  • Vous pouvez associer d’autres appels API à cette méthode.
  • Si la bibliothèque JavaScript Adobe Experience Cloud se trouve sur la page, submit() attend que le cloud définisse un cookie avant d’envoyer une demande.

Clés de requête réservées

Les clés de requête suivantes sont réservées et ne peuvent pas être remplacées par cette méthode :

  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest

Paramètres

Nom
Type
Description
obj
Objet
Objet représentant les paires clé-valeur pour les mappages au niveau de la plateforme. Le paramètre accepte les chaînes et les tableaux en tant que valeurs de propriété dans l’objet .
prefix
Chaîne
Facultatif. La valeur string préfixée à chaque clé d’objet (remplace la clé d’origine).
return
DIL.api
Renvoie l’objet API de l’instance de DIL actuelle.

Réponse

Renvoie l’objet API de l’instance DIL active.

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName'
     containerNSID: containerNSID
});

// Method 1
var obj = { key1 : 1, key2 : 2 };
dataLib.api.signals(obj, 'c_').submit();

// Method 2
dataLib.api.signals({c_zdid: 54321}).submit();

// Method 3
// Will send 'c_key=a&c_key=2&c_key=3' to Audience Manager
var obj = { key : ['a', 'b', 'c'] };
dataLib.api.signals(obj, 'c_').submit();

traits traits

Ajoute des SID à la chaîne de requête d’une requête en attente.

Signature de fonction : traits:function (sids){}

NOTE
Vous pouvez associer d’autres appels API à cette méthode.

Paramètres

Nom
Type
Description
sids
Tableau
Identifiants de segment de caractéristiques dans un tableau.

Réponse

Renvoie l’objet API de l’instance DIL active.

Exemple de code


var partnerObject = DIL.create({
     partner: 'partner name',
     containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);

logs logs

Ajoutez des données aux fichiers journaux dans la requête en attente.

Signature de fonction : logs: function {key1:value1, key2:value2}

Réponse

Renvoie l’objet API de l’instance DIL active.

Exemple de code


var partnerObject = DIL.create({
     partner: 'partner',
     containerNSID: NSID
});
partnerObject.api.logs({
     file: 'dil.js',
     message: 'This is the first request'
});

submit submit

Envoie toutes les données en attente à l’Audience Manager pour l’instance DIL.

Signature de fonction : submit: function () {}

NOTE
Vous pouvez associer d’autres appels API à cette méthode. DIL écrit également des données codées dans un cookie de destination. Par exemple, les espaces sont codés en tant que %20 et les points-virgules comme %3B.

Réponse

Renvoie l’objet API de l’instance DIL active.

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName',
     containerNSID: containerNSID
});

dataLib.api.traits([
123,456, 789]).logs({
     file: 'dil.js',
     message: 'This is the first request'
}).signals({
     c_zdid: 1111
     d_dma: 'default'
}).submit();

afterResult afterresult

Fonction qui s’exécute après le rappel de publication de destination par défaut.

Signature de fonction : afterResult: function (fn) {}

NOTE
Vous pouvez associer d’autres appels API à cette méthode.

Paramètres

Nom
Type
Description
fn
Fonction
La fonction que vous souhaitez exécuter après le traitement de JSON par le rappel par défaut qui traite la publication de destination.

Réponse

Renvoie un objet API de l’instance DIL active.

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName',
     containerNSID: containerNSID
});

dataLib.api.signals({
     c_zdid: 54321
     d_dma: 'default'
}).afterResult(function(json){
     //Do something with the JSON data returned from the server.
}).submit();

clearData cleardata

Efface toutes les données d’une requête en attente.

Signature de fonction : clearData: function () {}

NOTE
Vous pouvez associer d’autres appels API à cette méthode.

Réponse

Renvoie l’objet API de l’instance DIL active.

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName',
     containerNSID: containerNSID
});

dataLib.api.traits([123,456, 789]).logs({
     file: 'dil.js'
     message: 'This is the first request'
}).signals({
     c_zdid: 1111
     d_dma: 'default'
});

//Reset the pending data
dataLib.clearData();

customQueryParams customqueryparams

Ajoute des paramètres de requête personnalisés qui ne sont pas explicitement définis par le serveur de collecte de données à une requête en attente.

Signature de fonction : customQueryParams: function (obj) {}

NOTE
Vous pouvez associer d’autres appels API à cette méthode.

Clés de requête réservées

Les clés de requête suivantes sont réservées et ne peuvent pas être remplacées par cette méthode :

  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest

Réponse

Renvoie l’objet API de l’instance de DIL actuelle.

Exemple de code


var partnerObject = DIL.create({
     partner: 'partner',
     containerNSID: NSID
});
partnerObject.api.customQueryParams({
     nid: 54231,
     ntype: 'default'
});

getContainerNSID getcontainernsid

Renvoie la valeur du conteneur NSID pour l’instance DIL. Utile pour le débogage et le dépannage.

Signature de fonction : dil.api.getContainerNSID: function () {}

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName',
     containerNSID: containerNSID
});

//Verify the container NSID
var nsid = dataLib.api.getContainerNSID();

getEventLog geteventlog

Renvoie les données du journal des événements triées chronologiquement sous la forme d’un tableau de chaînes. Utile pour le débogage et le dépannage.

Signature de fonction : dil.api.getEventLog: function () {}

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName',
     containerNSID: containerNSID
});

dataLib.api.traits([123, 456, 789]).logs({
     file: 'dil.js',
     message: 'This is the first request'
});.signals({
     c_zdid: 1111
     d_dma: 'default'
});.submit();

//Check log for messages
var log = dataLib.api.getEventLog();
if (log && log.length) {
     alert(log.join('\n'));
}else{
     alert('No log messages');
}

getPartner getpartner

Renvoie le nom du partenaire pour une instance DIL. Utile pour le débogage et le dépannage.

Signature de fonction : dil.api.getPartner: function () {}

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName'
     containerNSID: containerNSID
});

//Verify the partner name
var partner = dataLib.api.getPartner();

getState getstate

Renvoie l’état de l’instance DIL active. Utile pour le débogage et le dépannage.

Signature de fonction : dil.api.getState: function () {}

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName',
     containerNSID: containerNSID
});

dataLib.api.traits([123, 456, 789]).logs({
     file: 'dil.js',
     message:'This is the first request'
});.signals({
     c.zdid: 1111
     d_dma: 'default'
});.submit();

var state = dataLib.api.getState();

/*Object outline of state
state = {
     pendingRequest: {pending data for call to server},
     otherRequestInfo:{
          firingQueue: [],
          fired: [],
          firing: false,
          errored: [],
          reservedKeys: {
               sids: true,
               pdata: true,
               logdata: true,
               callback: true,
               postCallbackFn: true,
               useImageRequest: true,
          },
          firstRequestHasFired: false,
          num_of_jsonp_responses: 0,
          num_of_jsonp_errors: 0,
          num_of_img_responses: 0,
          num_of_img_errors: 0
     },
     destinationPublishingInfo: {
          THROTTLE_START: 3000,
          throttleTimerSet: false,
          id: ''destination_publishing_iframe_' + partner + '_' + containerNSID,
          url: (constants.isHTTPS ? 'https://' : 'https://fast.') + partner + '.demdex.net/dest3.html?d_nsid='
          ​+ containerNSID + '#' + encodeURIComponent(document.location.href),
               iframe: null,
               iframeHasLoaded: false,
               sendingMessages: false,
               messages: [],
               messageSendingInterval: constants.POST_MESSAGE_ENABLED ? 15: 100,
               //Recommend 100ms for IE 6 & 7, 15ms for other browsers
               jsonProcessed: []
     }
}
*/

idSync idsync

Comprend deux fonctions qui permettent aux partenaires de données d’exchange et de synchroniser les identifiants utilisateur entre eux et entre Audiences Manager.

Signature de fonction :

Fonctionne avec DIL versions 2.10 et 3.1 ou supérieures.

Code
Synchronise les identifiants des utilisateurs
dil.Instance.api.idSync(initConfig)

Entre différents partenaires de données et Audience Manager. Par exemple, le partenaire x l’utilise pour synchroniser un identifiant utilisateur avec le partenaire y, puis l’envoie à l’Audience Manager.

Important : Cette méthode est obsolète. Utilisez la méthode idSyncByURL de l’instance Adobe Experience Platform Identity Service.

dil.Instance.api.aamIdSync(initConfig)

Lorsque vous connaissez déjà l’identifiant utilisateur et souhaitez l’envoyer à l’Audience Manager.

Important : Cette méthode est obsolète. Utilisez la méthode idSyncByDataSource de l’instance Adobe Experience Platform Identity Service.

idSync Elements

idSync peut se composer des éléments suivants :

Nom
Type
Description
dpid
Chaîne
Identifiant de fournisseur de données attribué par Audience Manager.
dpuuid
Chaîne
L’ID unique du fournisseur de données pour l’utilisateur.
minutesToLive
Nombre
(Optionnel) Définit le délai d’expiration du cookie. Doit être un nombre entier. Sa valeur par défaut est de 20 160 minutes (14 jours).
url
Chaîne
URL de destination.

Macros

idSync accepte les macros suivantes :

  • %TIMESTAMP%: génère un horodatage (en millisecondes). Utilisé pour la mise en cache.
  • %DID%: Insère l’ID d’Audience Manager pour l’utilisateur.
  • %HTTP_PROTO%: définit le protocole de page ( http ou https).

Réponse

Les deux fonctions renvoient Successfully queued en cas de réussite. Autrement, elles renvoient une chaîne contenant un message d’erreur.

Exemple de code

dilInstance.api.idSync(initConfig)


// Fires url with macros replaced
dilInstance.api.idSync({
 dpid: '23', // must be a string
 url: '//su.addthis.com/red/usync?pid=16&puid=%DID%&url=%HTTP_PROTO%%3A%2F%2Fdpm.demdex.net
%2Fibs%3Adpid%3D420%26dpuuid%3D%7B%7Buid%7D%7D',
 minutesToLive: 20160 // optional, defaults to 20160 minutes (14 days)
});

dilInstance.api.aamIdSync(initConfig)


// Fires 'https:/https:' + '//dpm.demdex.net/ibs:dpid=<dpid>&dpuuid=<dpuuid>'
dilInstance.api.aamIdSync({
 dpid: '23', // must be a string
 dpuuid: '98765', // must be a string
 minutesToLive: 20160 // optional, defaults to 20160 minutes (14 days)
});

result result

Ajoute un rappel (qui reçoit JSON) à la requête en attente.

Signature de fonction : result: function (callback) {}

Ce rappel remplace le rappel par défaut qui gère la publication de destination.

NOTE
Vous pouvez associer d’autres appels API à cette méthode.

Paramètres

Nom
Type
Description
callback
Fonction
Fonction JavaScript exécutée par le rappel JSONP.

Réponse

Renvoie l’objet API de l’instance DIL active.

Exemple de code


var dataLib = DIL.create({
     partner: 'partnerName',
     containerNSID: containerNSID
});

dataLib.api.traits([123, 456, 789]).result(function(json){
     //Do something, possibly with the JSON data returned from the server.
});.submit();

secureDataCollection securedatacollection

secureDataCollection est un paramètre booléen qui contrôle la manière dont DIL effectue des appels vers Data Collection Servers (DCS) et Akamai.

  • Lorsque secureDataCollection= true (par défaut), DIL effectue toujours des appels HTTPS sécurisés.

  • Lorsque secureDataCollection= false, DIL effectue des appels HTTP ou HTTPS en suivant le protocole de sécurité défini par la page.

IMPORTANT
Définissez secureDataCollection= false si vous utilisez visitorAPI.js et DIL sur la même page. Consultez l’exemple de code ci-dessous.

var dilInstance = DIL.create({
     ...
     secureDataCollection: false
});

useCORSOnly usecorsonly

useCORSOnly est un paramètre booléen true/false qui contrôle la manière dont le navigateur demande des ressources à d’autres domaines.

Présentation

useCORSOnly est false par défaut. False signifie que le navigateur peut effectuer des vérifications de ressources avec CORS ou JSONP. Cependant, DIL tente toujours de demander des ressources avec CORS en premier. Il revient à JSONP sur les navigateurs plus anciens qui ne prennent pas en charge CORS. Si vous avez besoin de forcer le navigateur à utiliser uniquement CORS, comme avec les sites ayant des exigences de sécurité élevées, définissez useCORSOnly:true.

Exemple de code


var dilInstance = DIL.create({
     ...
     useCORSOnly: true
});
IMPORTANT
  • Nous vous recommandons de définir useCORSOnly: true uniquement lorsque vous êtes certain que les visiteurs de votre site disposent de navigateurs qui prennent en charge cette fonctionnalité.
  • Lorsque useCORSOnly: true, DIL n’effectuera pas d’appels d’ID à partir d’Internet Explorer version 9 ou antérieure.

useImageRequest useimagerequest

Modifie le type de requête en image <img> à partir du script <src>.

Signature de fonction : useImageRequest: function () {}

NOTE
Vous pouvez associer d’autres appels API à cette méthode.

Réponse

Renvoie un objet API de l’instance DIL active.

Exemple de code


var dataLib = DIL.create({
     partner:'partnerName',
     containerNSID: containerNSID
});

dataLib.api.traits([123, 456, 789]).useImageRequest().submit();
recommendation-more-help
de293fbf-b489-49b0-8daa-51ed303af695