Jeton d'authentification

Comment fonctionne notre système d'authentification ?

Comment accéder aux jetons ?

Connectez-vous avec votre compte administrateur et cliquez sur Voir mon profil

Comment créer un jeton ?

Cliquez sur le bouton Créer et afficher un nouveau jeton.

Attention, le jeton n'est affiché qu'à la création !

Comment fonctionnent les jetons ?

Les jetons peuvent être configurés pour :

Accéder en lecture et/ou écriture à toutes les démarches de l'administrateur ayant généré le jeton

Accéder en lecture et/ou écriture uniquement à une liste fermée des démarches de l'administrateur ayant généré le jeton

Pour des raisons de sécurité, nous recommandons l'usage de ce type de jeton qui restreint l'accès aux démarches nécessaires.

Comment utiliser le jeton ?

Ce jeton doit être fourni dans l’en-tête HTTP Authorization de la requête.

Authorization: Bearer token=valeur_du_jeton.

GraphQL

POST https://www.demarches-simplifiees.fr/api/v2/graphql

Le point d’entrée de l’API GraphQL.

Headers

NameTypeDescription

Content-Type*

string

application/json

Authorization*

string

Le jeton de l’administrateur

Request Body

NameTypeDescription

query*

string

La requête GraphQL

variables*

object

Les variables de la requête

{
    "data": {
    	"demarche": {
    	    "id": "UHJvY2VkdXJlLTYyNTE1",
	    "dossiers": {
	    	"nodes": [
		    {
		        "id": "RG9zc2llci05Mzk5MTkw",
		        "demandeur": {
			    "civilite": "M",
			    "nom": "Franklin",
			    "prenom": "Benjamin"
			}
		    },
	            {
			"id": "RG9zc2llci05NjQzMDIz",
			"demandeur": {
			    "civilite": "Mme",
		            "nom": "Curie",
			    "prenom": "Marie"
			}
		    },
		    {
			"id": "RG9zc2llci0xMzI2Njg1NQ==",
                        "demandeur": {
                            "civilite": "M",
			    "nom": "Pasteur",
			    "prenom": "Louis"
			}
		    }
		]
	    }
        }
    }
}

Exemple de requête

Pour tester que tout fonctionne bien

Pour tester l’API, le plus simple est d’effectuer une requête curl telle que ci dessous. Le principe est le même avec un autre client HTTP : remplacez votre_token et votre_numero_de_demarche par les valeurs souhaitez, et n’oubliez pas de préciser le content-type qui est toujours application/json :

curl 'https://www.demarches-simplifiees.fr/api/v2/graphql' \
    --header 'Authorization: Bearer <votre_token>' \
    --header 'Content-Type: application/json' \
    --data '{ "query": "query getDemarche($demarcheNumber: Int!) { demarche(number: $demarcheNumber) { id dossiers { nodes { id demandeur { ... on PersonnePhysique { civilite nom prenom } ... on PersonneMorale { siret } } } } } }", "variables": { "demarcheNumber": <votre_numero_de_demarche> } }'

Vous devriez alors obtenir des informations en sortie. S’il y a des dossiers dans votre démarche, cette requête vous donne les noms des demandeurs. Si la démarche s’adresse à des entreprises, vous aurez le numéro SIRET des demandeurs.

Exemple si mon jeton est A9Knc34tP== avec le numéro de démarche 12345:

curl 'https://www.demarches-simplifiees.fr/api/v2/graphql' \
    --header 'Authorization: Bearer A9Knc34tP==' \
    --header 'Content-Type: application/json' \
    --data '{ "query": "query getDemarche($demarcheNumber: Int!) { demarche(number: $demarcheNumber) { id dossiers { nodes { id demandeur { ... on PersonnePhysique { civilite nom prenom } ... on PersonneMorale { siret } } } } } }", "variables": { "demarcheNumber": 12345 } }'

Voici la réponse de l'API pour cette requête :

{
    "data": {
    	"demarche": {
    	    "id": "UHJvY2VkdXJlLTYyNTE1",
	    "dossiers": {
	    	"nodes": [
		    {
		        "id": "RG9zc2llci05Mzk5MTkw",
		        "demandeur": {
			    "civilite": "M",
			    "nom": "Franklin",
			    "prenom": "Benjamin"
			}
		    },
	            {
			"id": "RG9zc2llci05NjQzMDIz",
			"demandeur": {
			    "civilite": "Mme",
		            "nom": "Curie",
			    "prenom": "Marie"
			}
		    },
		    {
			"id": "RG9zc2llci0xMzI2Njg1NQ==",
                        "demandeur": {
                            "civilite": "M",
			    "nom": "Pasteur",
			    "prenom": "Louis"
			}
		    }
		]
	    }
        }
    }
}

Si vous obtenez une erreur, vérifiez que :

  • chaque paramètre header est correct

  • il n'y a pas d'espace ou de guillemet en trop ou en moins

  • les majuscules et miniscules sont respectées

  • l'url, le jeton et le numéro de démarche sont corrects

  • lisez le message d'erreur et consultez nos pages Problèmes fréquents d'authentification et la gestion d'erreur

Dernière mise à jour