Comment fonctionne l'API
Le principe de fonctionnement, pas la liste exhaustive des routes : de quoi savoir en quelques minutes si Todis correspond à votre besoin.
En trois étapes
Vous vous authentifiez avec le jeton reçu par email à l'inscription.
Vous transmettez une preuve à Todis, directement ou via un flux guidé avec le portefeuille de votre utilisateur.
Vous recevez un résultat clair : vérifié ou non, avec uniquement les informations demandées.
S'authentifier
Chaque appel utilise le jeton reçu par email à l'inscription, à
passer dans l'en-tête Authorization: Bearer <jeton>.
Un jeton absent, invalide ou expiré renvoie systématiquement une
erreur 401.
Deux façons d'intégrer
Selon que vous avez déjà la preuve de votre utilisateur en main, ou que vous préférez laisser Todis orchestrer l'échange avec son portefeuille.
Vérification directe
Vous avez déjà reçu la preuve de votre utilisateur (SD-JWT VC ou mdoc) par un autre moyen. Un seul appel HTTP suffit pour la faire vérifier :
curl -X POST https://verify.todis.eu/verify/sd-jwt-vc \
-H "Authorization: Bearer VOTRE_JETON" \
-H "Content-Type: application/json" \
-d '{
"presentation": "<preuve reçue du portefeuille>",
"country_code": "FR"
}'
country_code laisse Todis retrouver automatiquement
l'émetteur dans le registre officiel de l'UE. Vous pouvez aussi
fournir directement sa clé publique avec
issuer_public_key_pem si vous la connaissez déjà.
Flux complet (OpenID4VP)
Vous demandez à Todis de créer une session de vérification. Votre utilisateur scanne un QR code ou ouvre son portefeuille, qui envoie sa réponse directement à Todis. Vous récupérez ensuite le résultat via l'identifiant de session.
C'est la méthode qui simplifie le plus votre intégration : votre application n'a jamais à recevoir ni interpréter la réponse brute du portefeuille, elle récupère directement un résultat déjà vérifié par Todis !
Qui décide ce qui est partagé
Dans un portefeuille européen, chaque information (l'âge, un diplôme, un statut) est protégée séparément par sa propre preuve cryptographique. Le portefeuille ne joint à sa réponse que les preuves des informations que l'utilisateur a accepté de partager : les autres restent invisibles, pas seulement masquées. Todis ne peut techniquement pas les voir, avec ou sans autorisation.
Avec le flux complet, c'est vous qui décidez quelles informations
demander, via le champ claims de votre requête (par
exemple ["age_over_18"]). Todis transmet cette
demande au portefeuille, qui affiche à l'utilisateur un écran de
consentement listant exactement les informations demandées avant
qu'il n'accepte. Avec la vérification directe, cette étape s'est déjà
déroulée avant que la preuve n'arrive chez Todis : vous nous
transmettez une preuve déjà construite, nous la vérifions et vous
renvoyons son contenu tel quel, sans y ajouter ni retirer quoi que
ce soit.
La réponse
Dans les deux cas, la réponse est simple : vérifié ou non, avec uniquement les informations effectivement divulguées (voir ci-dessus) :
{
"verified": true,
"claims": { "age_over_18": true }
}
Besoin du détail complet ?
Codes de réponse et cas d'erreur : voir la référence technique. Schéma exact des requêtes/réponses : todis.eu/docs (Swagger). Une question qui reste sans réponse ? contact@todis.eu.