Access Control API

Validation API

Valida códigos de acesso em lote (check-in). Aceita um array com no máximo 1000 validações por requisição.

POST/v1/events/:event_id/sessions/:session_id/validation

Ambientes

Para alternar entre ambientes, troque apenas o host: use apigw-access-control.prod.ingresse.com em produção e apigw-access-control.dev.ingresse.com em desenvolvimento.

Headers obrigatórios

ParâmetroTipoDescrição
AuthorizationObrigatório
Bearer {token}Token de acesso OAuth.
X-Partner-IDObrigatório
string (UUID)Identificador do parceiro, validado pelo gateway.
Content-TypeObrigatório
application/jsonObrigatório no corpo JSON.

Parâmetros de URL

Todos são obrigatórios.

ParâmetroTipo
event_idObrigatório
string (UUID)
session_idObrigatório
string (UUID)

Corpo da requisição

ParâmetroTipoDescrição
operator_idObrigatório
string (UUID)Identificador do operador que realiza a validação.
validationsObrigatório
arrayLista de validações (máximo 1000 itens).

Item de validations[]

O array validations aceita no máximo 1000 itens. Em cada item, code e date são obrigatórios; type é opcional (default checkin).
ParâmetroTipoDescrição
codeObrigatório
stringCódigo de acesso a validar.
dateObrigatório
string (RFC3339)Data/hora da validação em UTC.
typeOpcional
stringcheckin | checkout. Default: checkin.

Formato de data

Use sempre o padrão RFC 3339 / ISO 8601 em UTC (ex.: 2025-12-31T22:00:00Z). Veja Convenções da API.

Exemplo de requisição

cURL · POST
curl -X POST \
"https://apigw-access-control.prod.ingresse.com/v1/events/:event_id/sessions/:session_id/validation" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {token}" \
  -H "X-Partner-ID: {partner_UUID}" \
  -d '{
    "operator_id": "{operator_UUID}",
    "validations": [
      {
        "code": "ABC123DEF",
        "date": "2025-12-31T22:00:00Z",
        "type": "checkin"
      },
      {
        "code": "XYZ987",
        "date": "2025-12-31T19:00:00Z",
        "type": "checkin"
      }
    ]
  }'

Respostas

StatusDescrição
200OKLote processado. Veja success e errors no corpo.
400Bad RequestCampos ausentes ou array > 1000.
401UnauthorizedToken ausente ou inválido.
403ForbiddenX-Partner-ID inválido.
404Not FoundEvento ou sessão inexistente.
429Too Many RequestsRate limit excedido (Retry-After).

Exemplo de resposta

JSON
{
  "success": [
    {
      "code": "ABC123DEF",
      "status": "validated",
      "type": "checkin",
      "date": "2025-12-31T22:00:00Z"
    }
  ],
  "errors": [
    {
      "code": "XYZ987",
      "error": "already_used",
      "message": "Código inválido ou já utilizado"
    }
  ]
}

A resposta é parcial: cada código é processado individualmente. Os validados com sucesso aparecem em success e as falhas em errors, ambos referenciando o code original.

Item de success[]

CampoTipoDescrição
code
stringCódigo validado.
status
stringvalidated
type
stringcheckin | checkout
date
string (RFC3339)Data/hora aplicada.

Item de errors[]

CampoTipoDescrição
code
stringCódigo que falhou.
error
stringalready_used | not_found | invalid
message
stringDescrição legível do erro.