zt-partners · Integração

Endpoints

Rotas da API de integração, respostas e códigos de erro.

Base: https://<api-zt-partners>/v1/integration. Todas exigem os headers de Autenticação.

Spec OpenAPI

A spec completa está em /openapi.json (importe no Postman/Insomnia ou gere um client) e navegável em /reference. Ela é gerada dos mesmos schemas que a API usa para validar os eventos.

Enviar um evento

POST /v1/integration/events

O body é um dos eventos. O zt-partners grava o evento, responde na hora e processa as comissões em fila.

200
{ "r": true, "content": { "event_id": "dep-7781", "status": "accepted" } }

Prop

Type

Enviar em lote

POST /v1/integration/events/batch

Até 500 eventos por chamada, para backfill ou reenvio após indisponibilidade. Cada evento tem o próprio resultado.

body
{ "events": [ { "type": "bet.placed", "...": "..." }, { "type": "bet.settled", "...": "..." } ] }
200
{
  "r": true,
  "content": {
    "accepted": 1,
    "results": [
      { "event_id": "bet-5510", "status": "accepted" },
      { "event_id": "settle-5509", "status": "duplicate" }
    ]
  }
}

Ordem dentro do lote

Os eventos são gravados na ordem do array. Mande o player.registered antes dos eventos do mesmo jogador.

Consultar atribuição

GET /v1/integration/players/{external_player_id}/attribution
200
{
  "r": true,
  "content": {
    "attributed": true,
    "attribution": {
      "external_player_id": "6650a1b2c3d4e5f6a7b8c9d0",
      "deal_public_id": "1234567",
      "registered_at": "2026-09-29T15:00:00.000Z",
      "ftd_at": "2026-09-29T15:05:00.000Z",
      "status": "ACTIVE",
      "tag_id": "66509f0e2b1c4d5e6f708192",
      "affiliate": { "public_id": "4815162", "name": "Afiliado Exemplo" }
    }
  }
}

Erros

HTTPQuando
400Payload inválido. errors lista os campos, por exemplo body.amount: Expected number, received string.
401Falha de autenticação. Veja Autenticação.
5xxIndisponibilidade. Reenvie com o mesmo event_id, sem risco de duplicar.
400
{ "r": false, "errors": ["body.external_player_id: Required"] }

Reenvio recomendado

  • Timeout ou 5xx: reenvie com backoff exponencial (por exemplo 5s, 30s, 2min, 10min).
  • 400: não reenvie o mesmo payload, corrija o evento.
  • duplicate: sucesso, o evento já estava lá.

On this page