accueil - colissimo version mobile...jquery mobile framework de développement mobile, jquery mobile...

66
La Poste - Société Anonyme au capital de 3 800 000 000 euros - 356 000 000 RCS PARIS Siège social : 44 BOULEVARD DE VAUGIRARD - 75757 PARIS CEDEX 15 - Tél. : +33 (0)1 55 44 00 00 Solution Simplicité Choix de livraison Offre Entreprises Page « Choix des Modes de Livraison » Colissimo VERSION MOBILE Document technique – Version Novembre 2017 Guide d’intégration Page « Choix des Modes de Livraison » version Mobile

Upload: others

Post on 28-Sep-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

La Poste - Société Anonyme au capital de 3 800 000 000 euros - 356 000 000 RCS PARIS

Siège social : 44 BOULEVARD DE VAUGIRARD - 75757 PARIS CEDEX 15 - Tél. : +33 (0)1 55 44 00 00

Solution Simplicité – Choix de livraison

Offre Entreprises

Page « Choix des Modes de Livraison » Colissimo VERSION MOBILE

Document technique – Version Novembre 2017 Guide d’intégration Page « Choix des Modes de Livraison » version Mobile

Page 2: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

2

Suivi des Changements

Révision Commentaires

15/11/2012 Version initiale

21/12/2012 Mise à jour du paragraphe III-6 Paramètres de retour : les frais d’expédition

sont envoyés avec un point

08/04/2013 Evolution : ajout d’un nouveau paramètre d’appel permettant d’appliquer un

tarif spécifique aux livraisons en relais commerçants

11/2015 Mise à jour branding et naming.

Suppression des informations liées à ma consignes cityssimo (fin le

28/8/2015) et mon rendez-vous (fin le 30/9/2015) suite à l’arrêt de ces

services

04/2016 Ajout des informations liées à l’offre Colissimo International

01/2017 p6 : Mise à jour de la copie d’écran du Back Office

p24 : Mise à jour du chapitrage

p65 : Mise à jour des informations liées à l’offre Colissimo International

(ajout de l’Autriche et du Portugal)

10-11/2017 Mise à jour du chapitre V.3. La liste des pays éligible à l’offre Colissimo

Europe

Page 3: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

3

I. Introduction .................................................................................................. 5

I.1 Objet du document ........................................................................................ 5

I.2 Pré-requis .................................................................................................... 5

I.3 Terminologie ................................................................................................. 7

II. Contacts ....................................................................................................... 8

III. Solution « Modes de livraison » version mobile.................................................. 9

III.1 Généralités ............................................................................................ 9

III.2 Présentation de la solution ..................................................................... 10

III.3 Protocole ............................................................................................. 14

III.4 Cookie ................................................................................................. 14

III.5 Paramètres d’appel ............................................................................... 15 III.5.1 Paramètres d’appel à transmettre en méthode GET ................................... 15 III.5.2 Paramètres d’appel à transmettre en méthode POST ................................. 15 III.5.3 Contrôle de la longueur du paramètre ..................................................... 19 III.5.4 Votre Identifiant FO .............................................................................. 19 III.5.5 Informations sur le destinataire : Civilité du destinataire ........................... 19 III.5.6 Champ d’adresse du destinataire ............................................................ 19 III.5.7 Informations sur la commande : délai de préparation de la commande ........ 20 III.5.8 Frais d’expédition ................................................................................. 20 III.5.9 Numéro de transaction .......................................................................... 21 III.5.10 Poids du colis ....................................................................................... 22 III.5.11 Paramètre Première commande .............................................................. 22 III.5.12 Paramètre plus chargeur ....................................................................... 22 III.5.13 Numéro de version ............................................................................... 22 III.5.14 International ........................................................................................ 23 III.5.15 Signature ............................................................................................ 23 III.5.16 Calcul de la signature en entrée ............................................................. 24 III.5.17 URLs de retour : URL de retour « Validation » .......................................... 25 III.5.18 URL de retour « Echec » ........................................................................ 25

IV. Intégration de la solution ............................................................................. 27

IV.1 Préambule ........................................................................................... 27

IV.2 Appel depuis un site web mobile ............................................................. 27 IV.2.1 Exemple de transmission avec les paramètres obligatoires ......................... 27 IV.2.2 Exemple de transmission avec l’ensemble des paramètres ......................... 28

IV.3 Appel depuis une application native ........................................................ 29 IV.3.1 Intégration dans une application Android ................................................. 30 IV.3.2 Intégration dans une application iOS ....................................................... 31 IV.3.3 Retour vers l’application du e-marchand .................................................. 34

IV.4 Gestion des erreurs ............................................................................... 34 IV.4.1 Messages d’erreur affichés par la solution ................................................ 34 IV.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec ........................ 36 IV.4.3 Codes d’information retournés au chargeur sur l’URL retour Validation ........ 36

Page 4: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

4

IV.5 Indisponibilité et continuité du processus de commande ............................ 38 IV.5.1 Serveur applicatif hors service ................................................................ 38 IV.5.2 Continuité du processus de commande .................................................... 38 IV.5.3 Page d’erreur interne ............................................................................ 39

IV.6 Paramètres de Retour ........................................................................... 40 IV.6.1 Retours sur l’URL retour Validation .......................................................... 40 IV.6.2 Retour pour les modes de livraison à Domicile .......................................... 40 IV.6.3 Signature en sortie pour les modes de livraison à Domicile ........................ 44 IV.6.4 Retour pour les modes de livraison en Point Retrait ................................... 47 IV.6.5 Signature en sortie pour les modes de livraison en Point Retrait ................. 53 IV.6.6 Informations de routage ........................................................................ 55 IV.6.7 Retours sur l’URL retour Echec ............................................................... 56 IV.6.8 Signature en sortie en cas d’échec .......................................................... 58

V. Annexes ..................................................................................................... 60

V.1 Annexe 1 : Champs de la solution « Modes de livraison » version mobile ........ 60

V.2 Annexe 2 : Exemple de calcul de signature SHA .......................................... 61

V.3 Annexe 3 : Liste des pays éligibles à l’offre Colissimo Europe (international) et codes réseaux et produits correspondants aux livraisons en points retrait ............... 66

Page 5: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

5

I. INTRODUCTION

I.1 Objet du document

Directement accessible depuis votre site web mobile ou application mobile, la solution « Modes

de livraison » version mobile permet à vos clients de choisir leur mode de livraison.

Elle comprend 2 modules :

• Le Back Office « Mode de livraison » version mobile (BO) : il vous permet de paramétrer la

solution.

• La solution Front Office (FO) : il s’agit de la solution web mobile de La Poste - Colissimo vers

laquelle vous redirigez votre client afin qu’il choisisse son mode de livraison en fin de

processus d’achat.

Ce document décrit uniquement les modalités de mise en œuvre de la solution Front Office.

I.2 Pré-requis

La mise en œuvre du Front Office de la solution ne pourra être réalisée qu’après avoir

correctement paramétré le Back Office « Modes de livraison » version mobile.

Ce Back Office est accessible sur www.laposte.fr/colissimo-entreprise à l’aide des login et mot

de passe reçus par e-mail lors de votre souscription à l’offre Colissimo.

Son guide d’utilisation est à votre disposition dans la rubrique Documents Utiles

Page 6: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

6

Page 7: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

7

I.3 Terminologie

Terme Description

Chargeur E-marchand client de La Poste - Colissimo

Site marchand Site web mobile ou application mobile du chargeur

Acheteur Mobinaute, client du chargeur

Point Retrait Lieu de livraison Relai Pickup, dans lequel le colis est mis à

disposition du destinataire.

Jours ouvrables Du lundi au vendredi hors jours fériés

Caractère alphanumérique Désigne :

les caractères numériques

les caractères alphabétiques (minuscules et

majuscules),

les caractères accentués minuscules et 'ç'

ainsi que les caractères spéciaux à l’exception de : ;€~#{([|\^)]=}$¤£%µ*§!°²

sauf autre mention explicite

SHA1 Fonction de hachage cryptographique. Permet la

sécurisation de l’appel et de la réponse de la solution

« Modes de livraison » version mobile

Jquery Mobile Framework de développement mobile, JQuery Mobile est

une bibliothèque Javascript adaptée à la création de sites

web ou d’applications à destination de smartphones ou

tablettes. http://jquerymobile.com/blog/2012/07/12/jqm-

1-1-1/

User Agent Information transmise par un navigateur web à de chaque

connexion. Elle permet d’identifier ce dernier ainsi que le

système d’exploitation sur lequel il est exécuté.

Webview Composant de programmation permettant l’affichage d’une page web dans une application mobile en prenant en compte son

contenu HTML et CSS.

Page 8: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

8

II. CONTACTS

La Poste - Colissimo met à votre disposition un support, que nous vous invitons à contacter

dans les cas suivants :

Etude préalable

&

Déploiement de la solution

Pour toute question technique relative à la solution

décrite dans ce document :

Le Support Solutions Client,

au 0241.742.088,

du lundi au vendredi, de 9h à 18h.

Pour confirmer la solution retenue :

Votre interlocuteur commercial Colissimo

Phase opérationnelle,

après déploiement de la solution

En cas de panne, d’anomalie ou d’incident :

Le Centre de Service,

au 0825.086.005,

du lundi au vendredi, de 8h à 18h.

Prononcer « Incident », puis « Solutions

Web », à l’énoncé des choix disponibles.

La disponibilité et le bon fonctionnement de nos

systèmes sont supervisés, même en dehors de ces

heures.

Page 9: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

9

III. SOLUTION « MODES DE LIVRAISON » VERSION MOBILE

III.1 Généralités

La solution est accessible à partir de votre site marchand web mobile ou de votre application

native (iOS, Android).

La solution utilise le framework Jquery Mobile qui prend en compte le UserAgent afin de

réaliser les adaptations propres aux systèmes d’exploitation.

Deux formats sont prévus : smartphone et tablette. Le format est déterminé en fonction de la

taille de l’écran du terminal utilisé par l’acheteur.

La solution est appelée à partir de l’url : http ou https://ws-mobile.colissimo.fr.

L’accès est conditionné par la fourniture des informations suivantes :

• Identifiant FO fourni par La Poste - Colissimo dans votre Back-Office (cf. Guide d’utilisation

du Back-Office)

• Données personnelles de l’acheteur

• Données associées à la commande

Signature SHA1 à partir de la clé de cryptage fournie par La Poste - Colissimo dans votre

Back-Office (cf. Guide d’utilisation du Back-Office)

Si les informations transmises sont incorrectes, l’acheteur est redirigé vers l’URL retour échec

de votre site marchand. Un code erreur vous est alors transmis dans les paramètres de retour

(voir la liste des codes erreur retour au paragraphe III.4.2 Codes erreur retournés au

chargeur sur l’URL retour Echec0).

Si les informations transmises sont correctes l’acheteur est redirigé vers la solution « Modes

de livraison » version mobile afin de choisir un mode de livraison.

Page 10: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

10

III.2 Présentation de la solution

Pour chaque écran, les 2 formats sont présentés ici : format smartphone et format tablette.

1. Saisie des informations personnelles

Cette page est facultative, elle est présentée à l’acheteur uniquement si une des données

personnelles obligatoires est manquante ou si un des formats attendus n’est pas respecté.

Page 11: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

11

2. Le choix du mode de livraison

Les modes de livraison sont proposés en fonction des informations transmises dans les

paramètres d’appel ou saisies sur la page précédente.

Si l’acheteur est reconnu (via un cookie), le dernier Point Retrait est proposé par défaut.

Page 12: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

12

3. Liste des Points Retrait à proximité

Suite au choix du mode « Dans un Point Retrait à proximité », l’acheteur peut visualiser les 10

points les plus proches de l’adresse transmise/saisie sous forme de liste ou sur une carte (sur

le format smarphone la carte est visible après clic sur l’onglet « Carte »).

Il a la possibilité de modifier son adresse pour rechercher d’autres Points Retrait.

Page 13: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

13

4. La validation du N° téléphone de portable

Cette étape est obligatoire dans le cas du mode de livraison en Point Retrait.

Le N° de téléphone portable, s’il a été transmis, est présenté à l’acheteur pour validation.

Sinon l’acheteur doit le saisir.

Remarque : Pour la France et la Belgique, il existe un contrôle sur le format. Pour les autres

destinations, seul l’indicatif du pays est contrôlé.

Page 14: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

14

5. La validation du récapitulatif du mode de livraison

Cette étape est facultative, elle est présentée à l’acheteur uniquement si vous avez activé

cette option dans votre Back-Office client (cf. Guide d’utilisation du Back-Office) ;

Une fois le mode de livraison validé, l’acheteur est redirigé vers l’URL retour « Validation » (cf.

Guide d’utilisation du Back-Office) de votre site web mobile ou de votre application, les

informations saisies ou sélectionnées sur la solution vous sont transmises.

III.3 Protocole

Le protocole utilisé est https (sa variante non sécurisée http est aussi accessible).

III.4 Cookie

La solution affiche le dernier Point Retrait via un cookie.

Cette fonctionnalité est disponible uniquement si le navigateur de l’acheteur autorise

l’utilisation de cookies tiers.

Page 15: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

15

III.5 Paramètres d’appel

Les paramètres doivent être transmis en méthode POST, à part l’URL de retour échec qui doit

être le seul paramètre transmis à la fois en méthode GET et la méthode POST.

Cela permet d’assurer la continuité de service en cas d’indisponibilité technique de la solution

(voir détail au paragraphe III.5 Erreur ! Source du renvoi introuvable.).

A noter : Il est conseillé de ne pas utiliser de caractères spéciaux dans les paramètres

d’appel.

Les paramètres d’appel doivent être transmis au format UTF8

Note pour les clients utilisant la solution Simplicité Page « Modes de

livraison » version IFrame:

Le mode de calcul de la signature est identique sur cette solution afin d’en

faciliter l’intégration.

A noter également que pour des raisons d’optimisation de l’affichage sur

mobile, les paramètres suivants ne seront pas affichés à l’acheteur :

interphone, instructions de livraison, codes portes.

III.5.1 Paramètres d’appel à transmettre en méthode GET

Champ Obligatoire Nom du paramètre

Modifiable par l’acheteur

Type Contrôle de la longueur du paramètre

Url de retour vers le site chargeur en cas d’échec

Oui trReturnUrlKo

N’apparait pas Jusqu’à 256 caractères alphanumériques

http:// ou https://

III.5.2 Paramètres d’appel à transmettre en méthode POST

Champ Obligatoire

Nom du paramètre

Modifiable dans le FO

Type Contrôle de la longueur du paramètre

Identifiant FO Oui pudoFOId N’apparait pas 14 caractères numériques

Informations sur le destinataire

Civilité du destinataire

Non ceCivility Oui MR/MME

Seuls ces formats

seront acceptés (insensible à la casse)

Nom du destinataire

Non ceName Oui Jusqu’à 34 caractères alphanumériques

Oui

Prénom du destinataire

Non ceFirstName Oui Jusqu’à 29 caractères

alphanumériques

Oui

Page 16: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

16

Raison

sociale

Non ceCompanyName Oui Jusqu’à 38

caractères alphanumériques

Oui

Étage, couloir, escalier, n° appartement

Non ceAdress1 Oui Jusqu’à 38 caractères alphanumériques

Oui

Entrée,

bâtiment, immeuble, résidence

Non ceAdress2 Oui Jusqu’à 38

caractères alphanumériques

Oui

Numéro et libellé de la

voie

Non ceAdress3 Oui Jusqu’à 38 caractères

alphanumériques

Oui

Lieu dit ou autre mention spéciale

Non ceAdress4 Oui Jusqu’à 38 caractères alphanumériques

Oui

Code postal Non ceZipCode Oui En caractères alphanumériques selon cePays

Pour la France: 01XXX à 95XXX, 980XX et ADXXX

Pour la Belgique :1000 à 9999

Pour les autres destinations inter :

voir annexe V.3

Commune Non ceTown Oui Jusqu’à 32

caractères alphanumériques

Oui

Pays du destinataire

Non

(FR par

défaut)

cePays Oui si paramètre « option international »=1

2 caractères alphanumériques (code pays selon norme ISO3166)

Valeurs possibles : FR (par défaut) ou code ISO du pays éligible en annexe V.3

Interphone Non ceEntryPhone N’apparaît pas Jusqu’à 30 caractères alphanumériques

Oui

Autres instructions

de livraison

Non ceDeliveryInformation

N’apparaît pas Jusqu’à 70 caractères

alphanumériques

Oui

Courriel Non ceEmail Oui Jusqu’à 80 caractères alphanumériques

Format [email protected]

Oui

Téléphone portable

Non cePhoneNumber Oui Jusqu’à 15 caractères

Oui

Page 17: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

17

numériques

Doit commencer par 06 ou 07 pour une livraison en France, et par +324 pour la Belgique

Pour les autres pays éligibles, voir annexe V.3

Code porte Non ceDoorCode1 N’apparaît pas Jusqu’à 8 caractères alphanumériques

Oui

Code porte 2 Non ceDoorCode2 N’apparaît pas Jusqu’à 8 caractères alphanumériques

Oui

Informations sur la

commande

Délai préparation

commande

Non dyPreparationTime

N’apparait pas Jusqu’à 2 caractères

numériques En jours ouvrables (du lundi au vendredi)

Frais d’expédition

Oui dyForwardingCharges

Non De 1 à 5 caractères alphanumériques

En € TTC Séparateurs « , » ou « . » Pour la France.

Non actif pour l’inter si les tarifs renseignés dans le BO

Frais

d’expédition Commerçant

Non dyForwardingCha

rgesCMT

Non Tarif réservé à la

livraison en Relais Commerçant en France

De 1 à 5 caractères alphanumériques

En € TTC

Séparateurs « , »

ou « . »

N° client web

Non trClientNumber N’apparait pas Jusqu’à 30 caractères alphanumériques

Oui

N° commande

Non trOrderNumber N’apparait pas Jusqu’à 30 caractères alphanumériques

Oui

transaction

Oui orderId N’apparait pas De 5 à 16

caractères

Page 18: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

18

alphanumériques

Ce numéro doit être unique pour chaque appel

Poids du

colis

Non dyWeight N’apparait pas Jusqu’à 5

caractères numériques

Exprimé en grammes

1ère commande

Non trFirstOrder N’apparait pas Booléen

1(Oui) : Les Points Retrait ne seront pas proposés

0(Non) : Les Points Retrait seront proposés

Paramètre plus chargeur

Non trParamPlus N’apparait pas Jusqu’à 256 caractères alphanumériques

Oui

International

Option International

Non

(0 par défaut)

trInter N’apparaît pas 1 caractère numérique

Fixe la zone

autorisée à la livraison :

0 pour France 1 pour International

Langue du destinataire

Non

(fr_FR par défaut)

ceLang N’apparaît pas De type ab_CD, où ab est la langue et

CD le pays de référence

Valeur acceptée : « fr_FR » (par défaut)

Voir langues et codes pays éligibles en annexe V.3

Contrôle de la demande

Numéro de version

Oui numVersion N’apparait pas 3 caractères alphanumériques

Transmettre la valeur « 4.0 »

Voir paragraphe

III.5.13 Numéro

de version

Signature Oui signature N’apparait pas 40 caractères

Page 19: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

19

alphanumériques

Voir paragraphe

III.5.15 Signature

Url de retour vers le site

chargeur en cas de succès

Non trReturnUrlOk N’apparait pas Jusqu’à 256

caractères alphanumériques https:// ou http://

Url de retour vers le site chargeur en cas d’échec

Oui trReturnUrlKo

N’apparait pas Jusqu’à 256 caractères alphanumériques

http:// ou https://

III.5.3 Contrôle de la longueur du paramètre

Si la longueur des paramètres décrits ci-dessus est supérieure à la longueur autorisée définie

dans le tableau, la fin de la chaîne de caractères sera tronquée de façon à respecter cette

condition.

En fin de processus de choix du mode de livraison par l’acheteur, un code d’information sera

renvoyé vers l’url retour validation avec les paramètres concernés. Voir les codes

d’information au paragraphe IV.4.3 Codes d’information retournés au chargeur sur l’URL

retour Validation.

III.5.4 Votre Identifiant FO

Il s’agit de l’identifiant affiché dans la Page Configuration du Back Office « Modes de

livraison » version mobile.

Si l’identifiant FO est :

non renseigné ou

inconnu de l’application ou

correspondant à un compte client résilié par La Poste - Colissimo,

L’accès à la solution « Modes de livraison » version mobile ne sera pas autorisé. L’acheteur

sera redirigé vers l’url retour Echec. Un code erreur sera transmis, voir les codes erreur au

paragraphe III.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec.

III.5.5 Informations sur le destinataire : Civilité du destinataire

En cas de non-respect du format, la valeur sera ignorée et la civilité sera non sélectionnée sur

la page de Saisie des informations personnelles.

En fin de processus de choix du mode de livraison par l’acheteur un code d’information sera

renvoyé vers l’url retour validation avec le paramètre concerné erroné. Voir les codes

d’information au paragraphe IV.4.3 Codes d’information retournés au chargeur sur l’URL

retour Validation.

III.5.6 Champ d’adresse du destinataire

Page 20: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

20

Les informations concernant l’adresse du destinataire permettent de définir les modes de

livraisons possibles pour l’acheteur.

Des contrôles de format sont également effectués selon les dépendances entre les champs

« code postal », « pays de livraison » et « option international ».

Pays de livraison :

Si le paramètre « option international » vaut 0, le pays devra valoir « FR »

Si le paramètre « option international » vaut 1, le pays devra valoir un code pays éligible

Code postal :

Selon le pays de livraison, le code postal devra respecter les formats décrits en Annexe 3 :

Liste des pays éligibles à l’offre

En cas d’erreur, l’acheteur sera redirigé vers l’url retour Echec, avec le code erreur

correspondant aux données transmises.

III.5.7 Informations sur la commande : délai de préparation de la commande

En complément du paramétrage effectué dans le back Office (cf. Guide d’utilisation du Back-

Office), il est possible de passer un délai de préparation de commande dans les paramètres

d’appel. Le délai pourra donc être fixe ou variable suivant les commandes.

C’est le délai passé en paramètre lors de l’appel de la solution qui est prioritaire sur le délai

renseigné dans le Back Office.

Si le format numérique ou la taille du champ n’est pas respecté lors de l’appel, c’est le délai

enregistré dans le Back Office qui sera appliqué. Idem si le délai de préparation de commande

est transmis avec une valeur égale à 0.

En fin de processus de choix du mode de livraison par l’acheteur, un code d’information sera

renvoyé vers l’url retour validation avec le paramètre concerné erroné. Voir les codes

d’information au paragraphe IV.4.3

III.5.8 Frais d’expédition

Il existe deux paramètres d’appel pour gérer les frais d’expédition :

« Frais d’expédition »

Ce paramètre est obligatoire ; il s’agit des frais d’expédition que vous souhaitez appliquer par

défaut pour tous les modes de livraison en France.

« Frais d’expédition commerçants »

Ce paramètre est facultatif. Il permet d’appliquer un tarif différent pour la livraison en point

relais commerçants en France. S’il n’est pas transmis, c’est le tarif transmis dans le

paramètre « frais d’expédition » qui sera pris en compte.

Les frais d’expédition et les frais d’expédition commerçants doivent être compris entre 1 et 5

caractères alphanumériques avec comme séparateur un « . » ou une « , ».

Seul le paramètre « frais d’expédition » est obligatoire.

Pour la Belgique, le paramètre « frais d’expédition commerçant » ne sera plus pris en compte

dans l’appel dès qu’une valeur sera renseignée dans le Back Office.

Page 21: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

21

Le tableau suivant récapitule les valeurs prises en compte pour le calcul du total des frais

d’expédition selon le mode et le pays de livraison choisis.

Mode de livraison Total des frais d’expédition pour

une livraison en France Total des frais d’expédition pour une livraison à l’inter

A l’adresse suivante Frais d’expédition dans l’appel Frais d’expédition en back office

Point retrait La Poste Frais d’expédition dans l’appel ou en Back Office

Frais d’expédition en back office

Point retrait en consigne Pickup Station

Frais d’expédition dans l’appel Si non transmis => valeur des frais à

domicile

Non applicable

Point retrait Relais Frais d’expédition dans l’appel Si non transmis => valeur des frais à

domicile

Frais d’expédition en back office

Ces informations apparaissent en euros TTC sur la Page « Choix des Modes de livraison »

version mobile.

Le format du total des frais d’expédition retransmis par la Page « Choix des Modes de

livraison » est de 1 à 6 caractères alphanumériques avec comme séparateur un « . »

uniquement.

Les frais d’expédition retransmis par la Page « Choix des Modes de livraison » ne font pas foi

juridiquement et ne peuvent en aucun cas remplacer le calcul des frais d’expédition réel du

client par le chargeur.

Remarque :

Pour offrir les frais d’expédition (hors commerçants) à votre client, le paramètre « frais

d’expédition » doit être transmis avec une valeur nulle (« 0 »)

Pour offrir la livraison en relais commerçant français, vous devrez transmettre le

paramètre « frais d’expédition commerçants » avec une valeur nulle (« 0 »), quelle que

soit la valeur du paramètre « frais d’expédition ». Dans le cas où le paramètre ne serait

pas transmis, sa valeur prendrait par défaut la valeur du champ « frais d’expédition ».

III.5.9 Numéro de transaction

Chaque appel doit être accompagné d’un numéro de transaction qui lui est propre.

Votre site web mobile ou votre application doit donc générer un nouveau numéro de

transaction à chaque appel.

Vous avez toute liberté de générer ce numéro de façon incrémentale ou autre (par exemple à

partir de la date et l’heure courante en millisecondes avec les précautions d’usage

garantissant l’unicité).

Le numéro de transaction doit être :

renseigné

compris entre 5 et 16 caractères alphanumériques

Si un des critères n’est pas respecté, l’accès à la solution ne sera pas autorisé. L’acheteur sera

redirigé vers votre url retour Echec. Un code erreur sera transmis, voir les codes erreur au

paragraphe III.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec.

Page 22: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

22

III.5.10 Poids du colis

Cette information est utilisée afin de filtrer les Points Retrait à proximité dont le poids

maximum autorisé est inférieur ou égal au poids du colis.

Si le format numérique ou la taille du champ n’est pas respecté, cette valeur sera ignorée, les

Points Retrait à proximité ne seront donc pas filtrés sur ce critère.

Idem si le poids est transmis avec une valeur égale à 0.

En fin de processus de choix du mode de livraison par l’acheteur un code d’information sera

renvoyé vers l’url retour validation avec le paramètre concerné erroné. Voir les codes

d’information au paragraphe IV.4.3. Le poids doit être transmis en gramme (pas de

séparateur).

III.5.11 Paramètre Première commande

Vous avez la possibilité de filtrer le mode de livraison en Point Retrait à proximité dans le cas

d’une première commande.

Une valeur « 0 » indique qu’il ne s’agit pas d’une première commande, dans ce cas le mode de

livraison en Point Retrait est proposé.

Une valeur « 1 » indique qu’il s’agit d’une première commande, dans ce cas le mode de

livraison en Point Retrait n’est pas proposé.

Toute autre valeur que « 1 » est considérée comme équivalente à 0, dans ce cas le mode de

livraison en Point Retrait est proposé.

III.5.12 Paramètre plus chargeur

Ce paramètre vous permet de transmettre à la solution des données spécifiques que La Poste

- Colissimo n’interprétera pas.

A la fin du processus de choix du mode de livraison par l’acheteur, ce paramètre sera

retransmis à votre Url de retour « Validation ».

En cas d’erreur, le paramètre est également retransmis à votre Url de retour « Echec ».

Afin que la valeur puisse correctement vous être renvoyée veiller à ce que le format soit

respecté (256 caractères alphanumériques maximum).

III.5.13 Numéro de version

Le paramètre numéro de version permet à La Poste - Colissimo d’identifier quelle version de la

solution vous utilisez.

Le numéro de version doit :

Etre obligatoirement transmis et prendre la valeur 4.0

Etre associé aux modes de calcul de signature décrits au paragraphe II.5.8 Calcul de la

signature en entrée.

Page 23: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

23

Si ce n’est pas le cas, l’accès à la solution ne sera pas autorisé. L’acheteur sera redirigé vers

votre url retour Echec. Un code erreur sera transmis, la signature calculée sera incorrecte.

Voir les codes erreur au paragraphe III.4.2 Codes erreur retournés au chargeur sur l’URL

retour Echec.

III.5.14 International

III.5.14.1 Option International

Ce paramètre vous permet de préciser si vous autorisez la livraison à l’international ou non.

Valeurs possibles :

0 : l’international n’est pas autorisé. Votre client ne pourra se faire livrer qu’en France

1 : seul l’international est autorisé. Votre client ne pourra se faire livrer que dans le

pays spécifié

Par défaut, si le paramètre « option International » n’est pas transmis ou s’il est transmis avec

une valeur autre que celles citées au-dessus, il prendra la valeur « 0 » (livraison en France

uniquement).

III.5.14.2 Pays de livraison

Le paramètre « pays de livraison » vient compléter le paramètre « option International » afin

de présélectionner le champ pays dans les coordonnées du client.

Selon la valeur du champ « option international », le champ « Pays » pourra ou non être

modifié par le client.

Le paramètre « Pays de livraison » peut valoir « FR » pour France ou le code ISO du pays

éligible (voir annexe V.3).

S’il n’est pas transmis ou s’il est transmis avec une valeur autre que celles citées au-dessus, il

prendra la valeur « FR ».

III.5.14.3 Langue

Les langues disponibles sont listées en Annexe 3 : Liste des pays éligibles à l’offre . Colissimo

se réserve le droit de modifier la liste des langues disponibles selon l’évolution de l’offre

Colissimo.

La langue à utiliser pour l’interface de saisie et les coordonnées des points de retraits pourra

être choisie par le chargeur, via le paramètre « Langue du destinataire ».

III.5.15 Signature

La signature permet de garantir que les données que vous transmettez à la solution ne

subiront pas de modifications entre l’envoi et la réception.

La signature, basée sur une clé SHA qui vous est propre (cf. Guide d’utilisation du Back-

Office), permet un contrôle de l’accès à la solution.

La signature doit être :

renseignée

Page 24: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

24

correspondre à celle calculée par La Poste - Colissimo (à noter que celle-ci doit être

calculée en minuscule)

L’encodage doit être fait en UTF8

Si ce n’est pas le cas, l’accès à la solution ne sera pas autorisé. L’acheteur sera redirigé vers

votre url retour Echec. Un code erreur sera transmis, voir les codes erreur au paragraphe

III.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec.

III.5.16 Calcul de la signature en entrée

Il s’agit d’appliquer un algorithme SHA sur une concaténation de champs.

L’algorithme SHA-1 (Secure Hash Algorithm) est une fonction de hachage cryptographique. Il

produit une signature de 160 bits (40 caractères).

Son implémentation dépend de votre environnement technique. Des exemples

d’implémentations Java, Javascript, Android et iOS sont fournis en Annexe 2 Exemple de

calcul de signature SHA.

Champ pris en compte pour la signature Nom du champ Obligatoire

Identifiant FO pudoFOId Oui

Nom du destinataire ceName Non

Délai de préparation de commande dyPreparationTime Non

Frais d’expédition dyForwardingCharges Oui

Frais d’expédition commerçants dyForwardingChargesCMT Non

N° client web trClientNumber Non

N° commande trOrderNumber Non

N° transaction orderId Oui

N° de version numVersion Oui

Civilité du destinataire ceCivility Non

Prénom du destinataire ceFirstName Non

Raison sociale ceCompanyName Non

Etage, couloir, escalier, n° appartement ceAdress1 Non

Entrée, bâtiment, immeuble, résidence ceAdress2 Non

Numéro et libellé de la voie ceAdress3 Non

Lieu dit ou autre mention spéciale ceAdress4 Non

Code postal ceZipCode Non

Commune ceTown Non

Interphone ceEntryPhone Non

Autres instructions de livraison ceDeliveryInformation Non

Courriel ceEmail Non

Téléphone portable cePhoneNumber Non

Code porte ceDoorCode1 Non

Code porte 2 ceDoorCode2 Non

Poids du colis dyWeight Non

Paramètre première commande trFirstOrder Non

Paramètre plus chargeur trParamPlus Non

URL de retour échec trReturnUrlKo Oui

URL de retour validation trReturnUrlOk Non

Pays du destinataire cePays Non

Option International trInter Non

Page 25: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

25

Langue du destinataire ceLang Non

L’ordre des champs doit impérativement être respecté. La clé SHA qui vous a été

fournie par La Poste - Colissimo doit être également concaténée à la fin de la chaîne.

Chaîne_à_convertir= pudoFOId+ceName+dyPreparationTime+dyForwardingCharges+

dyForwardingChargesCMT+trClientNumber+trOrderNumber+orderId+numVersion+ceCivility+

ceFirstName+ceCompanyName+ceAdress1+ceAdress2+ceAdress3+ceAdress4+ceZipCode+ce

Town+ceEntryPhone+ceDeliveryInformation+ceEmail+cePhoneNumber+ceDoorCode1+ceDoor

Code2+dyWeight+trFirstOrder+trParamPlus+trReturnUrlKo+trReturnUrlOk+cePays+trInter+c

eLang+cléSHA

Signature=SHA1(Chaîne_à_convertir)

Certains des champs ci-dessus ne sont pas obligatoires. S’ils ne sont pas transmis

par votre site web mobile ou votre application, ils ne doivent pas être pris en compte

dans le calcul de la signature.

Exemple de concaténation avec les champs obligatoires uniquement:

Chaîne_à_convertir=

pudoFOId+dyForwardingCharges+orderId+numVersion+trReturnUrlKo+cléSHA

Signature=SHA1(Chaîne_à_convertir)

III.5.17 URLs de retour : URL de retour « Validation »

Il est possible de transmettre l’URL de retour « Validation » dans les paramètres d’appel de la

solution.

Il s’agit d’un paramètre facultatif, cette possibilité est offerte pour les plateformes e-

commerce disposant de plusieurs sites.

C’est l’URL passée en paramètre lors de l’appel qui est prioritaire à celle renseignée dans le

Back-Office (cf. Guide d’utilisation du Back-Office).

Cette URL doit respecter le format de 256 caractères alphanumériques maximum et

commencer par https:// ou http://.

Si ce n’est pas le cas, l’accès à la solution ne sera pas autorisé. L’acheteur sera redirigé vers

votre url retour Echec. Un code erreur sera transmis, voir les codes erreur au paragraphe

III.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec.

III.5.18 URL de retour « Echec »

Afin de ne pas perdre la commande en cours en cas d’indisponibilité du service, La Poste

Colissimo demande au chargeur de transmettre l’URL de retour « Echec » dans les paramètres

d’appel de la solution en méthode GET en plus de sa transmission en méthode POST.

Cette URL doit :

être obligatoirement renseignée

respecter le format de 256 caractères alphanumériques maximum et commencer par

https:// ou http://

Page 26: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

26

Si ce n’est pas le cas, l’accès à la solution ne sera pas autorisé. L’acheteur sera redirigé vers

l’url retour Echec saisie dans le Back Office. Un code erreur sera transmis, voir les codes

erreur au paragraphe III.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec.

Page 27: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

27

IV. INTEGRATION DE LA SOLUTION

IV.1 Préambule

Les URLs de retour doivent être préalablement définies et validées dans le Back Office (Cf

Guide d’utilisation du Back-Office).

Si ce n’est pas le cas, l’accès à la solution ne sera pas autorisé. L’acheteur sera redirigé vers

l’url retour Echec passée en paramètre. Un code erreur sera transmis, voir les codes erreur au

paragraphe III.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec.

Pour vos tests :

Le paramètre pudoFOId indiqué dans les exemples qui suivent doit être remplacé par

l’Identifiant FO présent dans votre Back Office.

La signature indiquée dans les exemples qui suivent doit être remplacée et calculée avec la clé

SHA présente dans votre Back Office.

IV.2 Appel depuis un site web mobile

Après avoir remplacé les paramètres « hidden » par des paramètres valides, il suffit d’ouvrir

cette page html avec un navigateur Internet pour être automatiquement redirigé vers la

solution avec transmission de ces paramètres.

IV.2.1 Exemple de transmission avec les paramètres obligatoires

Le code html statique ci-dessous permet, lorsque les champs spécifiés ont été modifiés et

renseignés, l’appel de la solution avec les paramètres obligatoires exclusivement.

<html>

<head> <title>Appel de So Colissimo Mobile</title> <script type="text/javascript" src="webtoolkit.js"></script> </head> <body> <br/><br/><br/><br/><br/><br/> &nbsp;&nbsp;&nbsp;&nbsp;En attente du site So Colissimo Mobile <form name="formpudocall" action="http://ws-mobile.colissimo.fr? trReturnUrlKo=http://www.echec.com" method="post"> <input type="hidden" name="pudoFOId" value="05463720233029"> <input type="hidden" name="dyForwardingCharges" value="2.5"> <input type="hidden" name="orderId" value="2010217114011118"> <input type="hidden" name=" trReturnUrlKo" value="http://www.echec.com">

<input type="hidden" name="numVersion" value="4.0"> <input type="hidden" name="signature" value="9671286d906bd6f37427a72f2b5c3befea279198">

</form> <script>document.formpudocall.submit();</script> </body> </html>

Comme décrit au paragraphe II.5.8 Calcul de la signature en entrée, la signature est calculée

à partir de la concaténation des paramètres suivants :

pudoFOId+dyForwardingCharges+orderId+numVersion+trReturnUrlKo+cléSHA

Page 28: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

28

(dans cet exemple la clé SHA utilisée est rungis)

C’est à dire dans l’exemple ci-dessus :

054637202330292.520102171140111184.0http://www.echec.comrungis

Rappel : la signature doit être en minuscule au format UTF8

IV.2.2 Exemple de transmission avec l’ensemble des paramètres

Le code html en exemple ci-dessous permet, lorsque les champs spécifiés ont été modifiés et

renseignés, l’appel de la solution.

Pour ne pas passer un paramètre, il faut supprimer entièrement la ligne (ne pas

transmettre ce paramètre avec une valeur vide).

Exemple : en cas de non transmission du numéro de client, supprimer intégralement la ligne

<input type="hidden" name="trClientNumber" value="CL45678">

<html>

<head> <title>Appel de SO Livraison</title> <script type="text/javascript" src="webtoolkit.js"></script> </head> <body> <br/><br/><br/><br/><br/><br/> &nbsp;&nbsp;&nbsp;&nbsp;En attente du site SO Livraison <form name="formpudocall" action="http://ws-mobile.colissimo.fr trReturnUrlKo=http://www.echec.com" method="post">

<input type="hidden" name="pudoFOId" value="05463720233029"> <input type="hidden" name="ceName" value="Dubreuil">

<input type="hidden" name="dyPreparationTime" value="1"> <input type="hidden" name="dyForwardingCharges" value="2.5"> <input type="hidden" name="dyForwardingChargesCMT" value="2"> <input type="hidden" name="trClientNumber" value="CL45678">

<input type="hidden" name="trOrderNumber" value="CMD78954"> <input type="hidden" name="orderId" value="2010217114011118"> <input type="hidden" name="numVersion" value="4.0"> <input type="hidden" name="ceCivility" value="MR">

<input type="hidden" name="ceFirstName" value="Pierre"> <input type="hidden" name="ceCompanyName" value="AGFR International"> <input type="hidden" name="ceAdress1" value="Escalier B"> <input type="hidden" name="ceAdress2" value="Porte C"> <input type="hidden" name="ceAdress3" value="16, boulevard de reuilly"> <input type="hidden" name="ceAdress4" value="12 ème arrondissement"> <input type="hidden" name="ceZipCode" value="75012"> <input type="hidden" name="ceTown" value="Paris"> <input type="hidden" name="ceEntryPhone" value="256A">

<input type="hidden" name="ceDeliveryInformation" value="Chien méchant"> <input type="hidden" name="ceEmail" value="[email protected]">

<input type="hidden" name="cePhoneNumber" value="0124548278"> <input type="hidden" name="ceDoorCode1" value="123456">

<input type="hidden" name="ceDoorCode2" value="ABCDEF"> <input type="hidden" name="dyWeight" value="150"> <input type="hidden" name="trFirstOrder" value="1"> <input type="hidden" name="trParamPlus" value="ABC12EF"> <input type="hidden" name=" trReturnUrlOk " value=http://www.succes.com> <input type="hidden" name=" trReturnUrlKo" value="http://www.echec.com">

<input type="hidden" name="trInter" value="1"> <input type="hidden" name="cePays" value="FR"> <input type="hidden" name="ceLang" value="fr_FR"> <input type="hidden" name="signature" value=" 1164bebf67e4db655bc5d8850f7ca7803696d5bf">

</form>

Page 29: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

29

<script>document.formpudocall.submit();</script> </body>

</html>

Comme décrit au paragraphe II.5.8 Calcul de la signature en entrée, la signature est calculée

à partir de la concaténation des paramètres suivants :

pudoFOId+ceName+dyPreparationTime+dyForwardingCharges+

dyForwardingChargesCMT+trClientNumber+trOrderNumber+orderId+numVersion+ceCivility+

ceFirstName+ceCompanyName+ceAdress1+ceAdress2+ceAdress3+ceAdress4+ceZipCode+ce

Town+ceEntryPhone+ceDeliveryInformation+ceEmail

+cePhoneNumber+ceDoorCode1+ceDoorCode2+dyWeight+trFirstOrder+trParamPlus+trRetur

nUrlKo+trReturnUrlOk+cePays+trInter+ceLang+cléSHA

Dans cet exemple la clé SHA utilisée est rungis.

C’est à dire dans l’exemple ci-dessus :

05463720233029Dubreuil12.52CL45678CMD7895420102171140111184.0MRPierreAGFR

InternationalEscalier BPorte C16, boulevard de reuilly12 ème

arrondissement75012Paris256AChien

[email protected]://www.echec.c

omhttp://www.succes.comrungis

Rappel : la signature doit être en minuscule au format UTF8.

IV.3 Appel depuis une application native

Afin d’utiliser la solution dans une application native, le composant webview doit être

configuré.

Il est nécessaire de passer en paramètre dans le Header de la page d’appel, les variables

Hybride et WithHeader.

Hybride = 1 afin d’indiquer que l’on se trouve dans une application native

Withheader avec 0 ou 1 afin d’indiquer si l’on souhaite afficher ou non le bandeau

orange

- 0 = non affichage du bandeau, 1 = affichage du bandeau

- Le paramètre n’est valable que si Hybride = 1

- Le paramètre est facultatif

- S’il n’est pas renseigné, la solution affiche le bandeau orange

Dans une application Android il faut utiliser :

public void loadUrl (String url, Map<String, String> additionalHttpHeaders)

Dans une application iOS, il faut utiliser :

[requestSoColissimo setValue:@"1" forHTTPHeaderField:@"Hybride"];

[requestSoColissimo setValue:@"1" forHTTPHeaderField:@"WithHeader"];

Exemple d’intégration avec un affichage sans le bandeau (écran avec le bandeau en page 12)

Page 30: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

30

IV.3.1 Intégration dans une application Android

import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.util.Log; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView wv = new WebView(this); setContentView(wv); String url = " http://ws-mobile.colissimo.fr?trReturnUrlKo=http://retourko.htm"; String postData = "pudoFOId=05463720233865&"; postData += "ceName=Dubreuil&"; postData += "dyPreparationTime=1&"; postData += "dyForwardingCharges=2,50&"; postData += "dyForwardingChargesCMT=2&"; postData += "trClientNumber="CL45678&"; postData += "trOrderNumber="CMD78954&"; postData += "orderId=2010217114011118&"; postData += "numVersion=4.0&"; postData += "ceCivility=MR&"; postData += "ceFirstName=David&"; postData += "ceCompanyName = AGFR International &"; postData += "ceAdress1=Escalier B &"; postData += "ceAdress2=Porte C &"; postData += "ceAdress3=15 rue rivoli&"; postData += "ceAdress4=1er arrondissement&"; postData += "ceZipCode=75001&"; postData += "ceTown=Paris&"; postData += "ceEntryPhone =256A &"; postData += "ceDeliveryInformation =Laisser au gardien&"; postData += "[email protected]&"; postData += "cePhoneNumber=0600000009&"; postData += "ceDoorCode1=123456&"; postData += "ceDoorCode2= ABCDEF&"; postData += "dyWeight=2000&"; postData += "trReturnUrlKo=http://retourko.htm&"; postData += "trReturnUrlOk=http://retourok.htm&"; postData += "trInter=1&"; postData += "cePays=FR&"; postData += "ceLang=fr_FR&"; postData += "key=603092782859&"; postData += "signature=d774ab6dce55ab0c689cc28c77906b7bc5962836"; wv.getSettings().setJavaScriptEnabled(true); wv.setWebViewClient(new MyWebViewClient()); wv.postUrl(url, EncodingUtils.getBytes(postData, "base64")); wv.loadUrl(url,Hybride,1);

Page 31: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

31

} private class MyWebViewClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { Log.v("", "onPageStarted : " + url); super.onPageStarted(view, url, favicon); } } }

IV.3.2 Intégration dans une application iOS

Une classe Request à été créée pour faciliter la création de la requête pour le tunnel. Elle

permet de créer la chaine de caractères comprenant la signature à envoyer en POST. Fichier SCTRequest

Header :

@interface SCTRequest : NSObject @property (nonatomic, retain) NSMutableString *request; @property (nonatomic, retain) NSMutableString *sha1; /* * Create a string with all necessary post * and concat new variable to the string at each call */ - (void)concatkey:(NSString *)key andValue:(NSString *)value; /* * Compute the sha1 from all the post added to the request * And and the post variable "signature" zith the sha1 * This methode must be call when all post are added to the request */ - (void)addSha1ToString;

Implementation :

@implementation SCTRequest @synthesize request, sha1; - (void)concatkey:(NSString *)key andValue:(NSString *)value { if ((request == nil) || ([request isEqualToString:@""])) { request = [NSMutableString stringWithFormat:@"%@=%@", key, value]; sha1 = [NSMutableString stringWithFormat:@"%@",value]; } else { [request appendFormat:@"&%@=%@", key, value]; [sha1 appendFormat:@"%@", value]; } } -(NSString*) sha1:(NSString*)input {

Page 32: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

32

const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithBytes:cstr length:input.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; bool sha1fct = CC_SHA1(data.bytes, data.length, digest); /* * handle sha1 function fail here if necessary */ NSAssert(sha1fct, @"Sha1 function fail with : %@", input); NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) [output appendFormat:@"%02x", digest[i]]; NSLog(@"sha1 : %@", output); return output; } -(void)addSha1ToString { if ((sha1 == nil) || (request == nil)) return; [self concatkey:@"signature" andValue:[self sha1:sha1]]; }

Fichier SCTCallerViewController

Implémentation :

@interface SCTCallerViewController () @end @implementation SCTCallerViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait); }

Page 33: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

33

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"callTunnel"]) { NSMutableURLRequest *requestSoColissimo; /* * Add all post to the string used to post * You should use a model with a dictonnary Key/Value * * The order of the insert of all the post is important * because the sha1 is build from all the concatenate value of the post * Check the So Colissimo specifications for more informations about the * sha1 creation */ SCTRequest *dataRequest = [[SCTRequest alloc] init]; [dataRequest concatkey:@"pudoFOId" andValue:@"05464540474629"]; [dataRequest concatkey:@"ceName" andValue:@"Dubreuil"]; [dataRequest concatkey:@"dyPreparationTime" andValue:@"1"]; [dataRequest concatkey:@"dyForwardingCharges" andValue:@"2,50"]; [dataRequest concatkey:@"dyForwardingChargesCMT" andValue:@"2"]; [dataRequest concatkey:@"orderId" andValue:@"test9999"]; [dataRequest concatkey:@"numVersion" andValue:@"4.0"]; [dataRequest concatkey:@"ceCivility" andValue:@"MR"]; [dataRequest concatkey:@"ceFirstName" andValue:@"David"]; [dataRequest concatkey:@"ceAdress3" andValue:@"15ruerivoli"]; [dataRequest concatkey:@"ceZipCode" andValue:@"75001"]; [dataRequest concatkey:@"ceTown" andValue:@"Paris"]; [dataRequest concatkey:@"ceEmail" andValue:@"[email protected]"]; [dataRequest concatkey:@"cePhoneNumber" andValue:@"0600000009"]; [dataRequest concatkey:@"dyWeight" andValue:@"2000"]; [dataRequest concatkey:@"trReturnUrlKo" andValue:@"http://retourko.htm"]; [dataRequest concatkey:@"trInter" andValue:@"1"]; [dataRequest concatkey:@"cePays" andValue:@"FR"]; [dataRequest concatkey:@"ceLang" andValue:@"fr_FR"]; /* * the trReturnUrlOk is set to http://retourok.htm to check when the tunnel is over * it is an efficient and simple way to check it. */ [dataRequest concatkey:@"trReturnUrlOk" andValue:@"http://retourok.htm"]; [dataRequest concatkey:@"key" andValue:@"630600854936"]; /* * Compute and add the sha1 */ [dataRequest addSha1ToString]; /* * Setting the request */ requestSoColissimo = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://ws-mobile.colissimo.fr?trReturnUrlKo=http://retourko.htm"]]; NSData *postData = [dataRequest.request dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; [requestSoColissimo setHTTPMethod:@"POST"]; [requestSoColissimo setValue:postLength forHTTPHeaderField:@"Content-Length"]; [requestSoColissimo setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; [requestSoColissimo setValue:@"1" forHTTPHeaderField:@"Hybride"]; [requestSoColissimo setValue:@"1" forHTTPHeaderField:@"WithHeader"]; [requestSoColissimo setHTTPBody:postData];

Page 34: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

34

/* * Send the request to the tunnel controller */ SCTTunnelViewController *cvc = [segue destinationViewController]; cvc.requestSoColissimo = requestSoColissimo; } } @end

IV.3.3 Retour vers l’application du e-marchand

La solution n’inclut pas de bouton retour pour revenir vers la page du e-marchand. Le retour

s’effectuera via les boutons du navigateur, lorsque la solution est intégré en webmobile.

Dans le cas d’une intégration dans une application iOS, il est conseillé de développer une

solution permettant de revenir vers l’application du e-marchand (les téléphones utilisant l’OS

Android prévoit la plupart du temps un bouton retour)

Voici un exemple à partir d’une application iOS :

Ce code se trouve dans la vue du tunnel et est appelé quand un bouton retour est appuyé

- (IBAction)backToCall:(id)sender { [self.navigationController popToRootViewControllerAnimated:YES]; }

IV.4 Gestion des erreurs

IV.4.1 Messages d’erreur affichés par la solution

Ces messages sont affichés sur la page de saisie des informations personnelles (à l’arrivée sur

la page ou suite à la modification des informations par l’acheteur), et également dans le bloc

de recherche d’un nouveau Point Retrait à proximité pour les champs adresse, code postal et

commune.

Libellé Vérification/Action Type

Veuillez renseigner votre $1, $2, $3, $4,

$5, $6, $7

Affiché si les champs suivants ne sont

pas renseignés :

$1 pour Civilité

$2 pour Nom

$3 pour prénom

$4 pour adresse

$5 code postal

$6 commune

$7 courriel

Bloquant

Vous avez saisi un caractère non autorisé :

&;~#{([|\^)]=}$¤€£%µ*§!°²¹

Affiché si l’un des champs du formulaire

contient un caractère non autorisé (sauf

code postal, courriel et téléphone qui ont

un contrôle particulier)

Le & est autorisé dans le champ Raison

Sociale.

Bloquant

Page 35: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

35

Le format du courriel n'est pas valide.

Le format attendu est [email protected] avec z

contenant au moins 2 caractères Bloquant

Le format du code postal n'est pas valide.

Pour la France, le format attendu est

01XXX à 95XXX, ADXXX et 980XX avec X

égal un numérique.

Belgique : 1000 à 9999

Autres destinations inter : voir annexe

Bloquant

Le format du numéro de téléphone portable

n'est pas valide

Affiché si le numéro de téléphone

portable n’est pas sur 10 caractères

numériques commençant par 06 ou 07 et

si les 8 derniers chiffres sont identiques ou correspondent à (12345678)

France : 06XXXXXXXX ou

07XXXXXXXX

Belgique : +324XXXXXXXX

Autres pays : seul l’indicatif est

contrôlé

Bloquant

Page 36: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

36

IV.4.2 Codes erreur retournés au chargeur sur l’URL retour Echec

Code

erreur

Libellé Vérification/Action Type

001 Identifiant FO manquant L’identifiant FO n’est pas transmis dans les paramètres d’appel.

Bloquant

002 Identifiant FO incorrect L’identifiant FO transmis dans les paramètres d’appel est inconnu de l’application, de taille non conforme ou n’a pu être identifié par la solution (erreur technique : Back Office indisponible)

Bloquant

003 Client non autorisé L’identifiant FO transmis dans les paramètres

d’appel correspond à un compte résilié par La Poste - Colissimo ou n’a pu être identifié par la solution (erreur technique : authentification indisponible)

Bloquant

004 Champ obligatoire manquant Il manque un paramètre obligatoire dans les

paramètres d’appel :

Frais d’expédition N° transaction URL retour Echec

Bloquant

006 Signature manquante La signature n’est pas transmise dans les

paramètres d’appel.

Bloquant

007 Signature ou numéro de version invalide

La signature transmise dans les paramètres d’appel n’est pas valide ou le numéro de version transmis dans les paramètres d’appel n’est pas valide.

Bloquant

008 Code postal invalide Le code postal transmis dans les paramètres d’appel n’est pas valide.

Bloquant

009 Format url retour Validation

incorrect

L’url transmise dans les paramètres d’appel n’est

pas valide.

Bloquant

010 Format url retour Echec incorrect

L’url retour Echec transmise dans les paramètres d’appel n’est pas valide.

Bloquant

011 Numéro de transaction non

valide

Le numéro de transaction transmis dans les

paramètres d’appel n’est pas valide.

Bloquant

012 Format des frais d’expédition incorrect

Les frais d’expédition transmis dans les paramètres d’appel ne sont pas valides.

Bloquant

015 Serveur applicatif non disponible Le serveur applicatif La Poste - Colissimo est indisponible.

Bloquant

020 Option International et Pays incompatibles

La valeur du paramètre « option International » ne permet pas d’autoriser la valeur du paramètre « Pays de livraison »

Bloquant

IV.4.3 Codes d’information retournés au chargeur sur l’URL retour Validation

Code information

Libellé Vérification/Action Type

501 Champ courriel trop long, champ tronqué

La valeur concernée est également retournée. Non bloquant

502 Champ portable trop long,

champ tronqué

La valeur concernée est également retournée. Non

bloquant 503 Champ Nom trop long, champ

tronqué

La valeur concernée est également retournée. Non

bloquant 504 Champ Prénom trop long,

champ tronqué La valeur concernée est également retournée. Non

bloquant 505 Champ Raison sociale trop

long, champ tronqué

La valeur concernée est également retournée. Non

bloquant 506 Champ Etage … trop long,

champ tronqué La valeur concernée est également retournée. Non

bloquant

Page 37: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

37

507 Champ Entrée … trop long,

champ tronqué

La valeur concernée est également retournée. Non

bloquant 508 Champ Lieu dit trop long,

champ tronqué

La valeur concernée est également retournée. Non

bloquant 509 Champ Numéro et libellé de

voie trop long, champ tronqué La valeur concernée est également retournée. Non

bloquant 510 Champ Commune trop long,

champ tronqué La valeur concernée est également retournée. Non

bloquant 511 Champ interphone trop long,

champ tronqué La valeur concernée est également retournée. Non

bloquant 512 Champ informations

complémentaires trop long, champ tronqué

La valeur concernée est également retournée. Non bloquant

513 Champ Code porte trop long,

champ tronqué

La valeur concernée est également retournée. Non

bloquant 514 Champ Code porte 2 trop long,

champ tronqué La valeur concernée est également retournée. Non

bloquant 515 Champ Numéro de client trop

long, champ tronqué

La valeur concernée est également retournée. Non

bloquant 516 Champ Numéro de commande

trop long, champ tronqué La valeur concernée est également retournée. Non

bloquant 517 Champ ParamPlus trop long,

champ tronqué La valeur concernée est également retournée. Non

bloquant 131 Civilité invalide, champ ignoré Le format de la civilité est incorrect Non

bloquant 132 Le champ délai de préparation

de commande n’est pas valide, champ ignoré

Le Délai préparation commande n’est pas un numérique valide, est trop long ou est égal à 0.

Non bloquant

133 Le champ poids n’est pas

valide, champ ignoré Le Poids de la commande n’est pas un

numérique valide, est trop long ou est égal à 0.

Non

bloquant

Page 38: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

38

IV.5 Indisponibilité et continuité du processus de commande

IV.5.1 Serveur applicatif hors service

Dans le cas où le Serveur applicatif de La Poste - Colissimo est hors service, l’acheteur est

redirigé vers l’url retour Echec transmis dans les paramètres d’appel.

Le code erreur bloquant 015 est transmis.

Si l’url de retour Echec n’est pas transmise dans les paramètres d’appel alors une page

d’erreur est affichée à l’acheteur. Voir paragraphe IV.5.3 Page d’erreur interne.

IV.5.2 Continuité du processus de commande

En sus des mécanismes de supervision des infrastructures applicatives et matérielles qui ne

garantissent pas par eux-mêmes la disponibilité de l’ensemble de la chaîne de traitement, La

Poste Colissimo recommande aux chargeurs, la mise en œuvre d’un contrôle préalable à

l’appel de la solution « Modes de livraison » version mobile.

Pour ce faire, La Poste - Colissimo met à disposition des chargeurs, une URL de supervision

permettant de vérifier si la solution est disponible : http://ws-

mobile.colissimo.fr/supervision

Cette page affiche [OK] si le serveur applicatif est opérationnel. Toute réponse différente de

[OK] est à considérer comme [KO].

Si la page n’affiche pas OK, le chargeur doit mettre en place un processus de

contournement afin de ne pas appeler la solution « Modes de livraison » version

mobile mais d’afficher sur la page e-marchand la livraison à domicile en Colissimo.

La vérification de disponibilité du service consiste en l’appel de la page de supervision par le

chargeur, suivi de la recherche de la chaîne de caractère [OK] dans cette page.

Page 39: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

39

IV.5.3 Page d’erreur interne

En cas d’erreur technique ne permettant ni d’afficher la solution ni d’envoyer des informations

au chargeur, la page statique suivante sera affichée à l’acheteur

Page 40: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Novembre 2017

40

IV.6 Paramètres de Retour

IV.6.1 Retours sur l’URL retour Validation

Une fois le choix du mode de livraison réalisé par l’acheteur :

dans le cas d’une intégration en web mobile, les paramètres sont transmis en POST. L’URL retour échec est transmise en

GET et en POST afin d’assurer la continuité de service en cas d’indisponibilité technique de La Poste - Colissimo.

dans le cas d’une intégration dans une application native, l’ensemble des paramètres sont transmis en GET

IV.6.2 Retour pour les modes de livraison à Domicile

Paramètre Obligatoire Nom du paramètre Type Commentaire

Identifiant FO Oui pudoFOID 14 numériques Identique au paramètre d’appel

Nom du destinataire Oui ceName Jusqu’à 34 alphanumériques

Tel qu’affiché sur la solution

Délai préparation commande Oui dyPreparationTime Jusqu’à 2 alphanumériques Tel que présent dans les paramètres d’appel

Total des Frais d’expédition Oui dyForwardingCharges Jusqu’à 6 alphanumériques avec comme séparateur « . »

Correspond au frais d’expédition passés en entrée

N° client web trClientNumber Jusqu’à 30 alphanumériques

Tel que présent dans les paramètres d’appel

N° commande trOrderNumber Jusqu’à 30 alphanumériques

Tel que présent dans les paramètres d’appel

N° transaction Oui orderId De 5 à 16 alphanumériques

Tel que présent dans les paramètres d’appel

Civilité du destinataire Oui ceCivility MR/MME/MLE Tel qu’affiché sur la solution

Prénom du destinataire Oui ceFirstName Jusqu’à 29 alphanumériques

Tel qu’affiché sur la solution

Raison sociale du destinataire ceCompanyName Jusqu’à 38 alphanumériques

Tel qu’affiché sur la solution

Étage, couloir, escalier, n° appartement du destinataire

ceAdress1 Jusqu’à 38 alphanumériques

Tel qu’affiché sur la solution

Entrée, bâtiment, immeuble, résidence du destinataire

ceAdress2 Jusqu’à 38 alphanumériques

Tel qu’affiché sur la solution

Numéro et libellé de la voie du destinataire

Oui ceadress3 Jusqu’à 38 alphanumériques

Tel qu’affiché sur la solution

Page 41: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

41

Lieu dit ou autre mention spéciale du destinataire

ceadress4 Jusqu’à 38 alphanumériques

Tel qu’affiché sur la solution

Code postal du destinataire Oui ceZipCode 5 alphanumériques Tel qu’affiché sur la solution

Commune du destinataire Oui ceTown Jusqu’à 32

alphanumériques

Tel qu’affiché sur la solution

Mode de livraison sélectionné Oui deliveryMode 3 alphanumériques DOM pour domicile

Autres instructions de livraison ceDeliveryInformation Jusqu’à 70

alphanumériques

Tel que présent dans les

paramètres d’appel

Courriel du destinataire Oui ceEmail Jusqu’à 80 alphanumériques

Tel qu’affiché sur la solution

Numéro de téléphone portable du destinataire

cePhoneNumber 10 numériques Tel qu’affiché sur la solution

Code porte ceDoorCode1 Jusqu’à 8 alphanumériques Tel que présent dans les paramètres d’appel

Code porte 2 ceDoorCode2 Jusqu’à 8 alphanumériques Tel que présent dans les paramètres d’appel

Interphone ceEntryPhone Jusqu’à 30 alphanumériques

Tel que présent dans les paramètres d’appel

Paramètre plus chargeur trParamPlus Jusqu’à 256

alphanumériques

Tel que présent dans les

paramètres d’appel

Nom commercial Oui traderCompanyName Jusqu’à 35 alphanumériques

Tel que saisi dans votre Back Office

Code erreur errorCode Jusqu’à 80

alphanumériques

Combinaison de code de la

forme xxx xxx … xxx avec xxx valant de 501 à 517 et/ou de 131 à 133.

Les codes sont séparés par des espaces. Ex : 501 508 132

URL retour échec Oui trReturnUrlKo Jusqu’à 256

alphanumériques

Transmise en GET et en POST

Pays du destinataire CePays 2 alphanumériques Tel qu’affiché sur la solution

Langue du destinataire ceLang 5 alphanumériques Tel que présent dans les

paramètres d’appel

Page 42: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

42

Option international trInter 1 numérique Tel que présent dans les paramètres d’appel

Signature Oui signature 40 alphanumériques Recalculée à partir des

nouvelles valeurs des paramètres, voir paragraphe IV.6.3

Champs en erreur

Erreur sur Nom du destinataire

ERR_CENAME Jusqu’à 34 alphanumériques

Erreur sur Prénom du

destinataire ERR_CEFIRSTNAME Jusqu’à 29

alphanumériques

Erreur sur Raison sociale du destinataire

ERR_CECOMPANYNAME Jusqu’à 38 alphanumériques

Erreur sur Étage, couloir,

escalier, n° appartement du destinataire

ERR_CEADRESS1 Jusqu’à 38

alphanumériques

Erreur sur Entrée, bâtiment, immeuble, résidence du destinataire

ERR_CEADRESS2 Jusqu’à 38 alphanumériques

Erreur sur Numéro et libellé de la voie du destinataire

ERR_CEADRESS3 Jusqu’à 38 alphanumériques

Erreur sur Lieu dit ou autre

mention spéciale du destinataire

ERR_CEADRESS4 Jusqu’à 38

alphanumériques

Erreur sur Commune du destinataire

ERR_CETOWN Jusqu’à 32 alphanumériques

Erreur sur Code porte ERR_CEDOORCODE1 Jusqu’à 8 alphanumériques

Erreur sur Code porte 2 ERR_CEDOORCODE2 Jusqu’à 8 alphanumériques

Erreur sur Interphone ERR_CEENTRYPHONE Jusqu’à 30 alphanumériques

Erreur sur Autres instructions de livraison

ERR_CEDELIVERYINFORMATION

Jusqu’à 70 alphanumériques

Erreur sur Courriel du destinataire

ERR_CEEMAIL Jusqu’à 80 alphanumériques

Erreur sur Téléphone portable du destinataire

ERR_CEPHONENUMBER Jusqu’à 10 alphanumériques

Erreur sur N° client web ERR_TRCLIENTNUMBER Jusqu’à 30 alphanumériques

Page 43: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

43

Erreur sur N° commande ERR_TRORDERNUMBER Jusqu’à 30 alphanumériques

Erreur sur Paramètre plus

chargeur

ERR_TRPARAMPLUS Jusqu’à 256

alphanumériques

Erreur sur Civilité du destinataire

ERR_CECIVILITY Jusqu’à 3 alphanumériques

Erreur sur Poids du colis ERR_DYWEIGHT Jusqu’à 5 alphanumériques

Erreur sur Délai préparation commande

ERR_DYPREPARATIONTIME Jusqu’à 2 alphanumériques

Page 44: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

44

IV.6.3 Signature en sortie pour les modes de livraison à Domicile

La signature permet de garantir que les données que la solution « Modes de livraison »

version mobile vous transmet, ne subiront pas de modification entre l’envoi et la réception.

La signature, basée sur une clé SHA qui vous est propre vous permet d’effectuer un contrôle

des données réceptionnées.

La signature doit correspondre à celle calculée par La Poste - Colissimo (à noter que celle-ci

est calculée en minuscule au format UTF8).

Si ce n’est pas le cas, les données doivent être considérées comme altérées et le chargeur

doit mettre en place un processus de contournement basé sur la proposition d’un mode de

livraison au domicile de l’acheteur.

Calcul :

Il s’agit d’appliquer un algorithme SHA sur une concaténation de champs.

L’algorithme SHA-1 (Secure Hash Algorithm) est une fonction de hachage cryptographique. Il

produit une signature de 160 bits (40 caractères).

Son implémentation dépend de votre environnement technique. Des exemples

d’implémentations Java, Javascript, Android, iOS sont fournis en Annexe 2 Exemple de calcul

de signature SHA.

Champ pris en compte pour la signature s’ils sont renseignés

Nom du champ

Identifiant FO pudoFOID

Nom du destinataire ceName

Délai préparation commande dyPreparationTime

Total des Frais d’expédition dyForwardingCharges

N° client web trClientNumber

N° commande trOrderNumber

N° transaction orderId

Civilité du destinataire ceCivility

Prénom du destinataire ceFirstName

Raison sociale du destinataire ceCompanyName

Étage, couloir, escalier, n° appartement du destinataire

ceAdress1

Entrée, bâtiment, immeuble, résidence du destinataire

ceAdress2

Numéro et libellé de la voie du destinataire ceadress3

Lieu dit ou autre mention spéciale du destinataire

ceadress4

Code postal du destinataire ceZipCode

Commune du destinataire ceTown

Mode de livraison sélectionné deliveryMode

Autres instructions de livraison ceDeliveryInformation

Courriel du destinataire ceEmail

Numéro de téléphone portable du destinataire cePhoneNumber

Code porte ceDoorCode1

Code porte 2 ceDoorCode2

Interphone ceEntryPhone

Paramètre plus chargeur trParamPlus

Page 45: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Novembre 2017

45

L’ordre des champs doit impérativement être respecté. La clé SHA qui vous a été

fournie par La Poste Colissimo doit être également concaténée à la fin de la chaîne.

Chaîne_à_convertir= pudoFOID + ceName + dyPreparationTime + dyForwardingCharges +

trClientNumber + trOrderNumber + orderId + ceCivility + ceFirstName + ceCompanyName +

ceAdress1+ ceAdress2+ ceadress3+ ceadress4+ ceZipCode + ceTown + deliveryMode +

ceDeliveryInformation + ceEmail + cePhoneNumber + ceDoorCode1+ ceDoorCode2+ ceEntryPhone +

trParamPlus+ traderCompanyName + errorCode

+ERR_CENAME+ERR_CEFIRSTNAME+ERR_CECOMPANYNAME+ERR_CEADRESS1+ERR_CEAD

RESS2+ERR_CEADRESS3+ERR_CEADRESS4+ERR_CETOWN+ERR_CEDOORCODE1+ERR_CE

DOORCODE2+ERR_CEENTRYPHONE+ERR_CEDELIVERYINFORMATION+ERR_CEEMAIL+ERR_

CEPHONENUMBER+ERR_TRCLIENTNUMBER+ERR_TRORDERNUMBER+ERR_TRPARAMPLUS+E

RR_CECIVILITY+ERR_DYWEIGHT+ERR_DYPREPARATIONTIME+

trReturnUrlKo+cePays+trInter+ceLang+cléSHA

Signature=SHA1(Chaîne_à_convertir)

Certains des champs ci-dessus peuvent ne pas être renseignés car ils n’ont pas été

transmis dans les paramètres d’appel. S’ils ne sont pas renseignés, ils ne doivent

pas être pris en compte dans le calcul de la signature

Exemple de concaténation avec les champs obligatoires uniquement:

Nom commercial traderCompanyName

Code erreur errorCode

Erreur sur Nom du destinataire ERR_CENAME

Erreur sur Prénom du destinataire ERR_CEFIRSTNAME

Erreur sur Raison sociale du destinataire ERR_CECOMPANYNAME

Erreur sur Étage, couloir, escalier, n° appartement du destinataire

ERR_CEADRESS1

Erreur sur Entrée, bâtiment, immeuble, résidence du destinataire

ERR_CEADRESS2

Erreur sur Numéro et libellé de la voie du destinataire

ERR_CEADRESS3

Erreur sur Lieu dit ou autre mention spéciale du destinataire

ERR_CEADRESS4

Erreur sur Commune du destinataire ERR_CETOWN

Erreur sur Code porte ERR_CEDOORCODE1

Erreur sur Code porte 2 ERR_CEDOORCODE2

Erreur sur Interphone ERR_CEENTRYPHONE

Erreur sur Autres instructions de livraison ERR_CEDELIVERYINFORMATION

Erreur sur Courriel du destinataire ERR_CEEMAIL

Erreur sur Téléphone portable du destinataire ERR_CEPHONENUMBER

Erreur sur N° client web ERR_TRCLIENTNUMBER

Erreur sur N° commande ERR_TRORDERNUMBER

Erreur sur Paramètre plus chargeur ERR_TRPARAMPLUS

Erreur sur Civilité du destinataire ERR_CECIVILITY

Erreur sur Poids du colis ERR_DYWEIGHT.

Erreur sur Délai préparation commande ERR_DYPREPARATIONTIME

URL retour échec trReturnUrlKo

Pays du destinataire cePays

Option international trInter

Langue du destinataire ceLang

Page 46: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Novembre 2017

46

Chaîne_à_convertir= pudoFOID + ceName + dyPreparationTime + dyForwardingCharges +

orderId + ceCivility + ceFirstName + ceadress3+ ceZipCode + ceTown + deliveryMode + ceEmail +

traderCompanyName + trReturnUrlKo +cléSHA

Signature=SHA1(Chaîne_à_convertir)

Page 47: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

47

IV.6.4 Retour pour les modes de livraison en Point Retrait

Paramètre Obligatoire Nom du paramètre Type Commentaire

Identifiant FO Oui pudoFOID 14 numériques Identique au paramètre d’appel

Nom du destinataire Oui ceName Jusqu’à 34 alphanumériques

Tel qu’affiché sur la solution « Modes de livraison » version mobile

Délai préparation commande Oui dyPreparationTime Jusqu’à 2 alphanumériques Tel que présent dans les paramètres d’appel

Total des Frais d’expédition Oui dyForwardingCharges Jusqu’à 5 alphanumériques avec comme séparateur

« . »

Correspond au frais d’expédition passés en entrée

N° client web trClientNumber Jusqu’à 30 alphanumériques

Tel que présent dans les paramètres d’appel

N° commande trOrderNumber Jusqu’à 30 alphanumériques

Tel que présent dans les paramètres d’appel

N° transaction Oui orderId De 5 à 16 alphanumériques

Tel que présent dans les paramètres d’appel

Civilité du destinataire Oui ceCivility MR/MME/MLE Tel qu’affiché sur la solution « Modes

de livraison » version mobile

Prénom du destinataire Oui ceFirstName Jusqu’à 29 alphanumériques

Tel qu’affiché sur la solution « Modes de livraison » version mobile

Raison sociale du destinataire ceCompanyName Jusqu’à 38 alphanumériques

Tel qu’affiché sur la solution « Modes de livraison » version mobile

Mode de livraison sélectionné Oui deliveryMode 3 alphanumériques BPR pour Bureau de Poste A2P pour Relais Pickup et consignes

Pickup Station en France ACP pour Agence Colissimo CDI pour Centre de distribution

Identifiant du Point Retrait Oui prId 6 numériques Identifiant unique du point à importer dans votre solution d’étiquetage

Libellé du Point Retrait Oui prName Jusqu’à 50 alphanumériques

Complément d’adresse du prComplAdress Jusqu’à 38

Page 48: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

48

Point Retrait alphanumériques

Numéro et Libellé de voie du Point Retrait

Oui prAdress1 Jusqu’à 38 alphanumériques

Lieu dit du Point Retrait prAdress2 Jusqu’à 38 alphanumériques

Code postal du Point Retrait Oui prZipCode 5 alphanumériques

Commune du Point Retrait Oui prTown Jusqu’à 32 alphanumériques

Lot d’acheminement lotAcheminement Jusqu’à 10

alphanumériques

Présent pour les points A2P et MRL

uniquement

Voir paragraphe IV.6.6 Informations

de routage

Distribution sort distributionSort Jusqu’à 10 alphanumériques

Version du plan de tri versionPlanTri Jusqu’à 2 alphanumériques

Courriel du destinataire Oui ceEmail Jusqu’à 80 alphanumériques

Tel qu’affiché sur la solution « Modes de livraison » version mobile

Numéro de téléphone portable du destinataire

Oui cePhoneNumber 10 numériques Tel qu’affiché sur la solution « Modes de livraison » version mobile

Paramètre plus chargeur trParamPlusd Jusqu’à 256 alphanumériques

Tel que présent dans les paramètres d’appel

Nom commercial Oui traderCompanyName Jusqu’à 35 alphanumériques

Tel que saisi dans votre Back Office « Modes de livraison » version mobile

Code erreur errorCode Jusqu’à 80 alphanumériques

Combinaison de code de la forme xxx xxx … xxx avec xxx valant de 501 à 517 et/ou de 131 à 133.

Les codes sont séparés par des

espaces. Ex : 501 508 132

URL retour échec Oui trReturnUrlKo Jusqu’à 256 alphanumériques

Transmise en GET et en POST

Pays du destinataire CePays 2 alphanumériques Tel qu’affiché sur la solution

Page 49: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

49

Pays du point de retrait PrPays 2 alphanumériques

Code réseau

CODERESEAU 3 alphanumériques Transmis seulement si le point de retrait choisi est en Belgique

Nécessaire pour la génération d’étiquettes de colis à l’international par votre solution d’étiquetage

Langue du destinataire ceLang 5 alphanumériques Tel que présent dans les paramètres d’appel

Option international trInter 1 numérique Tel que présent dans les paramètres

d’appel

Signature Oui signature 40 alphanumériques Recalculée à partir des nouvelles valeurs des paramètres, voir paragraphe IV.6.5 Signature en sortie pour les modes de livraison en Point

Retrait

Champs en erreur

Erreur sur Nom du

destinataire

Si code erreur

503 et que le champ est concerné par l’erreur

ERR_CENAME Jusqu’à 34

alphanumériques

Erreur sur Prénom du destinataire

Si code erreur 504 et que le champ est concerné par l’erreur

ERR_CEFIRSTNAME Jusqu’à 29 alphanumériques

Erreur sur Raison sociale du destinataire

Si code erreur 505 et que le champ est

concerné par l’erreur

ERR_CECOMPANYNAME Jusqu’à 38 alphanumériques

Page 50: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

50

Erreur sur Étage, couloir, escalier, n° appartement du destinataire

Si code erreur 506 et que le champ est concerné par l’erreur

ERR_CEADRESS1 Jusqu’à 38 alphanumériques

Erreur sur Entrée, bâtiment, immeuble, résidence du destinataire

Si code erreur 507 et que le champ est

concerné par l’erreur

ERR_CEADRESS2 Jusqu’à 38 alphanumériques

Erreur sur Numéro et libellé de la voie du destinataire

Si code erreur 508 et que le champ est concerné par l’erreur

ERR_CEADRESS3 Jusqu’à 38 alphanumériques

Erreur sur Lieu dit ou autre mention spéciale du destinataire

Si code erreur 509 et que le champ est concerné par l’erreur

ERR_CEADRESS4 Jusqu’à 38 alphanumériques

Erreur sur Commune du destinataire

Si code erreur 510 et que le champ est concerné par l’erreur

ERR_CETOWN Jusqu’à 32 alphanumériques

Erreur sur Code porte Si code erreur 513 et que le champ est concerné par l’erreur

ERR_CEDOORCODE1 Jusqu’à 8 alphanumériques

Erreur sur Code porte 2 Si code erreur 514 et que le

champ est concerné par l’erreur

ERR_CEDOORCODE2 Jusqu’à 8 alphanumériques

Page 51: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

51

Erreur sur Interphone Si code erreur 511 et que le champ est concerné par l’erreur

ERR_CEENTRYPHONE Jusqu’à 30 alphanumériques

Erreur sur Autres instructions de livraison

Si code erreur 512 et que le champ est

concerné par l’erreur

ERR_CEDELIVERYINFORMATION

Jusqu’à 70 alphanumériques

Erreur sur Courriel du destinataire

Si code erreur 501 et que le champ est concerné par l’erreur

ERR_CEEMAIL Jusqu’à 80 alphanumériques

Erreur sur Téléphone portable du destinataire

Si code erreur 502 et que le champ est concerné par l’erreur

ERR_CEPHONENUMBER Jusqu’à 10 alphanumériques

Erreur sur N° client web Si code erreur 515 et que le champ est concerné par l’erreur

ERR_TRCLIENTNUMBER Jusqu’à 30 alphanumériques

Erreur sur N° commande Si code erreur 516 et que le champ est concerné par l’erreur

ERR_TRORDERNUMBER Jusqu’à 30 alphanumériques

Erreur sur Paramètre plus chargeur

Si code erreur 517 et que le

champ est concerné par l’erreur

ERR_TRPARAMPLUS Jusqu’à 256 alphanumériques

Page 52: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

52

Erreur sur Civilité du destinataire

Si code erreur 131 et que le champ est concerné par l’erreur

ERR_CECIVILITY Jusqu’à 3 alphanumériques

Erreur sur Poids du colis Si code erreur 133 et que le champ est

concerné par l’erreur

ERR_DYWEIGHT Jusqu’à 5 alphanumériques

Erreur sur Délai préparation commande

Si code erreur 132 et que le champ est concerné par l’erreur

ERR_DYPREPARATIONTIME Jusqu’à 2 alphanumériques

Page 53: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

53

IV.6.5 Signature en sortie pour les modes de livraison en Point Retrait

La signature permet de garantir que les données que la Solution « Modes de livraison »

version mobile vous transmet ne subiront pas de modifications entre l’envoi et la réception.

La signature, basée sur une clé SHA qui vous est propre vous permet d’effectuer un contrôle

des données réceptionnées.

La signature doit correspondre à celle calculée par La Poste - Colissimo (à noter que celle-ci

est calculée en minuscule au format UTF8).

Si ce n’est pas le cas, les données doivent être considérées comme altérées et le chargeur

doit mettre en place un processus de contournement basé sur la proposition d’un mode de

livraison au domicile de l’acheteur

Calcul : il s’agit d’appliquer un algorithme SHA sur une concaténation de champs.

L’algorithme SHA-1 (Secure Hash Algorithm) est une fonction de hachage cryptographique. Il

produit une signature de 160 bits (40 caractères). Son implémentation dépend de votre

environnement technique. Des exemples d’implémentations Java, Javascript, Android, iOS

sont fournies en Annexe 2 Exemple de calcul de signature SHA.

Champ pris en compte pour la signature

pour les modes de livraison en Point Retrait

Nom du champ

Identifiant FO pudoFOID

Nom du destinataire ceName

Délai préparation commande dyPreparationTime

Total des Frais d’expédition dyForwardingCharges

N° client web trClientNumber

N° commande trOrderNumber

N° transaction orderId

Civilité du destinataire ceCivility

Prénom du destinataire ceFirstName

Raison sociale du destinataire ceCompanyName

Mode de livraison sélectionné deliveryMode

Identifiant du Point Retrait prId

Libellé du Point Retrait prName

Complément d’adresse du Point Retrait prComplAdress

Numéro et Libellé de voie du Point Retrait prAdress1

Lieu dit du Point Retrait prAdress2

Code postal du Point Retrait prZipCode

Commune du Point Retrait prTown

Lot d’acheminement lotAcheminement

Distribution sort distributionSort

Version du plan de tri versionPlanTri

Courriel du destinataire ceEmail

Numéro de téléphone portable du destinataire cePhoneNumber

Paramètre plus chargeur trParamPlus

Nom commercial traderCompanyName

Page 54: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

54

Code erreur errorCode

Erreur sur Nom du destinataire ERR_CENAME

Erreur sur Prénom du destinataire ERR_CEFIRSTNAME

Erreur sur Raison sociale du destinataire ERR_CECOMPANYNAME

Erreur sur Étage, couloir, escalier, n° appartement du destinataire

ERR_CEADRESS1

Erreur sur Entrée, bâtiment, immeuble,

résidence du destinataire

ERR_CEADRESS2

Erreur sur Numéro et libellé de la voie du destinataire

ERR_CEADRESS3

Erreur sur Lieu dit ou autre mention spéciale du destinataire

ERR_CEADRESS4

Erreur sur Commune du destinataire ERR_CETOWN

Erreur sur Code porte ERR_CEDOORCODE1

Erreur sur Code porte 2 ERR_CEDOORCODE2

Erreur sur Interphone ERR_CEENTRYPHONE

Erreur sur Autres instructions de livraison ERR_CEDELIVERYINFORMATION

Erreur sur Courriel du destinataire ERR_CEEMAIL

Erreur sur Téléphone portable du destinataire ERR_CEPHONENUMBER

Erreur sur N° client web ERR_TRCLIENTNUMBER

Erreur sur N° commande ERR_TRORDERNUMBER

Erreur sur Paramètre plus chargeur ERR_TRPARAMPLUS

Erreur sur Civilité du destinataire ERR_CECIVILITY

Erreur sur Poids du colis ERR_DYWEIGHT

Erreur sur Délai préparation commande ERR_DYPREPARATIONTIME

URL retour échec trReturnUrlKo

Pays du destinataire cePays

Option international trInter

Langue du destinataire ceLang

L’ordre des champs doit impérativement être respecté. La clé SHA qui vous a été

fournie par La Poste - Colissimo doit être également concaténée à la fin de la

chaîne.

Chaîne_à_convertir= pudoFOID + ceName + dyPreparationTime + dyForwardingCharges +

trClientNumber + trOrderNumber + orderId + ceCivility + ceFirstName + ceCompanyName +

deliveryMode + prId + prName + prComplAdress + prAdress1+ prAdress2+ prZipCode +

prTown + lotAcheminement + distributionSort + versionPlanTri + ceEmail + cePhoneNumber +

trParamPlus + traderCompanyName +

errorCode+ERR_CENAME+ERR_CEFIRSTNAME+ERR_CECOMPANYNAME+ERR_CEADRESS1+

ERR_CEADRESS2+ERR_CEADRESS3+ERR_CEADRESS4+ERR_CETOWN+ERR_CEDOORCODE1+ERR_CEDOORCODE2+ERR_CEENTRYPHONE+ERR_CEDELIVERYINFORMATION+ERR_CEEMAIL+ERR_CEPHONENUMBER+ERR_TRCLIENTNUMBER+ERR_TRORDERNUMBER+ ERR_TRPARAMPLUS +ERR_CECIVILITY + ERR_DYWEIGHT+ERR_DYPREPARATIONTIME+ trReturnUrlKo+c+ cePays+trInter+ceLang léSHA

Signature=SHA1(Chaîne_à_convertir)

Certains des champs ci-dessus peuvent ne pas être renseignés car ils n’ont pas été

transmis dans les paramètres d’appel. S’ils ne sont pas renseignés, ils ne doivent

pas être pris en compte dans le calcul de la signature.

Page 55: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

55

Exemple de concaténation avec les champs obligatoires uniquement:

Chaîne_à_convertir= pudoFOID + ceName + dyPreparationTime + dyForwardingCharges +

orderId + ceCivility + ceFirstName + deliveryMode + prId + prName + prAdress1+ prZipCode +

prTown + ceEmail + cePhoneNumber + traderCompanyName + trReturnUrlKo +

cePays+trInter+ceLang +cléSHA

Signature=SHA1(Chaîne_à_convertir)

IV.6.6 Informations de routage

Les champs Lot d’acheminement, Distribution sort et Version du plan de tri sont nécessaires

pour les clients utilisant une solution d’étiquetage spécifique LIBERTE.

Il faut se reporter aux documents suivants pour l’utilisation de ces données :

2_LIBERTE_Cahier des Charges - Etiquettes Colissimo et

2_LIBERTE_Spécifications techniques EDI

Pour les clients utilisant une solution d’étiquetage SIMPLICITE (Expeditor Inet) ou

FLEXIBILITE (WS d’étiquetage) ces informations sont à ignorer.

Page 56: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

56

IV.6.7 Retours sur l’URL retour Echec

Si l’acheteur n’a pas réussi à accéder à la solution :

dans le cas d’une intégration en web mobile, les paramètres suivants sont transmis en POST. L’URL retour échec est

transmise en GET et en POST afin d’assurer la continuité de service en cas d’indisponibilité technique de La Poste

Colissimo.

dans le cas d’une intégration dans une application native, l’ensemble des paramètres sont transmis en GET

Paramètre Obligatoire Nom du paramètre Type Commentaire

Identifiant FO pudoFOID 14 numériques Identique au paramètre d’appel

Nom du destinataire ceName Jusqu’à 34 alphanumériques

Tel que présent dans les paramètres d’appel

Délai de préparation de commande

dyPreparationTime Jusqu’à 2 numériques

Tel que présent dans les paramètres d’appel

Frais d’expédition dyForwardingCharges De 1 à 5 alphanumériques

Tel que présent dans les paramètres d’appel

Frais d’expédition Relais Pickup

dyForwardingChargesCMT De 1 à 5 alphanumériques

Tel que présent dans les paramètres d’appel

N° client web trClientNumber Jusqu’à 30 alphanumériques

Tel que présent dans les paramètres d’appel

N° Commande trOrderNumber Jusqu’à 30 alphanumériques

Tel que présent dans les paramètres d’appel

N° transaction orderId De 5 à 16

alphanumériques

Tel que présent dans les paramètres d’appel

Paramètre plus chargeur trParamPlus Jusqu’à 256 alphanumériques

Tel que présent dans les paramètres d’appel

Signature Oui signature 40

alphanumériques

Code Erreur Oui errorCode 3 numériques 1 seul code erreur par retour échec

URL retour échec Oui trReturnUrlKo Jusqu’à 256

alphanumériques

Transmise en GET et en POST

Pays du destinataire CePays 2 caractères alphanumériques

Tel qu’affiché sur la solution

Page 57: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile Octobre 2017

57

Option International TrInter 1 caractère numérique (0 ;1)

Tel que présent dans les paramètres d’appel

Langue du destinataire CeLang 5 caractères alphanumériques

Tel que présent dans les paramètres d’appel

Champs en erreurs

Erreur sur Identifiant FO Oui si code erreur 001,

002 ou 003

ERR_PUDOFOID Jusqu’à 14 alphanumériques

Erreur sur Signature Oui si code

erreur 006 ou 007

ERR_SIGNATURE Jusqu’à 40

alphanumériques

Erreur sur Frais d’expédition

Oui si code erreur 004 ou 012 et

concerné par l’erreur

ERR_DYFORWARDINGCHARGES

Jusqu’à 5 alphanumériques

Erreur sur Frais d’expédition Relais Pickup

Oui si code erreur 012 et concerné par

l’erreur

ERR_DYFORWARDINGCHARGESCMT

Jusqu’à 5 alphanumériques

Erreur sur N° transaction Oui si code erreur 011 ou 004 et concerné par

l’erreur

ERR_ORDERID Jusqu’à 30 alphanumériques

Erreur sur Code postal du destinataire

Oui si code erreur 008

ERR_CEZIPCODE Jusqu’à 5 alphanumériques

Erreur sur Url de retour validation

Oui si code erreur 009

ERR_TRRETURNURLOK Jusqu’à 256 alphanumériques

Erreur sur Url de retour échec

Oui si code erreur 004 ou

010

ERR_TRRETURNURLKO Jusqu’à 256 alphanumériques

Page 58: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix Modes de livraison » version mobile – Octobre 2017

58

IV.6.8 Signature en sortie en cas d’échec

La signature permet de garantir que les données transmises par la solution ne subiront pas

de modification entre l’envoi et la réception.

La signature, basée sur une clé SHA qui vous est propre vous permet d’effectuer un contrôle

des données réceptionnées.

La signature doit correspondre à celle calculée par La Poste - Colissimo (à noter que celle-ci

est calculée en minuscule au format UTF8).

Si ce n’est pas le cas, les données doivent être considérées comme altérées et le chargeur

doit mettre en place un processus de contournement basé sur la proposition d’un mode de

livraison au domicile de l’acheteur

Calcul : il s’agit d’appliquer un algorithme SHA sur une concaténation de champs.

L’algorithme SHA-1 (Secure Hash Algorithm) est une fonction de hachage cryptographique. Il

produit une signature de 160 bits (40 caractères). Son implémentation dépend de votre

environnement technique. Des exemples d’implémentations Java, Javascript, Android, iOS

sont fournies en Annexe 2 Exemple de calcul de signature SHA

Champ pris en compte pour la signature

en cas d’échec Nom du champ

Obligatoire

Identifiant FO pudoFOID

Nom du destinataire ceName

Délai de préparation de commande dyPreparationTime

Frais d’expédition dyForwardingCharges

Frais d’expédition Relais Pickup dyForwardingChargesCMT

N° client web trClientNumber

N° Commande trOrderNumber

N° transaction orderId

Paramètre plus chargeur trParamPlus

Code Erreur errorCode Oui

Erreur sur Identifiant FO ERR_PUDOFOID Oui si code erreur 001, 002 ou 003

Erreur sur Signature ERR_SIGNATURE Oui si code erreur 006 ou 007

Erreur sur Frais d’expédition ERR_DYFORWARDINGCHARGES Oui si code erreur 012 ou

004 et concerné par l’erreur

Erreur sur Frais d’expédition commerçants ERR_DYFORWARDINGCHARGESCMT Oui si code

erreur 012 et concerné par

l’erreur

Erreur sur N° transaction ERR_ORDERID Oui si code erreur 011 ou 004 et concerné

Page 59: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

59

par l’erreur

Erreur sur Code postal du destinataire ERR_CEZIPCODE Oui si code erreur 008

Erreur sur Url de retour validation ERR_TRRETURNURLOK Oui si code

erreur 009

Erreur sur Url de retour échec ERR_TRRETURNURLKO Oui si code erreur 010 ou 004 et concerné par l’erreur

URL retour échec trReturnUrlKo Oui

Pays du destinataire CePays

Option International TrInter

Langue du destinataire CeLang

L’ordre des champs doit impérativement être respecté. La clé SHA qui vous a été

fournie par La Poste Colissimo doit être également concaténée à la fin de la chaîne.

Chaîne_à_convertir=pudoFOID+ceName+dyPreparationTime+dyForwardingCharges+dyForwardi

ngChargesCMT+trClientNumber+trOrderNumber+orderId+trParamPlus+errorCode+ERR_PUDOFOID+

ERR_SIGNATURE+ERR_DYFORWARDINGCHARGES+ERR_DYFOWARDINGCHARGESCMT+ERR_ORDERID+ERR_CEZIPCODE+ERR_TRRETURNURLOK+ERR_TRRETURNURLKO+TRRETURNURLKO+ cePays+trInter+ceLang cléSHA

Signature=SHA1(Chaîne_à_convertir)

Certains des champs ci-dessus peuvent ne pas être renseignés car ils n’ont pas été

transmis dans les paramètres d’appel. S’ils ne sont pas renseignés, ils ne doivent

pas être pris en compte dans le calcul de la signature.

Exemple de concaténation avec une liste de champs restreinte:

Chaîne_à_convertir= pudoFOID+dyForwardingCharges+orderId+errorCode +

ERR_DYFORWARDINGCHARGES+trReturnUrlKo+cléSHA

Signature=SHA1(Chaîne_à_convertir)

Particularité des codes erreurs 001, 002, 015 :

Dans ces cas d’erreur le compte appelant ne peut être identifié par la solution, l’identifiant

FO étant non transmis, incorrect, ou bien le service La Poste Colissimo dégradé.

Il n’est pas possible pour la solution d’identifier la clé SHA-1 qui vous est propre et

donc de retourner la signature correspondante.

Page 60: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix Modes de livraison » version mobile – Octobre 2017

60

V. ANNEXES

V.1 Annexe 1 : Champs de la solution « Modes de livraison » version mobile

Libellé du champ Type Obligatoire Modifiable Longueur

Saisie des informations personnelles

Civilité Bouton Oui Oui

Nom Alphanumérique Oui Oui 1..34

Prénom Alphanumérique Oui Oui 1..29

Raison sociale (si Professionnelle)

Alphanumérique Oui 0..38

Étage, couloir, escalier, n° appartement

Alphanumérique Oui 0..38

Entrée, bâtiment, immeuble, résidence

Alphanumérique Oui 0..38

Lieu dit ou autre mention

spéciale

Alphanumérique Oui 0..38

Numéro et libellé de la voie Alphanumérique Oui Oui 1..38

Code postal Alphanumérique Oui Oui 5

Commune Alphanumérique Oui Oui 1..32

Pays Alphanumérique Si paramètre « option international »=1

0..32

Courriel Alphanumérique Oui Oui 5..80

Téléphone portable Numérique Oui 0..10

Nouvelle recherche de Points Retrait à proximité

Numéro et libellé de voie Alphanumérique Oui 1..38

Code postal Alphanumérique Oui 5

Commune Alphanumérique Oui 1..32

Pays Alphanumérique Si paramètre « option international »=1

0..32

Validation du N°de téléphone portable

Téléphone portable Numérique Oui 0..10

Page 61: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

61

V.2 Annexe 2 : Exemple de calcul de signature SHA

Exemple Java

import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.apache.commons.codec.binary.Hex;

/* Chiffre en SHA une chaine fournie en paramètre puis effectue une conversion en hexadécimal. * Retourne <code>null</code> en cas d'exception. * @param stringToDigestAndConvert La chaine a traiter * @param algorithm L'algorithme a utiliser * @return La chaine chiffree et convertie en hexa. */ private String digestAndConvertToHexString(String stringToDigestAndConvert) {

String ALGORITHM = "SHA-1"; // Encodage try { MessageDigest md = MessageDigest.getInstance(ALGORITHM); md.update(stringToDigestAndConvert.getBytes()); // Conversion en hexa avec Apache Commons Codec return String.valueOf(Hex.encodeHex(md.digest()));

} catch (NoSuchAlgorithmException nsae) { return null; } }

Le calcul de la signature SHA est réalisé par une classe interne au jdk <

(version >=1.4.2)

la librairie qui réalise la conversion en hexadécimal est :

commons-codec 1.3 (http://commons.apache.org/codec/ )

Exemple Javascript

function SHA1 (msg) {

function rotate_left(n,s) {

var t4 = ( n<<s ) | (n>>>(32-s));

return t4;

};

function lsb_hex(val) {

var str="";

var i;

var vh;

var vl;

for( i=0; i<=6; i+=2 ) {

vh = (val>>>(i*4+4))&0x0f;

Page 62: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

62

vl = (val>>>(i*4))&0x0f;

str += vh.toString(16) + vl.toString(16);

}

return str;

};

function cvt_hex(val) {

var str="";

var i;

var v;

for( i=7; i>=0; i-- ) {

v = (val>>>(i*4))&0x0f;

str += v.toString(16);

}

return str;

};

var blockstart;

var i, j;

var W = new Array(80);

var H0 = 0x67452301;

var H1 = 0xEFCDAB89;

var H2 = 0x98BADCFE;

var H3 = 0x10325476;

var H4 = 0xC3D2E1F0;

var A, B, C, D, E;

var temp;

var msg_len = msg.length;

var word_array = new Array();

for( i=0; i<msg_len-3; i+=4 ) {

j = msg.charCodeAt(i)<<24 | msg.charCodeAt(i+1)<<16 |

msg.charCodeAt(i+2)<<8 | msg.charCodeAt(i+3);

word_array.push( j );

}

switch( msg_len % 4 ) {

case 0:

i = 0x080000000;

break;

case 1:

Page 63: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

63

i = msg.charCodeAt(msg_len-1)<<24 | 0x0800000;

break;

case 2:

i = msg.charCodeAt(msg_len-2)<<24 | msg.charCodeAt(msg_len-1)<<16 | 0x08000;

break;

case 3:

i = msg.charCodeAt(msg_len-3)<<24 | msg.charCodeAt(msg_len-2)<<16 | msg.charCodeAt(msg_len-

1)<<8 | 0x80;

break;

}

word_array.push( i );

while( (word_array.length % 16) != 14 ) word_array.push( 0 );

word_array.push( msg_len>>>29 );

word_array.push( (msg_len<<3)&0x0ffffffff );

for ( blockstart=0; blockstart<word_array.length; blockstart+=16 ) {

for( i=0; i<16; i++ ) W[i] = word_array[blockstart+i];

for( i=16; i<=79; i++ ) W[i] = rotate_left(W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16], 1);

A = H0;

B = H1;

C = H2;

D = H3;

E = H4;

for( i= 0; i<=19; i++ ) {

temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;

E = D;

D = C;

C = rotate_left(B,30);

B = A;

A = temp;

}

for( i=20; i<=39; i++ ) {

temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;

E = D;

Page 64: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

64

D = C;

C = rotate_left(B,30);

B = A;

A = temp;

}

for( i=40; i<=59; i++ ) {

temp = (rotate_left(A,5) + ((B&C) | (B&D) | (C&D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;

E = D;

D = C;

C = rotate_left(B,30);

B = A;

A = temp;

}

for( i=60; i<=79; i++ ) {

temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;

E = D;

D = C;

C = rotate_left(B,30);

B = A;

A = temp;

}

H0 = (H0 + A) & 0x0ffffffff;

H1 = (H1 + B) & 0x0ffffffff;

H2 = (H2 + C) & 0x0ffffffff;

H3 = (H3 + D) & 0x0ffffffff;

H4 = (H4 + E) & 0x0ffffffff;

}

var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);

return temp.toLowerCase();

}

Page 65: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

65

Exemple Android

Conversion d’un tableau de bytes en string hexa.

return byteArrayToHexString(md.digest(convertme))

Fonction détaillée

public static String byteArrayToHexString(byte[] b) {

String result = "";

for (int i=0; i < b.length; i++) {

result +=

Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 );

}

return result;

}

Exemple iOS

La méthode à appeler est CC_SHA (data, size, pointeur sur string)

Voici un exemple d’utilisation de cette méthode dans une fonction qui prend une NSString en

paramètre et renvoie une NSString.

#import <CommonCrypto/CommonDigest.h>

-(NSString*) sha1:(NSString*)input { const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithBytes:cstr length:input.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; bool sha1fct = CC_SHA1(data.bytes, data.length, digest); /* * handle sha1 function fail here if necessary */ NSAssert(sha1fct, @"Sha1 function fail with : %@", input); NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) [output appendFormat:@"%02x", digest[i]]; NSLog(@"sha1 : %@", output);

Page 66: Accueil - Colissimo VERSION MOBILE...Jquery Mobile Framework de développement mobile, JQuery Mobile est une bibliothèque Javascript adaptée à la création de sites web ou d’applications

Simplicité – Page « Choix des Modes de livraison » version mobile – Novembre 2017

66

return output; }

V.3 Annexe 3 : Liste des pays éligibles à l’offre Colissimo Europe (international) et codes réseaux et produits correspondants aux livraisons

en points retrait

La liste des pays éligibles à l’offre Colissimo International Point Retrait (aussi appelée l’offre

Colissimo Domicile et Point Retrait vers l’Europe) est disponible via le lien suivant:

https://www.colissimo.entreprise.laposte.fr/fr/pays-eligible-international

Liste des codes réseaux correspondants

Code Pays Code Produit Réseau

BE CMT R12

BE BDP R12

DE CMT R03

NL CMT R03

LU CMT R03

ES CMT R03

GB CMT R03

PT CMT R03

AT CMT R03

HU CMT R03

LT CMT R03

LV CMT R03

EE CMT R03

LT PCS R03

LV PCS R03

EE PCS R03

IE CMT R03

NB :

Les Pays Baltes (EE, LV, LT) seront ouverts prochainement sur la Page Mobile,

Les points retraits des pays : République Tchèque, Slovaquie, Slovénie, Danemark,

Finlande, Suède et Pologne seront ouverts à partir de janvier 2018.