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/validationAmbientes
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âmetro | Tipo | Descriçã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/json | Obrigatório no corpo JSON. |
Parâmetros de URL
Todos são obrigatórios.
| Parâmetro | Tipo |
|---|---|
event_idObrigatório | string (UUID) |
session_idObrigatório | string (UUID) |
Corpo da requisição
| Parâmetro | Tipo | Descrição |
|---|---|---|
operator_idObrigatório | string (UUID) | Identificador do operador que realiza a validação. |
validationsObrigatório | array | Lista 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âmetro | Tipo | Descrição |
|---|---|---|
codeObrigatório | string | Código de acesso a validar. |
dateObrigatório | string (RFC3339) | Data/hora da validação em UTC. |
typeOpcional | string | checkin | 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
| Status | Descrição |
|---|---|
| 200OK | Lote processado. Veja success e errors no corpo. |
| 400Bad Request | Campos ausentes ou array > 1000. |
| 401Unauthorized | Token ausente ou inválido. |
| 403Forbidden | X-Partner-ID inválido. |
| 404Not Found | Evento ou sessão inexistente. |
| 429Too Many Requests | Rate 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[]
| Campo | Tipo | Descrição |
|---|---|---|
code | string | Código validado. |
status | string | validated |
type | string | checkin | checkout |
date | string (RFC3339) | Data/hora aplicada. |
Item de errors[]
| Campo | Tipo | Descrição |
|---|---|---|
code | string | Código que falhou. |
error | string | already_used | not_found | invalid |
message | string | Descrição legível do erro. |
