Expédition avec convention

Exemples de codes pour l'expédition avec convention : Java (.zip) | PHP (.zip) | C# (.zip)

Transmettre les envois – Module REST

Résumé

Nom : Transmettre les envois
Raison pour utiliser le service : Il est utilisé lorsqu'un ou plusieurs groupes d'envois sont prêts pour être ramassés par Postes Canada ou déposés à un emplacement de la Société. Il peut également être utilisé pour les envois appartenant aux clients titulaires d'une convention.
Données d'entrée :

Les données d'entrée comprennent :

  • le numéro du client « Expédié au nom de »;
  • la liste de groupes prêts pour le ramassage ou le dépôt;
  • le lieu de ramassage ou de dépôt pour vos envois;
  • le mode de paiement;
  • la liste facultative d'envois devant être exclus du ramassage.
Données de sortie :

Les données de sortie constituent une liste de liens vers les manifestes créés en fonction des caractéristiques des envois à transmettre. Vous devez utiliser ces liens pour présenter une demande de service « Obtenir le manifeste » pour vous assurer que le manifeste a été créé avec succès. Vous pouvez également utiliser les liens pour obtenir plus de renseignements sur ces manifestes.

Exemple d'erreur : L'ID du groupe est introuvable pour la transmission. Veuillez le supprimer ou le corriger.
Demande de service précédente habituelle : Créer l'envoi
Prochaine demande de service habituelle : Obtenir le manifeste
Historique des versions :

Notes de mise à jour

Transmettre les envois – Résumé du service

Transmettre les envois – Résumé du service

Détails sur la demande

Structure de la demande pour transmettre des envois

Point final

POST https://XX/rs/{Client « Expédié par »}/{Client « Expédié au nom de »}/manifest

Remplacez... Par...

XX (développement)

ct.soa-gw.canadapost.ca

XX (production)

soa-gw.canadapost.ca

{Client « Expédié par »}

votre numéro de client

{Client « Expédié au nom de »}

le numéro de client « Expédié au nom de » ou indiquez de nouveau votre numéro de client

En-têtes HTTP

Variable des en-têtes HTTP

Valeur

Accept

application/vnd.cpc.manifest-v8+xml (Remarque : */* à la place de la valeur de l’en-tête affichera un message d’erreur)

Content-Type

application/vnd.cpc.manifest-v8+xml (Remarque : */* à la place de la valeur de l’en-tête affichera un message d’erreur)

Authorization

Basic {Encodage en base64 du code d'usager:mot de passe}

Accept-language

en-CA ou fr-CA

Corps du message

<?xml version="1.0" encoding="utf-8"?>
<transmit-set xmlns=”http://www.canadapost.ca/ws/manifest-v8”>
xxx
</transmit-set>

Demande – Aperçu général des éléments

La présente section offre un aperçu général des éléments XML (Complexe) faisant partie des données d'entrée pour ce service. La structure hiérarchique exacte des données d'entrée XML est présentée dans la section Diagramme XML.

Transmettre les envois – Aperçu général des éléments de la demande
Nom de l'élément Type Requis/Optionnel Description
transmit-set Complexe Requis Élément XML de niveau supérieur de la structure de la demande

customer-request-id

Simple

Optionnel

Pour utilisation future.

group-ids Complexe Requis

Fait partie de transmit-set.

Il s'agit d'une liste de numéros d'identification de groupe. Le service Transmettre les envois créera un manifeste pour chaque groupe. Le manifeste comprendra la liste des envois compris dans le groupe (à l'exception des envois que vous excluez).

requested-shipping-point Simple Requis sous condition

(Chaîne de six caractères alphanumériques)

Doit être dans un format de code postal valide.

Exemple : A9A9A9

Le format est [A-Z]\d[A-Z]\d[A-Z]\d.

Fait partie de transmit-set.

Si vous déposez vous-même vos envois, vous avez deux choix :

  • ne pas régler cet élément, et indiquer le numéro d'identification de l'emplacement d'expédition dans shipping-point-id (option recommandée);
  • fournir le code postal de votre lieu d'expédition ici et ne pas régler l'élément shipping-point-id.

Nota : L'utilisation de l'élément requested-shipping-point pour indiquer le code postal de votre lieu d'expédition ne sera plus possible dans une version future. Si vous déposez vous-même vos envois, nous vous recommandons d'utiliser l'élément shipping-point-id.

Cet élément est obligatoire lorsque l'indicateur de ramassage de la SCP (cpc-pickup-indicator) est fourni.

Option s'excluant mutuellement avec l'élément shipping-point-id.

Si vous fournissez ici le même code postal que vous avez utilisé dans vos demandes de service « Créer l'envoi », aucun rajustement tarifaire ne sera associé au point de départ pour l'expédition. Si vous utilisez ici un code postal différent de celui utilisé dans les demandes de service « Créer l'envoi », un rajustement tarifaire pourrait être effectué selon la distance entre le point d'expédition initial (dans la demande de service « Créer l'envoi ») et le point d'expédition final (dans la demande de service « Transmettre les envois »).

cpc-pickup-indicator

Simple

Optionnel

(true)

Réglez cet élément à « true » si vos envois sont ramassés par Postes Canada ou par une tierce partie. Ne fournissez pas cet élément si l'élément est réglé à « false ». Fournissez le code postal de votre lieu de ramassage dans l'élément requested-shipping-point. Si vous utilisez le même indicateur et le même point d'expédition demandé (requested-shipping-point) que ceux utilisés dans la demande de service « Créer l'envoi », il n'y aura aucun rajustement tarifaire; consultez les détails dans l'élément requested-shipping-point.

Ne fournissez pas ce renseignement si vous déposez vous-même vos envois.

Option s'excluant mutuellement avec l'élément shipping-point-id.

Nota : Dans une version future, il sera obligatoire d'indiquer explicitement si votre envoi est ramassé par Postes Canada (en fournissant à la fois cet indicateur et l'élément requested-shipping-point) ou déposé à un emplacement de Postes Canada (en fournissant l'élément shipping-point-id).

Nous vous recommandons de vous préparer à ce changement en offrant cet indicateur (et l'élément requested-shipping-point) si votre envoi est ramassé par Postes Canada.

shipping-point-id

Simple

Requis sous condition

(Chaîne de quatre caractères alphanumériques)

Si vous déposez vos articles à un bureau de poste ou à une autre installation de Postes Canada, fournissez le numéro d'emplacement de ce lieu de dépôt. Recherchez le numéro d'emplacement en question à l'aide de la fonction Trouver un lieu de dépôt. Cette information est utilisée pour la tarification.

Si vous saisissez un numéro d'emplacement différent de celui fourni dans votre demande de service « Créer l'envoi », des ajustements tarifaires peuvent s'imposer.

Option s'excluant mutuellement avec l'option requested-shipping-point; cependant, l'une des deux doit être saisie.

Nota : Si vous déposez vous-même vos envois, nous vous recommandons d'utiliser cet élément plutôt que l'élément requested-shipping-point pour indiquer votre lieu d'expédition.

method-of-payment Simple Requis

{Chaîne de 15 caractères}

Fait partie de transmit-set.

Cela désigne le mode de paiement utilisé pour les manifestes devant être générés.

Les modes de paiement valides sont les suivants :

  • CreditCard = Le paiement sera effectué par carte de crédit.
  • Account = Le paiement se fera par l'intermédiaire d'une convention en vigueur qui aura été conclue avec le payeur.
  • SupplierAccount = le paiement se fera par l’intermédiaire du compte de fournisseur désigné comme valeur par défaut dans le profil du client (offert uniquement aux fournisseurs de comptes de fournisseur).

Nota : Différents payeurs pourraient être associés à différents envois. Des manifestes distincts seront générés pour les envois dont les payeurs sont différents.

manifest-address Complexe Requis

Fait partie de transmit-set.

Cette structure contient l'adresse imprimée sur l'étiquette du manifeste.
detailed-manifests Simple Requis

{vrai, faux}
Fait partie de transmit-set.

Cela indique si une version résumée ou très détaillée du manifeste sera produite.
customer-reference Simple Optionnel

(Chaîne alphanumérique – Jusqu'à 12 lettres/chiffres)

Fait partie de transmit-set.

Le numéro de référence du client peut être fourni à Postes Canada, puis inscrit sur le manifeste et affiché dans une demande de service Obtenir les détails du manifeste.

excluded-shipments Complexe Optionnel

Fait partie de transmit-set.

Il s'agit de la liste de shipment-ids devant être exclus de la transmission. Ces envois demeureront dans leur groupe et ils seront automatiquement ramassés au cours de la prochaine transmission.

Demande – Aperçu détaillé des éléments simples

Transmettre les envois – Aperçu détaillé des éléments de la demande
Nom de l'élément Type Requis/Optionnel Description
group-id Simple Requis

(Chaîne de caractères – Jusqu'à 32 caractères)
Fait partie de group-ids.
Occurrence (1 à N fois)

Il s'agit du group-id de tout groupe dont les envois doivent être inclus dans le procédé de transmission.

Un group-id a pour but de regrouper plusieurs envois ensemble afin de les inclure sur le même manifeste. Par exemple, le regroupement est utile dans les scénarios suivants :

  • Vous avez plusieurs emplacements de service.
  • Vous souhaitez que tous les envois dans un groupe soient expédiés le même jour.
  • Vous voulez regrouper les envois ensemble aux fins de référence interne ou de facturation.

Remarque : Les envois du régime intérieur, à destination des États-Unis et du régime international seront placés sur des manifestes séparés, même s'ils contiennent le même
group-id.

Limites du rendement
Afin d'éviter un délai de temporisation de nos serveurs, veuillez suivre ces recommandations :

  • Ne pas inclure plus de 30 groupes par manifeste (p. ex. un maximum de 30 group-ids dans une seule demande de service Transmettre les envois).
  • Ne pas placer plus de 5 000 envois dans un groupe.

Limites du système
Pour éviter une erreur, veuillez ne pas dépasser les limites suivantes avant d'effectuer une demande de service 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 dans l'ensemble de plusieurs groupes (erreur 9108 si la limite est dépassée).

manifest-name Simple Optionnel

(Chaîne de caractères – Jusqu'à 44 caractères)
Nom de la personne-ressource figurant dans l'adresse du manifeste

Le nom est imprimé sur le manifeste.

manifest-company

Simple

Requis

(Chaîne de caractères – Jusqu'à 44 caractères)
Fait partie de manifest-address.
Nom de l'entreprise figurant dans l'adresse du manifeste

Le nom est imprimé sur le manifeste.
phone-number Simple Requis

(Chaîne de caractères – Jusqu'à 32 caractères)
Fait partie de manifest-address.

Numéro de téléphone devant être imprimé sur le manifeste
address-details Complexe Requis

Fait partie de manifest-address.
Cette structure contient les détails de l'adresse pour l'adresse du manifeste.

L'adresse est imprimée sur le manifeste.
address-line-1 Simple Requis

(Chaîne de caractères – Jusqu'à 44 caractères)
Fait partie des address-details.

Ligne d'adresse 1 pour l'adresse du manifeste
address-line-2 Simple Optionnel

(Chaîne de caractères – Jusqu'à 44 caractères)
Fait partie des address-details.

Ligne d'adresse 2 pour l'adresse du manifeste
city Simple Requis

(Chaîne de caractères – Jusqu'à 40 caractères)
Fait partie des address-details.

Ville pour l'adresse du manifeste
prov-state Simple Requis

(Chaîne de caractères – Jusqu'à 20 caractères)
Fait partie des address-details.

Province (ou État) pour l'adresse du manifeste
country-code Simple Requis
sous condition

(deux caractères)
Fait partie des address-details.
Code de pays pour l’adresse du manifeste; CA et US sont acceptés.
Obligatoire si US. Facultatif si CA.

postal-zip-code Simple Requis

Peut être :

  1. (Six caractères alphanumériques pour le Canada [A9A9A9])

    Le format est [A-Z]\d[A-Z]\d[A-Z]\d.

  2. (Code numérique à cinq chiffres ou à neuf chiffres [cinq chiffres suivis de quatre autres chiffres] pour les États-Unis)

    Le format est \d{5}(-\d{4})?.

Fait partie des address-details.

Code postal (ou ZIP) pour l'adresse du manifeste

shipment-id Simple Optionnel

(Chaîne alphanumérique – Jusqu'à 32 lettres/chiffres)
Fait partie des excluded-shipments.
Il s'agit d'un numéro d'identification représentant un envoi existant qui doit être exclu du service Transmettre les envois.

Nota : S'il faut utiliser cette fonction, votre système doit conserver les numéros d'identification des envois des demandes précédentes pour le service Créer l'envoi ou Obtenir l'envoi et disposer d'un mécanisme pour sélectionner les envois à exclure de la transmission.

Demande – Diagramme XML

Voici la structure hiérarchique des éléments XML devant être utilisée pour fournir les données d'entrées propres à l'expédition.

Transmettre les envois – Structure de la demande XML
Transmettre les envois – Structure de la demande XML

Détails de la réponse

Réponse – Éléments

Le tableau suivant décrit les champs XML dans la réponse.

Pour obtenir un aperçu détaillé de la hiérarchie de la réponse, consultez le diagramme ci-dessous.

Transmettre les envois – Aperçu détaillé des éléments de réponse
Nom de l'élément Type Description
manifests Complexe

Niveau supérieur de la structure

link Complexe

Fait partie des manifests.

Nota : Plusieurs manifestes peuvent être créés à la suite d'une seule demande de service Transmettre les envois, et ce, pour de nombreuses raisons. Le système produira des manifestes séparés en fonction des éléments suivants :

  • Envois canadiens par rapport aux envois internationaux
  • Client « Expédié au nom de »
  • Payeur
  • Numéro de convention

Occurrence (1 à N fois)

Il faut accéder à chaque lien afin de rassembler et d'imprimer tous les documents nécessaires pour le dépôt ou le ramassage des envois.

Pour obtenir une description des attributs des liens, consultez la section Points finaux fournis.

Le lien représente lun des manifestes rendus dans le cadre du processus de transmission des envois. Dans ce cas, lattribut «href» est un point final du service Obtenir lartefact pour ce manifeste. Lattribut «media-type» indiquera le format du fichier graphique (PDF).

Si vous tentez de transmettre des envois que nous avons facturés automatiquement (dans les cas où vous avez déposé des envois avant deffectuer une demande de service Transmettre les envois), vous recevrez un lien vers un manifeste vide. Le manifeste vide vous informe que vos envois ont été facturés automatiquement et fournit des détails sur la façon déviter que cela ne se reproduise.

Le manifeste vide ne contient pas les envois ou les détails et ne peut pas être récupéré au moyen du paramètre Obtenir les manifestes ni utilisé pour déposer du courrier. Le manifeste détaillé que nous avons créé pour vous au moyen des envois qui vous ont été facturés automatiquement sera envoyé à ladresse courriel qui figure dans votre profil de PostesCanada en ligne.

Réponse – Diagramme XML

Le diagramme suivant présente une réponse de niveau supérieur.

Transmettre les envois – Structure de la réponse XML

Transmettre les envois – Structure de la réponse XML

Nota : L'attribut « index » de l'élément du lien (dans l'image ci-dessus) n'est pas utilisé dans le service Transmettre les envois.

Réponse – Réponses d'erreur possibles

Consultez la section Codes de statut HTTP pour obtenir des renseignements généraux concernant le traitement des erreurs.

Les messages d'erreur possibles de type « 400 » pour ce service sont les suivants :

Code Message

7313

Le paiement par compte de fournisseur peut uniquement être soumis par le fournisseur du compte ou un utilisateur autorisé.

7317

L’émetteur du compte de fournisseur par défaut dans votre profil de Postes Canada en ligne ne correspond pas à la plateforme que vous utilisez.

9118

ID du groupe : La valeur « 99 » est introuvable pour la transmission. Veuillez la supprimer ou la corriger.

9119

ID de l'envoi : La valeur « 12373264234 » est introuvable pour l'exclusion. Veuillez la supprimer ou la corriger.

9122

Tous les groupes de la demande de transmission étaient vides ou tous les envois étaient exclus. Il n'y avait rien à transmettre.

9186

Seulement un numéro d'identification d'expédition (shipping-point-id) ou un indicateur de ramassage de la SCP (cpc-pickup-indicator) peut être fourni.

9187

L'élément requested-shipping-point est obligatoire lorsque l'indicateur de ramassage de la SCP (cpc-pickup-indicator) est fourni.

9188

L'élément shipping-point-id n'est pas valide.

9189

Les éléments requested-shipping-point et shipping-point-id s'excluent mutuellement.

Exemples

Exemple de demande REST – Transmettre les envois

<transmit-set xmlns="http://www.canadapost.ca/ws/manifest-v8">
<group-ids>
<group-id>1234</group-id>
</group-ids>
<requested-shipping-point>K1K4T3</requested-shipping-point>
<cpc-pickup-indicator>true</cpc-pickup-indicator>
<detailed-manifests>true</detailed-manifests>
<method-of-payment>Account</method-of-payment>
<manifest-address>
<manifest-company>my company</manifest-company>
<manifest-name>MajorShop</manifest-name>
<phone-number>555 555 5555</phone-number>
<address-details>
<address-line-1>1230 Tako RD.</address-line-1>
<city>Ottawa</city>
<prov-state>ON</prov-state>
<postal-zip-code>K1A1A1</postal-zip-code>
</address-details>
</manifest-address>
</transmit-set>

Exemple de réponse XML – Transmettre les envois

<manifests>
<link rel="manifest" href="https://XX/1111111111/222222222/manifest/444444444444" media-type="application/vnd.cpc.manifest-v8+xml"></link>
<link rel="manifest" href="https://XX/1111111111/222222222/manifest/333333333333" media-type="application/vnd.cpc.manifest-v8+xml"></link>
</manifests>