Pular para o conteúdo

Registrar um check-in na entrada a partir de um token lido (carteirinha ou inscrição em evento)

POST
/v1/checkins
curl --request POST \
--url https://api.vimine.network/v1/checkins \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "token": "example", "card": "example" }'

Verifica o token (assinatura, janela), confirma que o registro pertence à sua associação, registra o check-in e devolve o veredito. Um token de carteirinha (kind: card) faz o check-in da carteirinha; um token de inscrição (kind: registration) faz o check-in da inscrição no evento — e da carteirinha com que ela foi feita, quando o tipo de inscrição exige uma carteirinha ativa. Nenhum dado pessoal.

Tipo de mídiaapplication/json
object
token

O token lido (vmt_…): carteirinha ou inscrição

string
card

Alias de token (tokens de carteirinha)

string
Exemplogerado
{
"token": "example",
"card": "example"
}

Check-in registrado

Tipo de mídiaapplication/json
object
kind
string
Valores permitidos: card registration
verdict
string
Valores permitidos: valid expired not_yet_valid statuto_required inactive already_checked_in not_confirmed cancelled event_cancelled membership_invalid
status
string
membership_id
string
nullable
valid_until
string formato: date-time
nullable
valid_from

Com not_yet_valid: quando a carteirinha se torna utilizável (o intervalo de utilização da associação)

string formato: date-time
nullable
registration_id
string
nullable
event
object
slug
string
title
string
starts_at
string formato: date-time
registration_type
string
nullable
membership_verdict
string
nullable
identity_check

Só carteirinhas. pending: o associado não tem um código fiscal verificável e ninguém da associação olhou um documento dele ainda — mostre isso a quem cuida da entrada. É uma observação, nunca faz parte do verdict: não restringe nada. Resolvida no console da associação

string
nullable
Valores permitidos: pending verified flagged
first
boolean
checked_in_at
string formato: date-time
nullable
Exemplo
{
"kind": "card",
"verdict": "valid",
"identity_check": "pending"
}

Requisição inválida

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Credenciais ausentes ou inválidas

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Não permitido

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

A carteirinha pertence a outra associação ou não existe

O token é malformado ou falsificado, ou um token de inscrição ainda não é válido ou já passou da sua janela (invalid_card, reason). Uma CARTEIRINHA autêntica fora da sua janela não é recusada: o check-in é registrado com o veredito expired (nulo quando a adesão é nula)

Limite de requisições excedido

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Erro interno

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}