Confirmer une demande d’adhésion envoyée en votre nom (lien reçu par e-mail)
const url = 'https://api.vimine.network/v1/enroll/confirm';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"token":"example","identification":{"dob":"2026-04-15","birthplace":"example","birth_country":"example","codicefiscale":"example","codicefiscale_confirmed":true},"address":{"kind":"residence","line":"example","postal_code":"example","city":"example","province":"example","country":"IT"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.vimine.network/v1/enroll/confirm \ --header 'Content-Type: application/json' \ --data '{ "token": "example", "identification": { "dob": "2026-04-15", "birthplace": "example", "birth_country": "example", "codicefiscale": "example", "codicefiscale_confirmed": true }, "address": { "kind": "residence", "line": "example", "postal_code": "example", "city": "example", "province": "example", "country": "IT" } }'Consomme le jeton porté par le lien de confirmation et crée la demande d’adhésion en attente. Idempotent en cas de rejeu : utiliser le lien deux fois indique simplement l’état actuel.
Corps de la requêteobligatoire
Section intitulée « Corps de la requêteobligatoire »object
Seulement après un 409 identification_required : ce qui manque encore au compte — un code fiscal, ou la date, le lieu et le pays de naissance. Complète les champs VIDES du profil, sans jamais écraser ce qui s’y trouve
object
Seulement après un 409 address_required : l’association demande une adresse à chaque membre (member_address: required dans son profil public). Facultative là où elle a déclaré optional ; ignorée là où elle n’en recueille aucune
object
Rue et numéro
Adresses italiennes seulement (deux lettres) ; ignorée à l’étranger
ISO 3166-1 alpha-2
Réponses
Section intitulée « Réponses »La demande d’adhésion à l’association
object
La personne avait déjà une demande d’adhésion ou une adhésion ici
Pourquoi l’adhésion est encore en attente, dans l’ordre : d’abord l’approbation de l’association (quand elle admet par décision de son conseil), puis la cotisation. Vide quand elle est active
La cotisation peut-elle déjà être payée ? Vaut false tant que l’approbation est en attente : l’approbation ouvre le paiement
Quand la carte devient utilisable, pour une adhésion active encore dans le délai fixé par l’association ; null sinon
object
Seulement pour un lien envoyé par la page d’adhésion hébergée de l’association quand cette page a été ouverte depuis l’un de ses événements publics : ce qu’est devenue la place que la personne a demandée avec sa demande d’adhésion. null pour tout autre lien
object
object
0 = gratuit
confirmed : la place est la sienne. reserved : retenue, voir waiting. held : la demande d’adhésion elle-même attend encore la confirmation de l’adresse, et aucune place n’a été demandée. unavailable : pas de place, voir reasons
Ce qu’attend une place reserved : que l’adhésion devienne active (elle est alors confirmée d’elle-même quand elle est gratuite), la contribution, ou les deux
Pourquoi la place est unavailable : les raisons de GET /v1/events/{slug}/eligibility
Comment payer une contribution due, dans les mots de l’association
La personne détenait déjà cette place avant que le lien soit utilisé
Exemple
{ "status": "pending", "pending_reasons": [ "approval" ], "event": { "state": "confirmed", "waiting": [ "membership" ] }}Le lien est invalide ou a expiré (invalid_token)
Introuvable
object
object
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" } ]}Le statuto a changé depuis l’envoi du lien (statuto_outdated) ; le compte n’est pas encore identifié (identification_required, errors[] nomme ce qui manque) : renvoyez le jeton avec identification ; ou l’association demande une adresse à chaque membre (address_required) : renvoyez le jeton avec address
Le bloc identification ne tient pas (validation_failed)
Limite de débit atteinte
object
object
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
object
object
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" } ]}