> For the complete documentation index, see [llms.txt](https://wikiedoc.guru-soft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wikiedoc.guru-soft.com/fr/integrations-et-services/rest/consultation/consultation-de-facture.md).

# Consultation de Facture

### Introduction

La **consultation de l’état d’une facture électronique** permet de connaître la situation actuelle d’un document précédemment émis et transmis dans le cadre du processus de facturation électronique.

Cette fonctionnalité permet aux utilisateurs et aux systèmes intégrés de retrouver une facture à partir de son **identifiant externe** et de sa **date d’émission**, puis d’obtenir les informations disponibles concernant son traitement.

Elle est principalement utilisée pour assurer le suivi d’une facture après son émission, vérifier son état dans le processus eDoc et disposer des informations nécessaires pour déterminer si le document a été correctement traité ou si une action complémentaire doit être envisagée.

Dans le contexte de la **facturation électronique en France**, cette consultation contribue à la traçabilité des documents échangés et permet aux systèmes de facturation, ERP ou autres solutions intégrées de suivre le cycle de traitement des factures électroniques.

Les cas d’utilisation courants comprennent notamment :

* Vérifier l’état actuel d’une facture électronique après son émission.
* Retrouver un document à partir de son identifiant et de sa date d’émission.
* Consulter les informations retournées concernant le traitement du document.
* Identifier le statut associé à une facture dans le processus eDoc.
* Faciliter le suivi des documents depuis un système ERP ou une solution de facturation.
* Éviter un nouvel envoi lorsqu’un document a déjà été correctement pris en charge.

## Authentification et Gestion des Accès

### Introduction

L’accès aux services du portail de facturation électronique nécessite une authentification préalable permettant d’identifier et d’autoriser l’application qui effectue les opérations.

La collection de référence utilise un mécanisme **OpenID Connect** avec le flux `client_credentials`. Dans ce modèle, l’application s’authentifie au moyen d’un identifiant client et d’un secret client afin d’obtenir un jeton d’accès destiné à la consommation des services autorisés.

Ce mécanisme est principalement destiné aux intégrations système à système, dans lesquelles une application doit accéder aux services sans intervention directe d’un utilisateur à chaque requête.

### Caractéristiques

* **Authentification centralisée** : L’application obtient ses droits d’accès auprès du service d’identité avant de consommer les fonctionnalités protégées du portail.
* **Utilisation d’OpenID Connect** : L’authentification s’appuie sur un point d’accès OpenID Connect dédié à l’obtention de jetons.
* **Flux `client_credentials`** : L’application s’authentifie avec ses propres informations d’identification, sans nécessiter la connexion interactive d’un utilisateur. La collection indique explicitement la valeur `client_credentials` pour le paramètre `grant_type`.
* **Identification de l’application** : Chaque intégration utilise un `client_id` permettant au système d’identité de reconnaître l’application qui demande l’accès.
* **Secret d’authentification** : Le `client_secret` est une information confidentielle associée à l’application et utilisée avec le `client_id` pour effectuer l’authentification.
* **Accès contrôlé aux services** : Le jeton obtenu permet à l’application de s’authentifier lors de la consommation des services auxquels elle est autorisée.
* **Protection des identifiants** : Le `client_secret` ne doit pas être publié dans la documentation, stocké dans le code source ou partagé avec des utilisateurs non autorisés.

### Obtention du Jeton D’accès

#### Méthode

`POST`

#### Ressource

[`https://labid-la.guru-soft.com/realms/fr-realm-qa/protocol/openid-connect/token`](https://labid-la.guru-soft.com/realms/fr-realm-qa/protocol/openid-connect/token)

La collection Postman de référence configure cette opération au moyen d’une requête `POST` vers le service OpenID Connect.

#### Paramètres d’authentification

La demande contient les informations suivantes :

* **grant\_type** : Définit le mécanisme utilisé pour obtenir le jeton. La valeur configurée est `client_credentials`.
* **client\_id** : Identifie l’application autorisée à demander un jeton.
* **client\_secret** : Secret confidentiel associé à l’application.

## Obtenir un jeton d'authentification

> Permet d'obtenir un jeton d'accès en utilisant le flux client\_credentials.<br>

```json
{"openapi":"3.0.3","info":{"title":"eDoc France - Authentification","version":"1.0.0"},"tags":[{"name":"Authentification","description":"Opérations liées à l'authentification des intégrations."}],"servers":[{"url":"https://labid-la.guru-soft.com","description":"Environnement QA"}],"paths":{"/realms/fr-realm-qa/protocol/openid-connect/token":{"post":{"tags":["Authentification"],"summary":"Obtenir un jeton d'authentification","description":"Permet d'obtenir un jeton d'accès en utilisant le flux client_credentials.\n","operationId":"obtenirJetonAuthentification","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"grant_type":{"type":"string","description":"Type de flux utilisé pour obtenir le jeton d'accès. La valeur utilisée est client_credentials.\n"},"client_id":{"type":"string","description":"Identifiant de l'application autorisée à demander un jeton d'accès.\n"},"client_secret":{"type":"string","format":"password","description":"Secret confidentiel associé à l'application. Cette valeur doit être conservée de manière sécurisée.\n"}}}}}},"responses":{"200":{"description":"Jeton d'accès généré correctement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}}}}}},"components":{"schemas":{"TokenResponse":{"type":"object","description":"Informations d'authentification retournées par le service d'identité.\n","properties":{"access_token":{"type":"string","description":"Jeton d'accès utilisé pour authentifier les requêtes adressées aux services protégés eDoc.\n"},"expires_in":{"type":"integer","format":"int32","description":"Durée de validité du jeton d'accès, exprimée en secondes.\n"},"refresh_expires_in":{"type":"integer","format":"int32","description":"Valeur d'expiration associée au mécanisme de renouvellement retournée par le service d'identité.\n"},"token_type":{"type":"string","description":"Type de jeton retourné par le service d'identité.\n"},"not-before-policy":{"type":"integer","format":"int32","description":"Valeur de la politique Not Before retournée par le service d'identité.\n"},"scope":{"type":"string","description":"Scopes accordés au jeton d'accès.\n"}}}}}}
```

## Consultation

## Consulter l'état d'une facture

> Récupère l'état actuel d'un document de facturation électronique français à partir de son identifiant et de sa date d'émission.

```json
{"openapi":"3.0.3","info":{"title":"eDoc France - Consultation de facture","version":"1.0.0"},"tags":[{"name":"Document Queries","description":"Opérations de consultation des documents de facturation électronique français."}],"servers":[{"url":"https://qas-fr-entpr-rest-issuing-qry.edoclab.com","description":"Environnement QA"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Utiliser la valeur `Bearer <access_token>`. Le jeton d'accès est obtenu via `POST https://labid-la.guru-soft.com/realms/fr-realm-qa/protocol/openid-connect/token`."}},"schemas":{"InvoiceQueryResponse":{"type":"object","description":"Réponse retournée par le service de consultation.","required":["context","result"],"properties":{"context":{"$ref":"#/components/schemas/RequestContext"},"result":{"$ref":"#/components/schemas/QueryResult"}}},"RequestContext":{"type":"object","description":"Contexte permettant d'identifier et de tracer la requête.","required":["request-id","timestamp","request-version","country","sender-id","integration"],"properties":{"request-id":{"type":"string","description":"Identifiant unique de la requête."},"timestamp":{"type":"string","format":"date-time","description":"Date et heure de la requête."},"request-version":{"type":"string","description":"Version du contrat de la requête."},"country":{"type":"string","description":"Code pays du modèle fiscal."},"sender-id":{"type":"string","description":"Identifiant de l'émetteur."},"integration":{"$ref":"#/components/schemas/IntegrationContext"}}},"IntegrationContext":{"type":"object","description":"Informations relatives au système ERP ou à l'intégration.","required":["id","name","version"],"properties":{"id":{"type":"string","description":"Identifiant de l'intégration."},"name":{"type":"string","description":"Nom de l'intégration."},"version":{"type":"string","description":"Version de l'intégration."}}},"QueryResult":{"type":"object","description":"Résultat fonctionnel de la consultation.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/ResultStatus"},"content":{"description":"Contenu retourné. Sa structure dépend de la valeur de `content-into`.","oneOf":[{"$ref":"#/components/schemas/FileResultContent"},{"$ref":"#/components/schemas/DocumentResultContent"}]}}},"ResultStatus":{"type":"object","description":"État fonctionnel et technique de l'opération.","required":["code","name","content-into"],"properties":{"code":{"type":"integer","format":"int32","description":"Code d'état retourné par eDoc."},"name":{"type":"string","description":"Nom de l'état."},"message":{"type":"string","description":"Message descriptif associé à l'état."},"content-into":{"type":"string","description":"Indique où se trouve le détail de la réponse dans `result.content`.","enum":["document","file","none"]}}},"FileResultContent":{"type":"object","description":"Contenu d'une réponse contenant un fichier.","properties":{"file":{"$ref":"#/components/schemas/DocumentFile"}}},"DocumentFile":{"type":"object","description":"Fichier documentaire retourné par l'API et encodé en Base64.","required":["file-type","format","filename","mime-type","transport","data"],"properties":{"file-type":{"type":"string","description":"Type de fichier retourné.","enum":["original","cii","ubl","facture-x"]},"format":{"type":"string","description":"Format technique du fichier retourné."},"filename":{"type":"string","description":"Nom du fichier retourné."},"mime-type":{"type":"string","description":"Type MIME du fichier."},"transport":{"type":"string","description":"Mode de transport du contenu.","enum":["b64"]},"data":{"type":"string","description":"Contenu du fichier encodé en Base64."}}},"DocumentResultContent":{"type":"object","description":"Contenu d'une réponse contenant les informations du document.","properties":{"document":{"$ref":"#/components/schemas/IssuedDocument"}}},"IssuedDocument":{"type":"object","description":"Informations du document émis ou consulté.","required":["tracking-id","document-type","identifier"],"properties":{"tracking-id":{"type":"string","description":"Identifiant interne unique de la transaction."},"document-type":{"type":"string","description":"Type du document."},"identifier":{"type":"string","description":"Identifiant normatif du document."},"file":{"$ref":"#/components/schemas/IssuedFileMetadata"},"status":{"type":"array","description":"États du document informés par les différentes sources.","items":{"$ref":"#/components/schemas/DocumentSourceStatus"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"IssuedFileMetadata":{"type":"object","description":"Métadonnées du fichier associé au document.","properties":{"format":{"type":"string","description":"Format du fichier."},"filename":{"type":"string","description":"Nom du fichier."},"transport":{"type":"string","description":"Mode de transport du fichier."}}},"DocumentSourceStatus":{"type":"object","description":"État du document communiqué par une source donnée.","required":["source","code","date"],"properties":{"source":{"type":"string","description":"Source ayant produit l'état."},"code":{"type":"integer","format":"int32","description":"Code d'état."},"name":{"type":"string","description":"Nom de l'état."},"message":{"type":"string","description":"Message associé à l'état."},"date":{"type":"string","format":"date-time","description":"Date et heure de l'état."}}},"Pagination":{"type":"object","description":"Métadonnées de pagination lorsqu'elles sont retournées.","properties":{"page":{"type":"integer","format":"int32","description":"Numéro de la page."},"page-size":{"type":"integer","format":"int32","description":"Nombre d'éléments par page."},"total-records":{"type":"integer","format":"int32","description":"Nombre total d'enregistrements."},"total-pages":{"type":"integer","format":"int32","description":"Nombre total de pages."}}}}},"paths":{"/invoice":{"get":{"tags":["Document Queries"],"summary":"Consulter l'état d'une facture","description":"Récupère l'état actuel d'un document de facturation électronique français à partir de son identifiant et de sa date d'émission.","operationId":"getDocumentStatus","parameters":[{"name":"document-id","in":"query","description":"Identifiant normatif externe du document. Exemple : FA2026-000123.","required":true,"schema":{"type":"string"}},{"name":"issue-date","in":"query","description":"Date d'émission du document au format yyyy-MM-dd.","required":true,"schema":{"type":"string","format":"date"}},{"name":"X-Request-Id","in":"header","description":"Identifiant unique de la requête généré par le système client.","required":true,"schema":{"type":"string"}},{"name":"X-Timestamp","in":"header","description":"Date et heure de la requête au format ISO 8601.","required":true,"schema":{"type":"string"}},{"name":"X-Request-Version","in":"header","description":"Version du contrat de la requête.","required":true,"schema":{"type":"string"}},{"name":"X-Country","in":"header","description":"Code pays correspondant au modèle fiscal cible.","required":true,"schema":{"type":"string"}},{"name":"X-Sender-Id","in":"header","description":"Identifiant unique de l'émetteur.","required":true,"schema":{"type":"string"}},{"name":"X-Integration-Id","in":"header","description":"Identifiant de transaction de l'ERP ou du système d'intégration.","required":true,"schema":{"type":"string"}},{"name":"X-Integration-Name","in":"header","description":"Nom de l'intégration.","required":true,"schema":{"type":"string"}},{"name":"X-Integration-Version","in":"header","description":"Version de l'intégration.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceQueryResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceQueryResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceQueryResponse"}}}},"403":{"description":"Forbidden"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceQueryResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceQueryResponse"}}}}}}}}}
```

## &#x20;<a href="#estados-edoc" id="estados-edoc"></a>

##


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wikiedoc.guru-soft.com/fr/integrations-et-services/rest/consultation/consultation-de-facture.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
