API GraphQL

Pour être informé des évolutions de l'API, vous pouvez vous inscrire à notre newsletter dédiée

L'API GraphQL de demarches-simplifiees.fr permet de consulter :

  • les informations d'une démarche,

  • la liste et les détails des dossiers d'une démarche,

  • les détails d'un dossier spécifique.

Elle permet également de modifier certaines informations d'un dossier :

  • Envoyer un message à l'usager d'un dossier ;

  • Changer l'état d'un dossier (accepté, refusé, etc.)

Aperçu général de GraphQL

Cette API suit le paradigme GraphQL. Pour plus d'informations sur le fonctionnement de GraphQL en général, vous pouvez consulter les liens suivants :

Accéder à l'API GraphQL de demarches-simplifiees.fr

L'API est accessible à l'adresse https://www.demarches-simplifiees.fr/api/v2/graphql. Elle renvoie des données au format JSON, à travers un transport HTTPS.

Pour construire une requête et interpréter les réponses, consultez la documentation complète du schéma de l'API.

Vous êtes un organisme public, un intégrateur, une SSII ou un éditeur, et vous souhaitez tester l'API Graph QL

Vous devez effectuer une démarche auprès des équipes DS et pour cela remplir une demande à l'adresse suivante.

Votre demande sera examinée, et vous recevrez un token de test, ainsi qu'un accès à un formulaire de test qui vous permettra d'effectuer des saisies de dossiers puis de tester les API.

Authentification

Tous les appels sont authentifiés et doivent donc fournir un jeton valide qui est accessible dans la partie profil de l'administrateur. Ce jeton doit être fourni dans l'en-tête HTTP Authorization de la requête.

Authorization: Bearer token=valeur_du_jeton.

post
GraphQL

https://www.demarches-simplifiees.fr/api/v2/graphql
Le point d'entrée de l'API GraphQL.
Request
Response
Request
Headers
Content-Type
required
string
application/json
Authorization
required
string
Le jeton de l'administrateur
Body Parameters
query
required
string
La requête GraphQL
variables
optional
object
Les variables de la requête
Response
200: OK
Cake successfully retrieved.
{
"data": {
"dossier": {
"id": "RG9zc2llci0xMDMyODgy",
"number": "1032882"
}
},
"errors": [
{
"message": "Field 'dosier' doesn't exist on type 'Query'",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"query getDossier",
"dosier"
],
"extensions": {
"code": "undefinedField",
"typeName": "Query",
"fieldName": "dosier"
}
}
]
}

Exemple de requête

Récupérer les informations d'une démarche, et les dossiers associés :

query getDemarche($demarcheNumber: Int = 1234) {
demarche(number: $demarcheNumber) {
id
number
title
champDescriptors {
id
type
label
}
dossiers(first: 10) {
nodes {
id
number
datePassageEnConstruction
datePassageEnInstruction
dateTraitement
dateDerniereModification
usager {
email
}
demandeur {
... on PersonnePhysique {
civilite
nom
prenom
}
... on PersonneMorale {
siret
naf
entreprise {
siren
dateCreation
}
association {
rna
dateCreation
}
}
}
messages {
attachment {
filename
url
}
body
createdAt
}
avis {
attachment {
url
filename
}
dateQuestion
dateReponse
expert {
email
}
instructeur {
email
}
question
reponse
}
champs {
id
label
... on TextChamp {
value
}
... on DecimalNumberChamp {
value
}
... on IntegerNumberChamp {
value
}
... on CheckboxChamp {
value
}
... on DateChamp {
value
}
... on DossierLinkChamp {
dossier {
id
}
}
... on MultipleDropDownListChamp {
values
}
... on LinkedDropDownListChamp {
primaryValue
secondaryValue
}
... on PieceJustificativeChamp {
file {
byteSize
checksum
contentType
filename
url
}
}
... on CarteChamp {
geoAreas {
source
geometry {
type
coordinates
}
}
}
... on SiretChamp {
etablissement {
siret
naf
entreprise {
siren
dateCreation
}
association {
rna
dateCreation
}
}
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}

Pour plus d'informations sur le format des requêtes et des réponses, consultez la documentation complète du schéma de l'API.

Pour être informé des évolutions de l'API, vous pouvez vous inscrire à notre newsletter dédiée