Expédier des colis

Tirez parti de nos API regroupées pour élaborer et mettre en œuvre rapidement des solutions d’expédition pour le cybercommerce

Produits d’API requis

Pour commencer 

Avant d’intégrer l’API des retours autorisés, assurez-vous d’effectuer les étapes préalables et de configuration suivantes. Pour obtenir un aperçu plus détaillé, consultez le guide de démarrage rapide.

Préalables

Remarque: Pour utiliser l’API, vous devez d’abord avoir un compte commercial de Postes Canada valide qui fournit un numéro de compte. Les membres de la clientèle commerciale ont habituellement une convention commerciale officielle. Elle fournit un numéro de convention et la facturation est portée au compte. Les membres du programme Solutions pour petites entreprises peuvent accéder à l’API à l’aide de leur numéro de compte SPPE. Les services de retour sont généralement facturés à la carte de crédit qui figure dans votre profil ou votre compte d’entreprise.

Une fois que vous avez un compte, voici les prochaines étapes à suivre pour utiliser l’API :

  1. Créez un identifiant pour le site postescanada.ca.  
  2. Inscrivez-vous au Portail des développeurs de Postes Canada.
  3. Obtenez vos identifiants pour les environnements d’essai et de production de l’API (clé API et Code API Secret).

Points de terminaison des API

Environnement de production

https://api.canadapost-postescanada.ca/prod/devportal-portaildesdeveloppeurs/shipping/v1/{mailedBy}/{mobo}/shipment 

En-têtes requis

Nom d’en-têteÉtat requisDescription et objet
Type de contenu

Obligatoire

Exemple de valeur ou de format

Unique par groupe de services. Consultez les documents sur l’interface API pour obtenir plus de précisions.

Il s’agit de la version JSON du corps que vous envoyez dans la demande POST.

Remarque : */* à la place de la valeur d’en-tête affichera un message d’erreur.

Acceptation

Obligatoire

Exemple de valeur ou de format

Unique par groupe de services. Consultez les documents sur l’interface API pour obtenir des précisions ou utilisez le type de média à partir du lien fourni dans la réponse.

Il s’agit de la version JSON de la réponse que vous vous attendez à recevoir.

Remarque : */* à la place de la valeur d’en-tête affichera un message d’erreur.

Autorisation

Obligatoire

Exemple de valeur ou de format

Bearer

Porte le jeton d’accès pour authentifier la demande.

Précisions :

  • Le mot porteur est une valeur littérale qui doit être présente.
  • La valeur du jeton est un résultat de l’appel de service d’autorisation précédant l’appel de service réel (p. ex., tarification/suivi/expédition).
  • Vous devez actualiser le jeton lorsqu’il expire (consultez le guide d’authentification pour obtenirtous les détails).
Accept-Language

Facultatif

Exemple de valeur ou de format

« en-CA » ou « fr-CA »

Indique la langue de préférence pour tout message d’erreur lisible par un humain qui peut être généré.

Services d’expédition offerts

Nous offrons des services d’expédition des régimes intérieur et international. Vous trouverez ci-dessous une liste catégorisée des services couramment pris en charge, y compris les codes de service requis pour toutes les demandes d’API.

Services du régime intérieur

(au Canada)

Nom du serviceCode de service APIAvantages
Colis standardMCDOM.RPExpédition de surface économique
Colis accélérésMCDOM.EPLivraison plus rapide grâce au repérage.
XpresspostMCDOM.XPLivraison garantie le jour suivant ou en deux jours dans les grands centres urbains.
Priorité MCDOM.PCOption de livraison la plus rapide avec repérage et signature.
Documents de bibliothèqueDOM.LIBService spécial et économique pour l’expédition de documents de bibliothèque (livres, etc.).

Services à destination des États-Unis

(expédition aux États-Unis)

Nom du serviceCode de service APIAvantages
Colis accélérésMC – É.-U.USA.EPLivraison en aussi peu que 4 jours ouvrables pour les gros colis. Repérage inclus.
XpresspostMC – É.-U.USA.XPLivraison en 2 ou 3 jours ouvrables. Service garanti avec suivi.
Paquet repérableMC – É.-U.USA.TPOption rentable pour les articles petits et légers. Comprend le service de suivi.
Petit paquetMC par avion – É.-U.USA.SP.AIRService économique pour les petits articles de faible valeur. Aucun repérage inclus.

Service international

Nom du serviceCode de service APIAvantages
XpresspostMC – InternationalINT.XPLivraison garantie et rapide en seulement quatre jours ouvrables vers les principaux marchés. Comprend le service de suivi.
Paquet repérableMC – InternationalINT.TPOption rentable pour les articles petits et légers à destination de certains pays. Comprend le service de suivi.
Petit paquetMC par avion – InternationalINT.SP.AIRService aérien économique pour les petits articles de faible valeur. Aucun repérage inclus.
Petit paquetMC de surface – InternationalINT.SP.SURFOption la moins coûteuse pour les petits articles de faible valeur. La livraison peut prendrede un à trois mois.
Colis-avion – InternationalINT.IP.AIRService aérien standard pour les gros colis. Comprend le repérage pour de nombreuses destinations.
Colis de surface – InternationalINT.IP.SURFService standard par voie terrestre ou maritime pour les gros colis. Longs délais de transit (1 à 3 mois).

Options d’expédition

Les options d’expédition sont sélectionnées en fournissant le code d’option approprié (par exemple, SO ou COV) dans vos demandes d’API. Les options peuvent être utilisées ensemble ou de façon indépendante, bien que certaines puissent entrer en conflit avec d’autres ou nécessiter des données supplémentaires.

Afficher une liste complète des codes valides et de leurs descriptions

Nom de l’optionCode d’option APIAvantages/exigences techniques
SignatureSOS’assurer que le colis est signé au moment de la livraison.
Couverture (assurance)COVOffre une couverture à valeur déclarée. Nécessite le champ de l’option Montant (ou un qualificatif spécial pour la couverture maximale).
Service Contre remboursement (CR)CODPerçoit le paiement du destinataire à la livraison. Nécessite le champ de l’option Montant à percevoir.
L’option Confirmation de livraisonDCObtenez une signature au moment de la livraison de l’article. Cela est inclus dans la plupart des services de repérage comme le service Colis accélérésMC.
Preuve d’âgePA18, PA19, PA21S’assure que la livraison est effectuée uniquement à un destinataire qui atteint l’âge précisé (doit utiliser l’un des codes suivants : PA18, PA19 ou PA21).
Carte Retenue pour ramassageHFPPostes Canada retient l’article à un bureau de poste désigné, avisant le destinataire de le ramasser.
Ne pas laisser en lieu sûrDNSEmpêche Postes Canada de laisser l’article en lieu sûr si le destinataire n’est pas disponible.
Laisser à la porte (pas d’avis)LADPermet à Postes Canada de laisser l’article à la porte du destinataire sans laisser de carte Avis de livraison.
Livrer au bureau de posteD2POLe colis est livré directement à un bureau de poste à proximité plutôt qu’à l’adresse du destinataire.

Exemple de demande d’options d’expédition

{ 
  "serviceCode": "DOM.XP", 
  "options": [ 
    { 
      "optionCode": "SO", 
      "optionAmount": "0.00" 
    }, 
    { 
      "optionCode": "COV", 
      "optionAmount": "100.00" 
    } 
  ] 
} 

Options de traitement en cas de non-livraison

Pour les envois du régime international et des États-Unis qui ne sont pas distribuables, une directive de traitement en cas de non-livraison doit être précisée dans la demande d’API. Cela détermine le sort du colis si la livraison échoue.

Nom de l’optionCode APIDirectives de manutentionIncidences sur les coûts
Renvoi aux frais de l’expéditeurRASEL’article est renvoyé à l’expéditeur d’origine.L’expéditeur paie les frais de retour.
Renvoi à l’expéditeurRTSL’article est renvoyé à l’expéditeur d’origine.Habituellement, aucun coût supplémentaire (souvent inclus dans le tarif de base).
AbandonABANL’article n’est pas retourné et il est éliminé ou traité conformément à la réglementation du pays de destination.Aucun coût de retour, mais aucune récupération de marchandises.

Remarque : Ces options sont requises pour de nombreux services, en particulier les colis commerciaux comme les services Colis-avion/de surface – International et Colis accélérésMC – É.-U. L’omission pour les services requis entraînera une erreur de validation. 

Indicateurs d’emballage

Ces indicateurs sont transmis dans l’élément parcelCharacteristics de votre demande d’API. Elles ont une incidence sur le calcul des tarifs et la manutention.

IndicateurNom du champ API (booléen)Description et logique du supplément
Tube d’expéditionmailingTube: trueS’applique aux paquets cylindriques (affiches, plans). Entraîne un supplément.
Article non emballéunpackaged: trueS’applique si l’article n’est pas entièrement contenu, s’il est mal emballé ou s’il a une forme irrégulière (p. ex., pneus). Entraîne un supplément.
Surdimensionnéoversized: trueS’applique si l’article dépasse les dimensions standard ou les limites de poids de Postes Canada.

Remarques importantes sur la mise en œuvre :

  • Si votre article respecte ces conditions, vous devez manuellement régler mailingTube ou unpackaged à True.  
  • L’interface d’API définit habituellement l’indicateur d’article surdimensionné automatiquement si vous fournissez des dimensions qui dépassent les seuils maximaux.  
  • Nous n’appliquons qu’un seul supplément. Si le supplément pour articles non emballés s’applique, le supplément pour articles surdimensionnés sera annulé. 

Demande d’exemple d’indicateur d’emballage

{ 
  "parcelCharacteristics": { 
    "weight": 1.2, 
    "dimensions": { 
      "length": 60, 
      "width": 10, 
      "height": 10 
    }, 
    "mailingTube": true 
  } 
} 

Cas d’utilisation

Voici des scénarios typiques que notre clientèle pourrait rencontrer lors de l’intégration avec nos API. Chaque cas d’utilisation est illustré à l’aide d’un diagramme d’appel, qui fournit des précisions sur le flux de données ou de demandes et les paramètres nécessaires pour lancer ces appels.

Exemple 1

Obtenir les tarifs des services d’expédition

Lorsque vous lancez l’appel Obtenir les tarifs, vous fournissez les caractéristiques d’un colis donné dans votre demande. Tous les services et les coûts d’expédition applicables seront renvoyés dans les données JSON. Vous ou votre cliente ou client (selon votre mise en œuvre) pouvez ensuite sélectionner la méthode d’expédition préférée en fonction de la rapidité et du coût.

Organigramme pour obtenir les tarifs des services d’expédition à l’aide d’une API de Postes Canada. Un texte descriptif de l’organigramme est fourni sur la page.

Cet organigramme décrit le procédé d’obtention des tarifs d’expédition à l’aide d’une API de Postes Canada. Tout commence par la collecte des renseignements sur l’envoi par l’application de la cliente ou du client, qui sont ensuite envoyés à l’API. Les données de tarification sont retournées à l’application de la cliente ou du client, qui sélectionne le service d’expédition en fonction des renseignements fournis (vitesse et coût).

Agrandir l’image

Exemple 2

Imprimer les étiquettes d’expédition (sur du papier ordinaire ou thermosensible)

Lorsque vous créez un envoi, vous pouvez préciser ce qui suit :  

  • Étiquettes sur papier thermosensible ou ordinaire  
  • Codage des étiquettes en format PDF  
  • Options relatives aux avis électroniques pour le suivi (pour la clientèle titulaire d’un compte commercial, les activités de suivi des envois commencent une fois que le manifeste a été transmis)  
  • Une étiquette de retour
  • Renseignements sur les prix
  • Un code QR

L’image suivante illustre le nombre minimal d’appels nécessaires pour obtenir une image d’étiquette.

Organigramme pour l’impression d’étiquettes d’expédition à l’aide d’une API de Postes Canada. Un texte descriptif de l’organigramme est fourni sur la page.

Cet organigramme décrit le procédé d’impression des étiquettes d’expédition à l’aide d’une API de Postes Canada. L’application de la cliente ou du client lance le procédé en regroupant les détails de la commande et en les envoyant à l’API de Postes Canada. L’API renvoie ensuite les liens vers l’application de la cliente ou du client, qui utilise ces liens dans l’appel pour obtenir l’artéfact. Le résultat final est l’étiquette d’expédition en format PDF ou ZPL (thermique) prête à imprimer.

Agrandir l’image

Exemple 3

Imprimer une étiquette d’expédition du régime intérieur avec une étiquette de retour

Vous voudrez peut-être imprimer une étiquette de retour à joindre à un envoi. L’étiquette de retour n’est pas facturée à votre compte tant qu’elle n’est pas apposée sur un envoi de retour et qu’elle ne passe pas par le flot du courrier.  

Les liens vers les étiquettes d’expédition et de retour du régime intérieur vous sont renvoyés dans la même réponse unique à la demande Créer l’envoi, contenant les détails de l’étiquette de retour. Vous pouvez implanter les liens vers les étiquettes dans n’importe quel ordre (par exemple, l’étiquette d’expédition ou l’étiquette de retour en premier).

Organigramme pour imprimer une étiquette d’expédition du régime intérieur avec étiquette de retour à l’aide d’une API de Postes Canada. Un texte descriptif de l’organigramme est fourni sur la page.

Cet organigramme décrit le procédé d’impression d’une étiquette d’expédition du régime intérieur avec étiquette de retour à l’aide d’une API de Postes Canada. Le processus commence par la compilation des détails de la commande par la cliente ou le client. Ces renseignements sont ensuite envoyés à l’API de Postes Canada. En réponse, l’API fournit des liens d’expédition à l’application de la cliente ou du client. L’application utilise ces liens pour effectuer un appel pour obtenir l’artéfact dans l’API de Postes Canada. L’API retourne l’artéfact demandé, qui comprend l’étiquette d’expédition et l’étiquette de retour. Les deux étiquettes finales sont prêtes à imprimer en format PDF.

Agrandir l’image

Exemple 4

Obtenir les tarifs de Postes Canada pour un envoi

Vous pouvez lancer un appel pour obtenir les tarifs de Postes Canada pour vos envois du régime intérieur, du régime international ou à destination des États-Unis.

Intégrez l’appel Obtenir le prix de l’envoi dans tous les scénarios commençant par Créer l’envoi.

Organigramme pour obtenir les frais pour un envoi à l’aide d’une API de Postes Canada. Un texte descriptif de l’organigramme est fourni sur la page.

Cet organigramme décrit le procédé pour obtenir les frais pour un envoi de Postes Canada à l’aide d’une API de Postes Canada. Le procédé commence lorsque l’application de la cliente ou du client utilise les liens fournis, qui sont ensuite envoyés à l’API de Postes Canada. L’API traite tous les appels nécessaires. L’API renvoie les données de tarification à l’application de la cliente ou du client, qui met ensuite à jour le système de comptabilité.

Agrandir l’image

Exemple 5

Schémas d’appels ponctuels ou par lot

Vous pouvez traiter les impressions d’étiquettes à l’aide de l’un des deux schémas d’appel suivants :  

  • Appel ponctuel : Une commande à la fois, dès qu’un emballeur est prêt  
  • Par lot : Stockez plusieurs commandes, puis imprimez-les toutes en même temps  

Les renseignements sur les envois sont stockés sur les serveurs de Postes Canada à partir du moment où vous les créez et jusqu’à 90 jours après leur transmission.  

Le diagramme suivant montre comment exécuter des schémas d’appels ponctuels et par lot.

Organigramme qui décrit les deux procédés distincts pour le traitement des commandes à l’aide des modèles d’appels ponctuels et par lots de l’API de Postes Canada. Un texte descriptif de l’organigramme est fourni sur la page.

Cet organigramme décrit les deux procédés distincts pour le traitement des commandes à l’aide des modèles d’appels ponctuels et par lots de l’API de Postes Canada. Dans le cadre du procédé ponctuel, chaque commande est traitée individuellement et des étiquettes d’expédition sont générées immédiatement après la soumission des détails de la commande. Dans le procédé par lots, plusieurs commandes sont accumulées avant d’être traitées ensemble et les étiquettes d’expédition sont générées en lot une fois que toutes les commandes sont recueillies. Les deux méthodes comprennent l’envoi des détails de la commande à l’API de Postes Canada, la réception de liens d’expédition, la demande d’artéfacts d’étiquettes d’expédition et, pour finir, la production d’étiquettes d’expédition PDF imprimables.

Agrandir l’image

Exemple 6

Synchroniser les appels pour les envois

Votre application peut stocker des liens pour une utilisation ultérieure (comme décrit dans le schéma d’appel par lot) ou utiliser la synchronisation des appels pour obtenir les liens de Postes Canada. Si votre application stocke habituellement les liens, mais qu’une panne survient et entraîne une perte de données, vous pouvez utiliser la synchronisation des appels pour récupérer les données.

Organigramme qui présente visuellement la façon dont une application interagit avec l’API de Postes Canada pour gérer la récupération des données d’expédition au moyen d’appels de synchronisation. Un texte descriptif de l’organigramme est fourni sur la page.

Cet organigramme présente visuellement la façon dont une application interagit avec l’API de Postes Canada pour gérer la récupération des données d’expédition au moyen d’appels de synchronisation. Le procédé commence lorsque l’application de la cliente ou du client entre les détails de la commande, qui sont ensuite envoyés à l’API de Postes Canada pour créer un envoi. Au besoin, l’application peut récupérer les données d’expédition perdues en demandant des liens de groupe à l’API de Postes Canada, puis en utilisant ces liens pour récupérer les renseignements sur l’envoi individuel. Une fois que toutes les données d’expédition ont été recueillies, l’application produit des étiquettes d’expédition en format PDF imprimables pour chaque envoi.

Agrandir l’image

Exemple 7

Transmettre vos envois pour recevoir un manifeste

À moins d’utiliser un seul groupe, il est préférable de commencer par l’appel de synchronisation Obtenir les groupes pour déterminer quels groupes contiennent des envois admissibles à la transmission.

Un group-id a pour but de regrouper plusieurs envois afin de les inclure sur le même manifeste. Vous pouvez traiter les impressions d’étiquettes à l’aide de deux schémas d’appel distincts :  

Limites du rendement

Afin d’éviter un délai de temporisation de nos serveurs, suivez ces recommandations :  

  • Veuillez ne pas inclure plus de 30 groupes par manifeste, c’est-à-dire pas plus de 30 group-ids dans une seule demande Transmettre les envois.
  • Veuillez ne pas placer plus de 5 000 envois dans un groupe.

Limites du système

Pour éviter une erreur, ne dépassez pas les limites suivantes avant de lancer un appel Transmettre les envois :

  • Maximum de 50 groupes par manifeste (erreur 9109 si la limite est dépassée)
  • Maximum de 10 000 envois dans un groupe (erreur 9110 si la limite est dépassée)
  • Maximum de 10 000 envois répartis dans plusieurs groupes (erreur 9108 si la limite est dépassée)

 Vous trouverez le schéma de transmission d’un groupe à la fois ci-dessous. Vous pouvez également créer une boucle de vos transmissions pour chaque groupe en stockant tous les liens de manifeste avant de créer une boucle des artéfacts de manifeste.

Organigramme qui décrit le procédé pour générer des manifestes d’expédition à l’aide de l’API de Postes Canada. Un texte descriptif de l’organigramme est fourni sur la page.

Cet organigramme décrit le procédé pour générer des manifestes d’expédition à l’aide de l’API de Postes Canada. Les données d’expédition sont reçues par l’application de la cliente ou du client et transmises à l’API, souvent divisées en groupes. Pour chaque groupe, l’API fournit des liens vers des manifestes à partir desquels les manifestes réels (PDF) sont récupérés. Ce procédé est répété pour tous les groupes, ce qui produit un ensemble de manifestes d’expédition imprimables.

Agrandir l’image

Exemple 8

Récupérer les détails du manifeste

Les détails du manifeste sont disponibles en format XML. Les liens vers les données sont renvoyés en même temps que les liens vers le document du manifeste à partir d’une demande Obtenir le manifeste.

Pour récupérer les données JSON, ajoutez un appel Obtenir les détails du manifeste dans le processus Transmettre vos envois pour recevoir un manifeste avant ou après avoir implanté le lien d’artéfact. Vous pouvez utiliser les données en format XML pour mettre à jour vos systèmes comptables dorsaux.

Si les liens vers les manifestes sont perdus ou non stockés intentionnellement, vous pouvez utiliser l’appel de synchronisation Obtenir les manifestes avec une plage de dates commençant à la date du jour pour récupérer les liens de tous les manifestes créés par les demandes de transmission.  

Meilleures pratiques

Le flux de travail suivant illustre un scénario dans lequel les services Web de Postes Canada ont été intégrés dans une boutique en ligne.  

Sélectionnez n’importe quel lien dans le flux de travail pour obtenir plus de renseignements.

Magasinage et paiement

Les tarifs d’expédition peuvent être transmis à la clientèle au moyen de l’appel Obtenir les tarifs, au besoin.

Enregistrer les commandes de la clientèle sur votre plateforme

Exécution des commandes

  • Obtenez les tarifs de nos services d’expédition au moyen de l’appel Obtenir les tarifs.
  • Imprimez les étiquettes au moyen de l’appel Créer des envois.
  • Mettez à jour votre système comptable au moyen de l’appel Obtenir le prix de l’envoi.

Dépôt ou ramassage

Obtenez une preuve de paiement (manifeste) pour un groupe d’envois au moyen de l’appel Transmettre les envois.

Essais et dépannage

Les développeurs doivent décider quand montrer un message d’erreur directement à l’utilisateur final plutôt que de mettre en œuvre une stratégie d’atténuation pour prévenir l’erreur.

Erreurs fréquentes et comment les corriger

Avant de procéder au dépannage, passez en revue notre liste d’erreurs courantes et leurs codes. Chaque entrée comprend le code d’état HTTP précis et les mesures d’atténuation recommandées.

P. ex. : Une erreur 9112 (« Service non disponible ») peut indiquer un problème de configuration. La mesure d’atténuation consiste à vérifier les services disponibles pour l’origine ou la destination sélectionnée.

Structure de réponse en cas d’erreur d’API

Les réponses d’erreur de l’interface API renvoient habituellement à 400 Bad Request (Requête non valide 400) (pour les erreurs de validation de saisie) ou à500 Internal Server Error (Erreur du serveur interne 500) (pour les problèmes imprévus). Le corps de réponse contiendra un objet d’erreur structuré comportant les éléments clés suivants :

  • code : Le code d’erreur alphanumérique précis (p. ex., 9111).
  • message : Une description en texte brut de l’erreur.

Soutien au développement

Si vous avez mis en œuvre les stratégies d’atténuation recommandées et que vous éprouvez toujours des problèmes, veuillez communiquer avec notre équipe de soutien aux développeurs.

Liens connexes