Saltar al contenido principal

API REST

La superficie REST pública abarca tres hosts: uno para flags y mensajería, otro para la ingesta de eventos y otro para la repetición de sesiones. Cada uno sirve su propio documento OpenAPI.

HostServesOpenAPI
https://api.prodantix.comFlags, messaging, GraphQLhttps://api.prodantix.com/openapi.json
https://eu.api.prodantix.comEvent ingestion (EU)https://eu.api.prodantix.com/openapi.json
https://eu.replay.prodantix.comSession replay (EU)https://eu.replay.prodantix.com/openapi.json

Autenticación

Cada operación REST acepta una clave de proyecto como token Bearer. Las claves de proyecto se limitan a un único proyecto; nunca pongas una clave secreta en código del lado del cliente.

JSON
{
  "Authorization": "Bearer <project key>"
}

Operations

MethodPathPurpose
GET/v1/flagsEvaluate every flag for a distinct id
GET/v1/flags/snapshotFetch the project's full ruleset for local evaluation
GET/v1/messagesRead a user's in-app inbox
POST/v1/messages/readMark an in-app message read
POST/v1/eventsIngest a batch of events
POST/v1/identifyIdentify a user and set traits
POST/v1/groupAssociate a user with a group
POST/v1/replayUpload a session replay chunk

Evaluate flags for a user

curl "https://api.prodantix.com/v1/flags?distinct_id=u_8f3a" \
  -H "Authorization: Bearer $PRODANTIX_KEY"

Ingest an event

curl -X POST "https://eu.api.prodantix.com/v1/events" \
  -H "Authorization: Bearer $PRODANTIX_KEY" \
  -H "Content-Type: application/json" \
  -d '{"batch":[{"distinct_id":"u_8f3a","name":"order.completed","properties":{"amount":4200}}]}'

Aceptado no significa persistido

Las operaciones de ingesta responden 202. Eso significa que el evento se aceptó para procesarlo, no que se haya almacenado. Un evento mal formado todavía puede descartarse más adelante en el pipeline.

Documentos OpenAPI

Cada host sirve sus propias operaciones en /openapi.json. La vista unificada es la página de referencia de la API de este sitio.