POST https://api.pristo.io/v1/events/send informa a Pristo CX sobre un evento de un contacto, como una compra. Pristo CX agrega o actualiza el contacto en la población del programa de la clave API, y las distribuciones basadas en eventos activas que seleccionan este tipo de evento envían su cuestionario por SMS o por correo electrónico.
Antes de empezar
Sección titulada «Antes de empezar»- Clave API: una clave del programa. Consulta Autenticarse con una clave API.
- Plan: el acceso a la API requiere el plan Estándar o Pro. La aplicación muestra Distribuciones, donde se configuran las distribuciones basadas en eventos, solo en el plan Pro.
- Población: el programa tiene una población. Si Población muestra Este programa aún no tiene población, la API devuelve
404. Consulta Introducción a las poblaciones. - Tipo de evento: en Población, abre Acciones > Atributos de eventos > Tipos de eventos. El Identificador único del tipo de evento es el valor que envías en
type. - Distribución: una distribución basada en eventos activa selecciona ese tipo de evento. Consulta Enviar encuestas después de un evento.
-
Crea el cuerpo JSON con
typeycontact.id. Agregacontact.emailocontact.phonepara que el contacto pueda recibir la encuesta. -
Envía el cuerpo a
https://api.pristo.io/v1/events/sendcon los encabezadosX-API-KeyyContent-Type: application/json. -
Guarda el
eventIdde la respuesta. -
Comprueba el evento en la aplicación: abre el contacto en Población. El evento aparece en Eventos con su estado.
curl -X POST "https://api.pristo.io/v1/events/send" \ -H "X-API-Key: $PRISTO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "purchase", "contact": { "id": "CUST-1042", "email": "dana@example.com", "phone": "+972501234567", "name": "Dana", "lastName": "Example", "language": "en", "customFields": { "tier": "gold" } }, "customFields": { "branch": "example_branch", "amount": "120" } }'Cuerpo de la solicitud
Sección titulada «Cuerpo de la solicitud»| Campo | Tipo | Obligatorio | Qué hace |
|---|---|---|---|
type |
string | Sí | El Identificador único del tipo de evento. De 1 a 50 caracteres |
contact |
object | Sí | El contacto al que le ocurrió el evento |
contact.id |
string | Sí | Tu propio ID del contacto, de 1 a 50 caracteres. Pristo CX busca un contacto existente con este ID, sin distinguir mayúsculas de minúsculas, o crea uno nuevo |
contact.email |
string | No | La dirección de correo electrónico del contacto. Una dirección no válida se ignora |
contact.phone |
string | No | Un número de celular israelí, como +972501234567 o 0501234567. Los demás números se guardan, pero no pueden recibir SMS |
contact.name, contact.lastName |
string | No | El nombre y el apellido. Los valores más largos se recortan a 50 caracteres |
contact.language |
string | No | Un código de dos letras, como he o en. Si no lo incluyes, el contacto recibe el idioma predeterminado de la población |
contact.customFields |
object | No | Valores de atributos del contacto, con el Identificador único de cada atributo de Atributos de contacto como clave. Las claves desconocidas y los valores que no se ajustan al atributo se ignoran |
customFields |
object | No | Valores de atributos del evento, con el Identificador único de cada atributo de evento de la pestaña Atributos como clave. Los filtros de las distribuciones leen cada valor según el tipo del atributo de evento, y un valor que no se puede leer así no coincide |
Salvo contact.language, los campos que no incluyas conservan los valores que el contacto ya tiene guardados. La API ignora los campos que no conoce, como occurredAt: la hora del evento es la hora en que Pristo CX lo recibe.
Resultado
Sección titulada «Resultado»La API responde 200 OK con el ID del evento:
{ "eventId": "AbCdEfGhIjKlMnOpQrStUv"}200 significa que Pristo CX guardó el evento. Luego, Pristo CX actualiza el contacto y programa la encuesta, así que ambos aparecen poco después de que termina la llamada, no mientras se ejecuta.
La ruta anterior POST /v1/events/send/{popId} sigue funcionando y hace lo mismo. Su popId se ignora: la población siempre sale del programa de la clave API. Usa /v1/events/send en el código nuevo.
Límites
Sección titulada «Límites»- El cuerpo de la solicitud puede tener como máximo 10 000 bytes. Solo cuentan para el límite los campos que la API conoce, y cada carácter que no es ASCII, como una letra hebrea, cuenta como 6 bytes.
typeycontact.id: de 1 a 50 caracteres cada uno.- Las reglas de espaciado de la distribución deciden con qué frecuencia un contacto puede recibir la encuesta. Un espaciado de 0 días mantiene de todos modos al menos 10 minutos entre dos encuestas al mismo contacto, contando las encuestas programadas que aún no se enviaron.
Solución de problemas
Sección titulada «Solución de problemas»La API devolvió 200, pero no se envió ninguna encuesta. Comprueba que type coincida con un tipo de evento que selecciona una distribución basada en eventos activa, y que el contacto tenga una dirección de correo electrónico para una distribución por correo electrónico o un número de celular israelí para SMS. Un contacto que se dio de baja, o que no cumple los filtros de la distribución, no recibe nada. El tiempo de espera y las franjas de envío de la distribución también pueden retrasar el envío.
La API devolvió 404 con no population is associated with this api key. El programa de la clave API no tiene población. Crea primero la población o usa una clave de un programa que tenga una.
El idioma del contacto cambió. Cuando falta contact.language, Pristo CX asigna al contacto el idioma predeterminado de la población. Envía contact.language con cada evento.
La API devolvió 400 o 401. En la mayoría de los errores 400, el cuerpo indica el problema en texto sin formato. Un 401 significa que falta la clave API o que no está activa. Consulta Errores de la API.