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_urlouattachments[].link).
Prérequis
Section titled “Prérequis”- Une clé API ayant accès au projet/compte de la facture.
- L’
invoice.idinterne 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 :
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'Factures émises : fichier légal via download_legal_url (IssuedInvoice / IssuedSelfInvoice)
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 :
GET /invoices/{INVOICE_ID}/as/originalPièces jointes (factures émises et reçues) : attachments[].link
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.
Étape 2 : télécharger le fichier
Section titled “Étape 2 : télécharger le fichier”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.
Télécharger via download_legal_url (factures émises, légal)
Section titled “Télécharger via download_legal_url (factures émises, légal)”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}'Télécharger via attachments[].link (pièces jointes)
Section titled “Télécharger via attachments[].link (pièces jointes)”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)”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}'Remarques
Section titled “Remarques”- Pour les factures reçues,
/invoices/{INVOICE_ID}/as/originalrenvoie le fichier reçu de l’émetteur (original = légal). - Pour les factures émises,
/invoices/{INVOICE_ID}/as/originalne 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.