Métodos DIL de nivel de instancia

Las API DIL de nivel de instancia permiten crear y trabajar con objetos Audience Manager mediante programación. Los métodos de nivel de instancia mejoran la funcionalidad de API establecida por los métodos de nivel de clase.

Introducción a los métodos de DIL de nivel de instancia

Al trabajar con las API DIL de nivel de instancia:

  • Access requiere un nombre de socio e ID de Área de nombres de contenedor (NSID). Póngase en contacto con el administrador de cuentas del Audience Manager para obtener esta información.
  • Reemplace cualquier texto en cursiva de muestra de la documentación de API con valor, ID u otra variable según lo requiera el método con el que esté trabajando.

señales

Añade asignaciones de nivel de cliente y de plataforma a la cadena de consulta de una solicitud pendiente.

Firma de función: signals: function ({key1:value1, key2:value2},prefix){}

NOTA
  • Puede encadenar otras llamadas de API a este método.
  • Si la biblioteca JavaScript de Adobe Experience Cloud está en la página, submit() espera a que Cloud establezca una cookie antes de enviar una solicitud.

Claves de solicitud reservadas

Las siguientes claves de solicitud están reservadas y no se pueden sobrescribir con este método:

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

Parámetros

Nombre Tipo Descripción
obj Objeto Un objeto que representa los pares clave-valor para las asignaciones de nivel de plataforma. El parámetro acepta cadenas y matrices como valores de propiedad en el objeto.
prefix Cadena Opcional. El valor de cadena tiene el prefijo de cada clave de objeto (reemplaza a la clave original).
return DIL.api Devuelve el objeto API de la instancia de DIL actual.

Respuesta

Devuelve el objeto API de la instancia DIL actual.

Código de ejemplo


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

Añade los SID a la cadena de consulta de una solicitud pendiente.

Firma de función: traits:function (sids){}

NOTA

Puede encadenar otras llamadas de API a este método.

Parámetros

Nombre Tipo Descripción
sids Matriz ID de segmentos de características en una matriz.

Respuesta

Devuelve el objeto API de la instancia DIL actual.

Código de ejemplo


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

logs

Añada datos en archivos de registro en la solicitud pendiente.

Firma de función: logs: function {key1:value1, key2:value2}

Respuesta

Devuelve el objeto API de la instancia DIL actual.

Código de ejemplo


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

submit

Envía todos los datos pendientes al Audience Manager para la instancia DIL.

Firma de función: submit: function () {}

NOTA

Puede encadenar otras llamadas de API a este método. Además, DIL escribe datos codificados en una cookie de destino. Por ejemplo, los espacios se codifican como %20 y los puntos y comas como %3B.

Respuesta

Devuelve el objeto API de la instancia DIL actual.

Código de ejemplo


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

Función que se ejecuta después de la llamada de retorno de publicación de destino predeterminada.

Firma de función: afterResult: function (fn) {}

NOTA

Puede encadenar otras llamadas de API a este método.

Parámetros

Nombre Tipo Descripción
fn Función La función que desea ejecutar después de que JSON se procese mediante la llamada de retorno predeterminada que gestiona la publicación de destino.

Respuesta

Devuelve un objeto API de la instancia DIL actual.

Código de ejemplo


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

Borra todos los datos de una solicitud pendiente.

Firma de función: clearData: function () {}

NOTA

Puede encadenar otras llamadas de API a este método.

Respuesta

Devuelve el objeto API de la instancia DIL actual.

Código de ejemplo


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

Añade parámetros de consulta personalizados que el servidor de recopilación de datos no ha definido explícitamente en una solicitud pendiente.

Firma de función: customQueryParams: function (obj) {}

NOTA

Puede encadenar otras llamadas de API a este método.

Claves de solicitud reservadas

Las siguientes claves de solicitud están reservadas y no se pueden sobrescribir con este método:

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

Respuesta

Devuelve el objeto API de la instancia de DIL actual.

Código de ejemplo


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

getContainerNSID

Devuelve el valor del NSID de contenedor para la instancia DIL. Útil para la depuración y la solución de problemas.

Firma de función: dil.api.getContainerNSID: function () {}

Código de ejemplo


var dataLib = DIL.create({ 
     partner: 'partnerName', 
     containerNSID: containerNSID 
}); 
 
//Verify the container NSID 
var nsid = dataLib.api.getContainerNSID();

getEventLog

Devuelve los datos del registro de eventos ordenados cronológicamente como una matriz de cadenas. Útil para la depuración y la solución de problemas.

Firma de función: dil.api.getEventLog: function () {}

Código de ejemplo


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

Devuelve el nombre del socio para una instancia DIL. Útil para la depuración y la solución de problemas.

Firma de función: dil.api.getPartner: function () {}

Código de ejemplo


var dataLib = DIL.create({ 
     partner: 'partnerName' 
     containerNSID: containerNSID 
}); 
 
//Verify the partner name 
var partner = dataLib.api.getPartner();

getState

Devuelve el estado de la instancia DIL actual. Útil para la depuración y la solución de problemas.

Firma de función: dil.api.getState: function () {}

Código de ejemplo


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

Consiste en dos funciones que permiten a los socios de datos intercambiar y sincronizar los ID de usuario entre ellos y el Audience Manager.

Firma de función:

Funciona con DIL versiones 2.10 y 3.1 o superior.

Código Sincroniza los ID de los usuarios
dil.Instance.api.idSync(initConfig)

Entre diferentes socios de datos y Audience Manager. Por ejemplo, el socio x utilizaría esto para sincronizar un ID de usuario con el socio y y, a continuación, enviarlo al Audience Manager.

Importante: Este método está en desuso. Utilice el método idSyncByURL de la instancia de Adobe Experience Platform Identity Service.

dil.Instance.api.aamIdSync(initConfig)

Cuando ya conoce el ID de usuario y desea enviarlo al Audience Manager.

Importante: Este método está en desuso. Utilice el método idSyncByDataSource de la instancia de Adobe Experience Platform Identity Service.

idSync Elements

idSync puede constar de lo siguiente:

Nombre Tipo Descripción
dpid Cadena

ID de proveedor de datos asignado por Audience Manager.

dpuuid Cadena

El ID exclusivo de proveedor de datos para el usuario.

minutesToLive Número

(Opcional) Establece el tiempo de caducidad de la cookie. Debe ser un número entero. El valor predeterminado es de 20160 minutos (14 días).

url Cadena

Dirección URL de destino.

Macros

idSync acepta las siguientes macros:

  • %TIMESTAMP%: genera una marca de hora (en milésimas de segundo). Se emplea para ignorar la caché.
  • %DID%: inserta el ID de Audience Manager para el usuario.
  • %HTTP_PROTO%: Establece el protocolo de página ( http o https).

Respuesta

Ambas funciones devuelven Successfully queued si se realiza correctamente. Si no, devuelven una cadena con un mensaje de error.

Código de ejemplo

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

Añade una llamada de retorno (que recibe JSON) a la solicitud pendiente.

Firma de función: result: function (callback) {}

Esta llamada de retorno reemplaza la llamada de retorno predeterminada que gestiona la publicación de destino.

NOTA

Puede encadenar otras llamadas de API a este método.

Parámetros

Nombre Tipo Descripción
callback Función Función JavaScript ejecutada por la llamada de retorno JSONP.

Respuesta

Devuelve el objeto API de la instancia DIL actual.

Código de ejemplo


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 es un parámetro booleano que controla cómo se DIL realizan llamadas a Data Collection Servers (DCS) y Akamai.

  • Cuando secureDataCollection= true (predeterminado), DIL siempre realiza llamadas HTTPS seguras.

  • Cuando secureDataCollection= false, DIL realiza llamadas HTTP o HTTPS siguiendo el protocolo de seguridad establecido por la página.

IMPORTANTE

Establezca secureDataCollection= false si utiliza visitorAPI.js y DIL en la misma página. Consulte el ejemplo de código siguiente.


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

useCORSOnly

useCORSOnly es un parámetro booleano true/false que controla la forma en que el explorador solicita recursos de otros dominios.

Información general

useCORSOnly es false de forma predeterminada. False significa que el explorador puede realizar comprobaciones de recursos con CORS o JSONP. Sin embargo, [!UICONTROL DIL] siempre intenta solicitar recursos primero con CORS. Vuelve a JSONP en navegadores anteriores que no son compatibles con CORS. Si necesita obligar al explorador a utilizar sólo CORS, como con sitios que tienen requisitos de alta seguridad, establezca useCORSOnly:true.

Ejemplo de código


var dilInstance = DIL.create({ 
     ... 
     useCORSOnly: true 
});
IMPORTANTE
  • Le recomendamos que configure useCORSOnly: true sólo cuando esté seguro de que los visitantes del sitio tienen exploradores que admiten esta función.
  • Cuando useCORSOnly: true, DIL no realizará llamadas de ID desde Internet Explorer versión 9 o posterior.

useImageRequest

Cambia el tipo de solicitud a la imagen <img> de la secuencia de comandos <src>.

Firma de función: useImageRequest: function () {}

NOTA

Puede encadenar otras llamadas de API a este método.

Respuesta

Devuelve un objeto API de la instancia DIL actual.

Código de ejemplo


var dataLib = DIL.create({ 
     partner:'partnerName', 
     containerNSID: containerNSID 
}); 
 
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();

En esta página