Salta ai contenuti

Verifica un token: questa tessera (o iscrizione a un evento) è attiva adesso?

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

Rispetta la privacy: restituisce solo lo stato e, se è attiva, la fine della validità. Mai il socio, l’associazione o la versione dello statuto. Il token viene verificato prima crittograficamente (firma, finestra di validità), poi con lo stato attuale dell’adesione. Un token di iscrizione a un evento (kind: registration) risponde con lo stato dell’iscrizione e lo slug + l’inizio dell’evento — nulla sulla persona.

card_token
obbligatorio

Il token vmt_… letto dal QR della tessera

string

Verifica

Tipo di contenutoapplication/json
object
status
obbligatorio
string
Valori ammessi: active inactive
valid_until
string formato: date-time
valid_from

Con reason: not_yet_valid: la tessera è autentica e attiva, e diventa utilizzabile da questo istante

string formato: date-time
reason
string
Valori ammessi: expired invalid not_yet_valid
kind

Presente per i token di iscrizione

string
Valori ammessi: card registration
event
object
slug
string
starts_at
string formato: date-time
Esempio
{
"status": "active",
"reason": "expired",
"kind": "card"
}

Richiesta non valida

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

Non trovato

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

Troppe richieste

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

Errore interno

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