Emplear trazas

Última actualización:

La API REST de trazas proporciona un mecanismo genérico de rastreo independientemente del tipo de acción o plataforma en que se produzca. Para lograr este objetivo, la API es agnóstica al canal, lo que significa que no depende de ningún identificador de sesión específico de la plataforma (cookies, por ejemplo). De esta forma, cada usuario es responsable de garantizar la persistencia y la asociación de esa información.

Para los casos de uso en que se dispone de identificadores de sesión (navegadores web, por ejemplo), Prisma Campaigns recomienda utilizar el SDK nativo existente.

¿Qué es una traza?

Los clientes interactúan con Prisma Campaigns en diferentes sesiones llamadas visits o trails. Una traza es un método para agrupar esas visitas. El caso de uso más frecuente ocurre cuando un cliente potencial entra en contacto varias veces con diferentes secciones del sitio web, aplicación móvil u otro canal. Prisma Campaigns crea una nueva traza la primera vez que un usuario lanza la aplicación, o cuando cierra una anterior (tal vez porque ya ha convertido en otra promoción).

URL Método Tipo de datos
/API/traces/trace POST EDN o JSON

La información enviada es un objeto EDN o JSON con dos campos (ambos opcionales):

data = {
   :app-token "D17C100F-0668-400A-AF91-967FE1A09A9E"
   :customer-id "5114932"
}
data = {
   "app-token": "D17C100F-0668-400A-AF91-967FE1A09A9E",
   "customer-id": "5114932"
}
Parámetro Descripción
app-token Identificador integrado de la aplicación que realiza la solicitud
customer-id ID del cliente que da inicio a la traza

Si la persona que interactúa con la aplicación no se conoce, el campo customer-id puede estar vacío. En ese caso, el sistema creará un cliente anónimo para la interacción en curso. La respuesta es también un objeto EDN o JSON con un ID de traza, el cual se utilizará en visitas posteriores para mantenerla vinculado. En caso de que la traza se genere con un identificador de cliente anónimo, la API lo devolverá como parte de la salida.

response = {
   :trace-id "D17C100F-0668-400A-AF91-967FE1A09A9E"
   :customer-id "5114932"
}

El resultado está definido por uno de los siguientes códigos de estado HTTP:

Código Descripción
200 La operación se completó exitosamente
500 No se pudo crear la traza

Visitas

Prisma Campaigns generará un nuevo trail cada vez que el usuario visite el sitio web, abra la aplicación móvil o interactúe de alguna forma con otro canal:

URL Método trace-id Tipo de datos
/api/traces/:trace-id/trail POST ID de traza para identificar la visita actual EDN o JSON

La información enviada es un objeto EDN o JSON con tres campos en el que dos de ellos (platform y language) son opcionales:

data = {
    :language "en-US"
    :platform "Chrome Browser"
    :channel: "atm"
}
data = {
    "language": "en-US",
    "platform": "Chrome Browser",
    "channel": "atm"
}
Parámetro Descripción
language Idioma del dispositivo del cliente (opcional)
platform Plataforma empleada por el cliente (opcional)
channel Canal usado

La respuesta también es un objeto EDN o JSON que incluye un ID de visita:

response = {
 :trail-id "D17C100F-0668-400A-AF91-967FE1A09A9E"
}
response = {
 "trail-id": "D17C100F-0668-400A-AF91-967FE1A09A9E"
}

El resultado queda definido por uno de los códigos de estado HTTP que aparecen a continuación:

Código Descripción
200 La operación se completó exitosamente
500 No se pudo crear la visita

Actividad

La tabla que aparece a continuación muestra las distintas actividades que pueden realizarse durante una visita:

Tipo Descripción
location Visita a una página o pantalla
action El usuario realiza una acción (por ejemplo, hacer clic en un botón)
conversion Conversión exitosa
dismiss El usuario indica que no tiene interés
entry-point El usuario comienza el funnel de conversión
funnel-step Avance de un paso en el funnel de conversión
event Eventos no generados por el usuario

La ejecución propiamente dicha se efectúa a través de una acción de la API:

URL Método trail-id Tipo de datos
/api/traces/trail/:trail-id/action POST ID de visita con la que se asociará la acción EDN o JSON
data = {
 :name "conversion"
 :type :trail-action/conversion
 :data [{:name "field1"
         :value "value1"}
        {:name "field2"
         :value "value2"}]
}
data = {
 "name": "conversion",
 "type": "conversion",
 "data": [{"name": "field1",
         "value": "value1"},
        {"name": "field2"
         "value": "value2"}]
}
Parámetro Descripción
name Nombre de la actividad (relacionado con el tipo de acción)
type Una de las actividades descritas arriba precedida por :trail-action/.
data Datos asociados con la acción correspondiente

El resultado queda definido por uno de los siguientes códigos de estado HTTP:

Código Descripción
200 La operación se completó exitosamente
500 No se pudo crear la visita

Conversión y No me interesa

Al emplear la API action, es posible señalar cuándo un cliente convierte o si él/ella no tiene interés en una campaña. Cada acción tiene un tipo correspondiente, y el único parámetro requerido es tracking-token (obtenido previamente en el canal).

Para EDN, la siguiente información se envía junto con la acción:

Ejemplo 1 (conversión):

data = {
    :name "conversion"
    :type :trail-action/conversion
    :data [{:name "tracking-token"
          :value "value"}]
}

Ejemplo 2 (no tiene interés):

data = {
    :name "dismiss"
    :type :trail-action/dismiss
    :data [{:name "tracking-token"
         :value "value"}]
}

En el caso de JSON, el tipo de acción no debe incluir el prefijo :trail-action/:

Ejemplo 1:

data = {
    "name": "conversion",
    "type": "conversion",
    "data": [{"name": "tracking-token", "value": "value"}]
}

Ejemplo 2:

data = {
    "name": "dismiss",
    "type": "dismiss",
    "data": [{"name": "tracking-token", "value": "value"}]
}

Importante: Una vez que conversion o dismiss se invocan en una traza, no pueden ser usados nuevamente y una nueva será creada para las acciones, visitas o sincronizaciones posteriores. En caso de que se intente utilizar la misma traza, la operación resultará en una respuesta HTTP 400.

Artículos relacionados