Ir al contenido

Verificar un token: ¿este carné (o esta inscripción a un evento) está activo ahora mismo?

GET
/v1/verify/{card_token}
curl --request GET \
--url https://api.vimine.network/v1/verify/example

Respeta la privacidad: devuelve solo el estado y, cuando está activo, el final de la validez. Nunca el socio, la asociación ni la versión del estatuto. Primero se verifica criptográficamente el token (firma, ventana de validez) y después se coteja con la inscripción actual. Un token de inscripción a un evento (kind: registration) responde con el estado de la inscripción y el slug + el inicio del evento — nunca la persona.

card_token
obligatorio

El token vmt_… leído del QR del carné

string

Verificación

Tipo de medioapplication/json
object
status
obligatorio
string
Valores permitidos: active inactive
valid_until
string formato: date-time
valid_from

Con reason: not_yet_valid: el carné es auténtico y está activo, y se puede usar a partir de este momento

string formato: date-time
reason
string
Valores permitidos: expired invalid not_yet_valid
kind

Presente en los tokens de inscripción

string
Valores permitidos: card registration
event
object
slug
string
starts_at
string formato: date-time
Ejemplo
{
"status": "active",
"reason": "expired",
"kind": "card"
}

Petición no válida

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

No encontrado

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Límite de frecuencia superado

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Error interno

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}