Sincronización de datos (data syncs)

Última actualización:

El API REST de data syncs permite operar con los distintos tipos de sincronizaciones -importación, exportación y borrado de datos- para mantener la aplicación actualizada (de forma automática) con las fuentes de datos.

Autenticación

Todas las APIs de sincronización de datos pueden estar autenticadas si se desea. Esto se debe habilitar en cada data sync y generarse un token de autenticación que luego se utilizará en cada consumo de el API.

Cada pedido debe utilizar el encabezado de autenticación básica.

Parámetro Descripción
username api
password API_TOKEN

Debido a que un API token es específico para cada data sync, este se puede dar de baja sin afectar la operativa del resto.

Importación

Este endpoint permite interactuar con el API para realizar importación de clientes, datos de clientes por campaña, o prioridades para el modelo optimizado. En este último caso, las columnas del archivo a sincronizar deben ser las que están explícitas en la importación del modelo.

URL Método
/api/data-sync/import/DATASYNC_ID POST

El dato DATASYNC_ID es un ID único de data sync que se obtiene de la consola de administración de Prisma Campaigns.

La información enviada es un multipart form-data que debe tener el siguiente parámetro:

Parámetro Descripción
file Archivo CSV a importar

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

Código Descripción Cuerpo
200 La operación se completó exitosamente File queued
404 No se encontró el data sync
403 Falló de autenticación
500 No se pudo importar el archivo

Exportación

Este endpoint brinda la capacidad de interactuar con el API para descargar las exportaciones de clientes, desuscripciones, o resultados de campañas. Este API por defecto devolverá el último archivo generado de forma exitosa.

URL Método
/api/data-sync/export/DATASYNC_ID GET

El dato DATASYNC_ID es un ID único de data sync que se obtiene de la consola de administración de Prisma Campaigns.

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

Código Descripción Cuerpo
200 La operación se completó exitosamente Archivo CSV generado
404 No se encontró el data sync
403 Falló de autenticación
500 No se pudo descargar el archivo exportado

Eliminación

El uso del API es exactamente igual al de importación.

Estado de data sync

Mediante el uso de este endpoint es posible obtener información sobre la última ejecución del data sync (de cualquier tipo, ya sea importación, exportación o eliminación).

URL Método
/api/data-sync/DATASYNC_ID GET

El dato DATASYNC_ID es un ID único de data sync y lo debe obtener de la consola de administración de Prisma Campaigns.

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
404 No se encontró el data sync
403 Falló de autenticación
500 Error interno al obtener el resultado

La respuesta es un objeto EDN o JSON que incluye la siguiente información:

{
  :name "Datasync Name"
  :status "enabled"
  :latest-launch {
    :id XXXXXXXXXXXXX,
    :status "cancelled",
    :scheduled-time "2022-01-14T20:00:00",
    :status-message "Cancelled by user: admin@prismacampaigns.com"
  }
  :next-launch "2022-01-17T13:00:00"
}
{
  "name": "Datasync Name",
  "status": "enabled",
  "latest-launch": {
    "id": XXXXXXXXXXXXX,
    "status": "cancelled",
    "scheduled-time": "2022-01-14T20:00:00",
    "status-message": "Cancelled by user: admin@prismacampaigns.com"
  },
  "next-launch": "2022-01-17T13:00:00"
}
Clave Descripción Posibles resultados
name Nombre del data sync
status Estado del data sync en la plataforma enabled, disabled
latest-launch Objeto con información sobre la última ejecución (opcional)
next-launch Fecha y hora (UTC) de la próxima ejecución (opcional)

Esquema de la última ejecución (latest launch):

Clave Descripción Posibles resultados
id Identificador de la última ejecución (útil para descargar resultados por ejecución)
status Estado de la última ejecución scheduled, finished, cancelled, running
scheduled-time Fecha y hora (UTC) en la que se agendó la ejecución
started-at Fecha y hora (UTC) en la que se inició la ejecución (opcional)
status-message En caso de error, un mensaje informativo describiendo que sucedió (opcional)
next-launch Fecha y hora (UTC) de la próxima ejecución (opcional)

Nota: El servidor puede devolver un objeto del tipo EDN o JSON dependiendo del contenido de los encabezados Accept y Content-Type. Vale la pena aclarar que este último es obligatorio.

Últimas ejecuciones

Este endpoint devuelve la información sobre las últimas ejecuciones del data sync (de cualquier tipo, ya sea importación, exportación o eliminación).

URL Método
/api/data-sync/DATASYNC_ID/latest-launches GET

El dato DATASYNC_ID es un ID único de data sync y lo debe obtener de la consola de administración de Prisma Campaigns.

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
404 No se encontró el data sync
403 Falló de autenticación
500 Error interno al obtener el resultado

La respuesta es un array de objetos EDN o JSON que incluye la siguiente información:

[{:id XXXXXXXXXXXXX
  :status "cancelled"
  :scheduled-time "2022-01-14T20:00:00"
  :status-message "Cancelled by user: admin@prismacampaigns.com"
  }

  {:id XXXXXXXXXXXXX
   :status "finished"
   :scheduled-time "2022-01-13T20:00:00"
   }
]
[{"id": XXXXXXXXXXXXX,
  "status": "cancelled",
  "scheduled-time": "2022-01-14T20:00:00",
  "status-message": "Cancelled by user: admin@prismacampaigns.com"
  },

  {"id": XXXXXXXXXXXXX,
   "status": "finished",
   "scheduled-time": "2022-01-13T20:00:00"
   }
]
Clave Descripción Posibles resultados
id Identificador de la última ejecución (útil para descargar resultados por ejecución)
status Estado de la última ejecución scheduled, finished, cancelled, running
scheduled-time Fecha y hora (UTC) en la que se agendó la ejecución
started-at Fecha y hora (UTC) en la que se inició la ejecución (opcional)
status-message En caso de error, un mensaje informativo describiendo que sucedió (opcional)

Nota: El servidor puede devolver un objeto del tipo EDN o JSON dependiendo del contenido de los encabezados Accept y Content-Type. Vale la pena aclarar que este último es obligatorio.

Descarga de ejecuciones

Este endpoint hace posible posible descargar la ejecución en un archivo .csv, incluso de ejecuciones en el pasado (de cualquier tipo, ya sea importación, exportación o eliminación). Esta API es útil si uno de los procesos de sincronización falló y se quiere volver a importar los archivos o examinar la falla del archivo importado.

URL Método
/api/data-sync/DATASYNC_ID/LAUNCH_ID/download GET

El dato DATASYNC_ID es un ID único de data sync y lo debe obtener de la consola de administración de Prisma Campaigns, mientras que LAUNCH_ID representa un ID único de la ejecución que se puede obtener mediante el API de latest-launches.

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

Código Descripción Cuerpo
200 La operación se completó exitosamente Archivo CSV generado o importado
404 No se encontró el data sync
403 Falló de autenticación
500 No se pudo descargar el archivo exportado

Artículos relacionados