Documentación API Recomendador

Documentación de la API

Recommender API

 

El sistema recomendador funciona como una API REST en donde por cada visita de un usuario, o previo a mandar un e-mail de recomendación de contenido, se le realiza una consulta directa al sistema enviándole parámetros relacionados con el usuario, el contenido que está consumiendo, metadatos del contenido, etc.

 

Requisitos

 

Previo a implementar el recomendador, se necesita:

 

  • Partner ID: Identificador de partner provisto por el equipo de Retargetly.
  • Content ID format: Debe proporcionar a Retargetly cuál es el formato del identificador del contenido. Puede ser una URL completa (sin querystring), o un identificador que se extrae de la URL, o el path de la URL luego de la última. Sea cual sea, debe quedar estipulado antes de comenzar con la implementación para que el recomendador funciona correctamente.

 

Arquitectura

El servicio de recomendación consta de varios micro-servicios intermedios que cumplen distintos propósitos. Este es el diagrama de flujo que representa los distintos servicios que corren por detrás:

 

 

User Recommendation Request: es el envío de un pedido de recomendación. Puede ser lanzado cuando un usuario visita una página o al enviar un e-mail con recomendación de contenido.

 

Front API Rest: API encargada de recibir todos los requests y validar los parámetros recibidos, así como también convertir los mismos al formato específico que necesita el Back API Rest. Transmite la respuesta de Back API a la respuesta final del pedido de recomendación.

 

Back API Rest: API encargada de recibir todos los parámetros y tomar decisiones para llamar a los distintos motores de recomendación, formatear y devolver las recomendaciones necesarias.

 

Popularity Engine: Motor de recomendación basado en el volumen de tráfico por contenido dado el tráfico de las últimas 24 horas.

 

Trend Engine: Motor de recomendación basado en el volumen de tráfico por contenido dado el tráfico de la última hora.

 

Co-Ocurrence Engine: Motor de recomendación basado en qué otros contenidos navegan los usuarios que vieron el mismo contenido que está viendo el usuario actualmente.

 

Profiling Engine: Motor de recomendación basado en afinidad entre el perfil del usuario actual y qué contenido visitaron usuarios similares.

 

Endpoint

 

HTML

GET https://recommender.retargetly.com/get

 

Headers

 

Parámetro

Valor

Content-Type

application/json

 

Body Parameters

 

Parámetro

Descripción

Opcional

Valor Por Default

Posibles Valores

partnerId

ID de partner, provisto por Retargetly.

no

null

 

mail

E-mail del usuario.

no, siempre y cuando se envíen cookies de retargetly.com

null

 

contentId

Identificador del contenido que el usuario está viendo actualmente.

no

null

 

url

Se puede pasar la URL que el usuario está viendo actualmente (sin querystring).

si

null

 

isBrandSafe

Indica si el contenido actual es Brand Safe o no.

si

false

truefalse

recommendSafeContent

Indica si las recomendaciones deben ser Brand Safe o no.

si

false

truefalse

quantity

Cantidad de contenidos recomendados.

si

10

min: 1, max: 20

 

Example (CLI)

 

Request

 

HTML

curl -X GET "https://recommender.retargetly.com/get" -H 'Content-Type: application/json' -d'{
"partnerId": "123",
"mail": "some@email.com",
"url": "www.example.com/content/example",
"contentId": "12341",
"isBrandSafe": true,
"recommendSafeContent": true,
"quantity": 10
}'

 

 

Response

   

 

Js

{"response": "recommendations": ["12342","12343","12344","12345","12346","12347","12348","12349","12350","12351"]}

 

 

 

Example (JavaScript with jQuery)

 

Request

 

 

Js

var data = {
"partnerId": "123",
"mail": "some@email.com",
"contentId": "12341",
"url": "www.example.com/content/example",
"isBrandSafe": true,
"recommendSafeContent": true,
"quantity": 10}

$.ajax({
url: "https://recommender.retargetly.com/get",
type: 'GET',
dataType: 'json',
xhrFields: { withCredentials: true },
data: JSON.stringify(data),
contentType: 'application/json; charset=utf-8',
success: function(data) {
console.log(data);
}})

 

 

 

response

 

Js

{"response": "recommendations": ["12342","12343","12344","12345","12346","12347","12348","12349","12350","12351"]}

 

 

  

How did we do?

Contact