Skip to content
Log in

Télécharger les factures

Lorsque vous travaillez avec des factures, il est important de différencier :

  • Fichier de facture légal : le fichier officiel final qui a été délivré (factures émises) ou reçu (factures reçues).
  • Fichier de facture original : le premier fichier reçu par B2Brouter pour cette facture (pour les factures émises, il s’agit généralement d’un fichier source importé ; pour les factures reçues, c’est la facture reçue de l’émetteur).
  • Exporter une facture vers un format spécifique : B2Brouter génère un document à partir des données de la facture (il peut différer du fichier légal/original).
  • Pièces jointes : fichiers additionnels liés à la facture (PDF, etc.). Les pièces jointes ne sont pas la facture elle-même.

Selon ce dont vous avez besoin, vous devrez soit :

  • appeler un endpoint de téléchargement direct (par exemple /invoices/{INVOICE_ID}/as/original), soit
  • utiliser un chemin de téléchargement renvoyé dans le JSON de la facture (par exemple download_legal_url ou attachments[].link).
  • Une clé API ayant accès au projet/compte de la facture.
  • L’invoice.id interne B2Brouter (que vous pouvez obtenir via les endpoints de liste).

Étape 1 : obtenir le payload de la facture (optionnel mais recommandé)

Section titled “Étape 1 : obtenir le payload de la facture (optionnel mais recommandé)”

Appelez Get invoice pour récupérer le JSON de la facture et localiser les champs pertinents :

Terminal window
curl --request GET \
--url https://api-staging.b2brouter.net/invoices/{INVOICE_ID}.json \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'
Section titled “Factures émises : fichier légal via download_legal_url (IssuedInvoice / IssuedSelfInvoice)”

Après l’envoi d’une facture émise, la réponse peut inclure download_legal_url, qui pointe vers le fichier légal remis au destinataire (par exemple, l’exact XML soumis à un réseau/une plateforme, ou le PDF légal).

download_legal_url est un chemin relatif (et non une URL complète), par exemple :

{
"invoice": {
"download_legal_url": "/attachments/download/{ATTACHMENT_ID}/{FILENAME}"
}
}

Factures reçues : fichier original/légal via /invoices/{id}/as/original

Section titled “Factures reçues : fichier original/légal via /invoices/{id}/as/original”

Pour les factures reçues, le fichier original est également le fichier légal. Téléchargez-le directement avec :

Terminal window
GET /invoices/{INVOICE_ID}/as/original
Section titled “Pièces jointes (factures émises et reçues) : attachments[].link”

Le JSON de la facture peut inclure un tableau attachments. Chaque entrée contient un link que vous pouvez utiliser pour télécharger la pièce jointe stockée.

attachments[].link est un chemin relatif (et non une URL complète), par exemple :

{
"invoice": {
"attachments": [
{
"link": "/attachments/download/{ATTACHMENT_ID}/{FILENAME}",
"content_type": "application/pdf"
}
]
}
}

Pour une explication plus détaillée des pièces jointes et des PDF légaux, consultez : Manage invoice attachments.

Les champs d’URL renvoyés par l’API (download_legal_url, attachments[].link) sont des chemins relatifs. Préfixez-les avec l’URL de base de votre environnement.

Section titled “Télécharger via download_legal_url (factures émises, légal)”
Terminal window
curl --request GET \
--url https://api-staging.b2brouter.net{download_legal_url} \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}'
Section titled “Télécharger via attachments[].link (pièces jointes)”
Terminal window
curl --request GET \
--url https://api-staging.b2brouter.net{attachment_link} \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}'

Télécharger via /invoices/{id}/as/original (original)

Section titled “Télécharger via /invoices/{id}/as/original (original)”
Terminal window
curl --request GET \
--url https://api-staging.b2brouter.net/invoices/{INVOICE_ID}/as/original \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}'
  • Pour les factures reçues, /invoices/{INVOICE_ID}/as/original renvoie le fichier reçu de l’émetteur (original = légal).
  • Pour les factures émises, /invoices/{INVOICE_ID}/as/original ne fonctionne que lorsque la facture possède un fichier original (par exemple un XML importé). Si la facture a été créée directement à partir d’un payload JSON, il se peut qu’il n’y ait pas de fichier original à télécharger.