/cpro/factures/v1/telecharger/groupeDownload invoices (PDF)
Download the PDF of one or more invoices. The response is JSON: fichierResultat holds the file in base64, either a PDF or a ZIP archive containing the PDFs.
Multiple Authentication Required
ALL REQUIREDThis endpoint requires all of the following authentication methods:
OAuth2 Bearer token
Chorus Pro account credentials
Required Header
cpro-account: base64(login:password)How to authenticate
Include your Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_TOKENYou can obtain your API token from your account dashboard.
How to authenticate
Include the custom header in your request:
cpro-account: base64(login:password)Body Parameters
| Parameter | Required | Description |
|---|---|---|
idUtilisateurCourant Type: number | Required | Chorus Pro identifier of the technical user. |
format Type: string | Required | Output format, "PDF". |
avecPiecesJointesComplementaires Type: string | Required | "Oui" or "Non". See the note on TRA_MSG_00.007 above. |
listeFacture Type: array | Required | Invoices to download, each as { idFacture } (the identifiantFactureCPP). |
Example Request Body
{
"idUtilisateurCourant": 50467405,
"idEspace": 0,
"format": "PDF",
"avecPiecesJointesComplementaires": "Non",
"listeFacture": [{ "idFacture": 611078020 }]
}Responses
⚠️ Observed in the field
- Observed in production (01/10/2026): codeRetour 20006 / TRA_MSG_00.007 « Le SMA est indisponible ou a remonté une erreur » is not always a global outage. For two invoices it came back on every attempt for 40 hours (61 failures) with avecPiecesJointesComplementaires: "Non", while every other invoice of the same supplier downloaded normally in the same minutes. The same request with avecPiecesJointesComplementaires: "Oui" returned the PDF of the invoice immediately (2 pages, same document).
- With "Oui", the answer is usually a ZIP (22 sandbox invoices checked on 01/10/2026, production returned a bare PDF for the same supplier). Inside, the complementary attachments keep their original file names (RIB_REVOLUT.pdf, KBIS.pdf…), an invoice uploaded as a PDF keeps its own name too (facture_F-2026-183.pdf), and Chorus adds its own files: PJ00FAC<…><invoice number>.pdf for the invoice it generated (typed-in invoices, SAISIE_API), PJ00XFAC<…>.pdf for the Factur-X duplicate. Never pick « the first PDF » or a name containing FAC: take PJ00FAC, else PJ00XFAC.
- consulter/fournisseur lists the attachments (listeDesPiecesJointes: type, designation, extension) but not their file names, so it cannot be used to match the archive.
- Practical rule: on 20006, retry once with "Oui" before waiting for the service to come back.
/cpro/factures/v1/telecharger/groupeDownload invoices (PDF)
Download the PDF of one or more invoices. The response is JSON: fichierResultat holds the file in base64, either a PDF or a ZIP archive containing the PDFs.
Multiple Authentication Required
ALL REQUIREDThis endpoint requires all of the following authentication methods:
OAuth2 Bearer token
Chorus Pro account credentials
Required Header
cpro-account: base64(login:password)How to authenticate
Include your Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_TOKENYou can obtain your API token from your account dashboard.
How to authenticate
Include the custom header in your request:
cpro-account: base64(login:password)Body Parameters
| Parameter | Required | Description |
|---|---|---|
idUtilisateurCourant Type: number | Required | Chorus Pro identifier of the technical user. |
format Type: string | Required | Output format, "PDF". |
avecPiecesJointesComplementaires Type: string | Required | "Oui" or "Non". See the note on TRA_MSG_00.007 above. |
listeFacture Type: array | Required | Invoices to download, each as { idFacture } (the identifiantFactureCPP). |
Example Request Body
{
"idUtilisateurCourant": 50467405,
"idEspace": 0,
"format": "PDF",
"avecPiecesJointesComplementaires": "Non",
"listeFacture": [{ "idFacture": 611078020 }]
}Responses
⚠️ Observed in the field
- Observed in production (01/10/2026): codeRetour 20006 / TRA_MSG_00.007 « Le SMA est indisponible ou a remonté une erreur » is not always a global outage. For two invoices it came back on every attempt for 40 hours (61 failures) with avecPiecesJointesComplementaires: "Non", while every other invoice of the same supplier downloaded normally in the same minutes. The same request with avecPiecesJointesComplementaires: "Oui" returned the PDF of the invoice immediately (2 pages, same document).
- With "Oui", the answer is usually a ZIP (22 sandbox invoices checked on 01/10/2026, production returned a bare PDF for the same supplier). Inside, the complementary attachments keep their original file names (RIB_REVOLUT.pdf, KBIS.pdf…), an invoice uploaded as a PDF keeps its own name too (facture_F-2026-183.pdf), and Chorus adds its own files: PJ00FAC<…><invoice number>.pdf for the invoice it generated (typed-in invoices, SAISIE_API), PJ00XFAC<…>.pdf for the Factur-X duplicate. Never pick « the first PDF » or a name containing FAC: take PJ00FAC, else PJ00XFAC.
- consulter/fournisseur lists the attachments (listeDesPiecesJointes: type, designation, extension) but not their file names, so it cannot be used to match the archive.
- Practical rule: on 20006, retry once with "Oui" before waiting for the service to come back.