Endpoints · PDF
Étiquettes PDF
Télécharger une étiquette ou fusionner plusieurs bordereaux pour l'impression.
Télécharger l'étiquette PDF à apposer sur le colis. Voie recommandée. Génère le PDF s'il n'existe pas encore (ou s'il est corrompu), puis renvoie une URL absolue et un nom de fichier d'affichage. Scope write (méthode POST).
| Endpoint | Scope | Renvoie |
|---|---|---|
POST /shipping/:id/download-link — recommandé | write | JSON { success, downloadUrl, filename, action: "download" } |
POST /shipping/:id/view-link | write | JSON { success, viewUrl, action: "view" } — sans filename |
GET /shipping/:id/download | read | 302 vers le PDF. Votre client HTTP doit suivre les redirections (curl -L). |
POST /shipping/pdf/export | write | Les octets d'un PDF fusionné, pas du JSON |
Les trois premiers servent le même fichier et le génèrent à la demande si besoin. Préférez download-link : c'est le seul qui vous rend l'URL et un nom de fichier sans imposer à votre client HTTP de gérer une redirection. view-link est le même appel pour un affichage navigateur — mais il ne renvoie pas de filename.
# 1. Obtenir l'URL du PDF (le bordereau est genere s'il manque)
curl -X POST "https://api.arelpro.com/pro/api/v1/shipping/665f.../download-link" \
-H "Authorization: Bearer sk_live_VOTRE_CLE" \
-H "X-Client-Id: VOTRE_CLIENT_ID"
# Reponse :
# {
# "success": true,
# "downloadUrl": "https://api.arelpro.com/pdfs/bordereau_AREL-20260716-00042_9f2c41d7b83e05a6c1de74baf39027ec.pdf",
# "filename": "bordereau_AREL-20260716-00042.pdf",
# "action": "download"
# }
#
# ATTENTION : filename n'est PAS le nom du fichier dans l'URL. C'est un nom
# d'affichage, sans le suffixe aleatoire. Suivez downloadUrl telle quelle ;
# ne reconstruisez jamais l'URL a partir de filename ou de la reference.
# 2. Telecharger le fichier : suivez downloadUrl VERBATIM, sans en-tete.
curl -o bordereau.pdf "<collez ici la valeur exacte de downloadUrl>"L'URL du PDF est un secret
/pdfs/… se sert sans authentification — c'est voulu : le PDF doit rester imprimable depuis un poste d'atelier, un navigateur ou une imprimante réseau. Ce qui protège le fichier, c'est que son nom est indevinable : il porte un suffixe aléatoire de 32 caractères hexadécimaux, tiré au hasard à la génération.
Ne fabriquez jamais l'URL vous-même à partir du numéro de référence. /pdfs/bordereau_AREL-….pdf n'existe pas. La seule URL valide est celle que downloadUrl, viewUrl ou pdfUrl vous a rendue : transportez-la telle quelle.
Corollaire : quiconque a le lien a le bordereau. Ne le transmettez pas à vos clients finaux et ne le posez pas dans une page publique — le PDF porte le nom, l'adresse complète et le téléphone du destinataire.
Le champ filename de download-link vaut bordereau_<référence>.pdf : c'est un nom lisible pour proposer l'enregistrement à un humain, pas le nom du fichier servi. Il ne contient pas le suffixe secret et ne permet pas de reconstruire l'URL.
Exporter plusieurs bordereaux en un PDF
Fusionne plusieurs bordereaux en un seul document, pour une impression en série. Cet endpoint renvoie les octets du PDF, pas du JSON : prévoyez une écriture fichier (-o en curl) et attendez-vous à Content-Type: application/pdf. Scope write.
# Fusionne plusieurs bordereaux en UN seul PDF.
# Renvoie directement les octets du PDF (pas du JSON) : prevoyez -o.
curl -X POST "https://api.arelpro.com/pro/api/v1/shipping/pdf/export" \
-H "Authorization: Bearer sk_live_VOTRE_CLE" \
-H "X-Client-Id: VOTRE_CLIENT_ID" \
-H "Content-Type: application/json" \
-o bordereaux.pdf \
-d '{ "scope": "selected", "shippingIds": ["665f...", "6660..."] }'
# Ou tous les bordereaux correspondant a un filtre :
# -d '{ "scope": "filtered", "filters": { "status": "created" } }'Deux valeurs de scope : selected attend la liste explicite shippingIds, filtered attend un objet filters et exporte tout ce qui y correspond.
Un identifiant invalide fait échouer tout l'export
Il n'y a pas de succès partiel : si un shippingId est inconnu ou n'appartient pas à votre compte, l'appel entier échoue et aucun PDF n'est produit. Vous ne recevrez pas un document amputé des bordereaux fautifs.
Conséquence pratique : validez votre liste avant l'appel plutôt que d'espérer récupérer ce qui passe.