Aller au contenu

Vérifier un jeton : cette carte de membre (ou cette inscription à un événement) est-elle active en ce moment ?

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

Respectueux de la vie privée : ne renvoie que l’état et, si la carte est active, la fin de validité. Jamais le membre, l’association ni la version du statuto. Le jeton est d’abord vérifié cryptographiquement (signature, fenêtre de validité), puis par rapport à l’état actuel de l’adhésion. Un jeton d’inscription à un événement (kind: registration) répond avec l’état de l’inscription, le slug + le début de l’événement — rien sur la personne.

card_token
obligatoire

Le jeton vmt_… lu sur le QR de la carte

string

Vérification

Type de médiaapplication/json
object
status
obligatoire
string
Valeurs autorisées : active inactive
valid_until
string format : date-time
valid_from

Avec reason: not_yet_valid : la carte est authentique et active, et devient utilisable à cet instant

string format : date-time
reason
string
Valeurs autorisées : expired invalid not_yet_valid
kind

Présent pour les jetons d’inscription

string
Valeurs autorisées : card registration
event
object
slug
string
starts_at
string format : date-time
Exemple
{
"status": "active",
"reason": "expired",
"kind": "card"
}

Requête invalide

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Introuvable

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Limite de débit atteinte

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Erreur interne

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}