Menu principal

Documentation

Modules Colissimo pour Magento

Prérequis

Magento

  • Magento supérieure ou égale à la version 2.4 (2.4+, 2.5+, 2.6+) pour les versions OpenSource et Adobe Commerce.

Note : pour la version 2.4.0 uniquement, un patch officiel Magento est à appliquer : Shipping labels creation known issue in Magento 2.4.0

Le bug apparaît sur la version 2.4.0 (résolu en 2.4.1). Il provoque des dysfonctionnements dans la génération des étiquettes et l'affichage des livraisons.

Tunnels de commande

Liste des tunnels de commande compatibles

PHP

  • Version de PHP comprise entre 7.2 et 8.1
  • Extension SOAP (php-soap) pour la livraison en point de retrait et l'impression des étiquettes depuis Magento

Configuration

L'activation du mode de livraison Colissimo s'effectue depuis le menu : Stores > Configuration > Sales > Shipping Methods > Colissimo

Général

  • Activé (Enabled) : activer les méthodes d'expédition Colissimo
  • Titre (Title) : titre de la méthode
  • Tri (Sort Order) : position des méthodes Colissimo dans le tunnel de commande
  • Afficher la méthode si elle n'est pas applicable (Show Method if Not Applicable) : afficher la méthode Colissimo même si elle ne peut s'appliquer à l'adresse de livraison du client
  • Message d'erreur (Displayed Error Message) : Message affichée si la méthode ne peut s'appliquer à l'adresse de livraison du client

Méthodes de livraison

Activez les méthodes de livraison Colissimo souhaitées :

  • Domicile sans signature
  • Domicile avec signature
  • Point de retrait
  • Expert International
  • Dom-Tom sans signature
  • Dom-Tom avec signature

Paramètres :

  • Activé (Enabled) : activer la méthode
  • Nom (Name) : nom de la méthode
  • Pays (Ship to Specific Countries) : pays activés pour la méthode
  • Tri (Sort Order) : position de la méthode
  • * Assurance Ad Valorem (Insurance Ad Valorem) : Appliquer l'assurance Ad Valorem à l'expédition

* Uniquement si le module d'impression des étiquettes depuis Magento est activé

Uniquement en point de retrait :

  • Numéro de compte (Account) : Identifiant du compte Colissimo
  • Mot de passe (Password) : Mot de passe du compte Colissimo
  • Type de carte (Map Type) : Google Maps (licence) ou OpenStreetMap (gratuit)
    • Google Map API Key (Google Map API Key) : clé d'API Google pour affichage de la carte. Générer une clé.
  • Ouvrir la liste des points de retrait au clic sur la méthode de livraison (Open pickup list on shipping method selection) : Ouvrir directement la liste des points de retrait au clic sur la méthode de livraison. Dans le cas contraire, affichage de la liste sur le bouton "Continuer"
  • Adresse par défaut (Default address) : permet de proposer une adresse par défaut pour la liste des points de retrait si le client n'a saisi aucune adresse avant sélection de la méthode

Frais de livraison

Menu

La configuration des prix s'effectue depuis le menu Ventes > Colissimo > Prix

Ajouter un tarif

  • Activer : Activer ou non le tarif
  • Vue boutique : Boutique sur laquelle le tarif sera appliqué. Pour appliquer sur l'ensemble des boutiques, sélectionnez "Toutes les boutiques"
  • Méthode : Méthode de livraison Colissimo
  • Pays : Pays de livraison
  • Poids de : Poids minimum du panier pour l'application du tarif, en kg ou lbs selon la configuration générale
  • Poids à : Poids maximum du panier pour l'application du tarif, en kg ou lbs selon la configuration générale
  • Prix : Prix de la livraison dans la devise du magasin

Exemples

Pour une tarification au forfait, la configuration du prix sera par exemple :

PrixPaysPoids (de)Poids (à)
5.90France

Pour une tarification par poids, la configuration sera par exemple :

PrixPaysPoids (de)Poids (à)
5.38France0.25
5.98France0.250.50
6.70France0.500.75
7.26France0.751.00
8.06France1.00

Exports

Pour l'export CSV des tarifs, sélectionnez l'action Exporter

Imports

Pour l'import CSV des tarifs, sélectionnez l'action Importer

Import des prix

Le fichier CSV doit contenir, dans l'ordre indiqué, les colonnes suivantes :

methodstore_idcountry_idweight_fromweight_topriceis_active
homecl0FR0.255.461

Les codes des méthodes (colonne method) sont les suivants :

  • homecl : Colissimo domicile sans signature
  • homesi : Colissimo domicile avec signature
  • pickup : Colissimo points de retrait
  • international : Colissimo International
  • domtomcl : Colissimo Outre-mer sans signature
  • domtomsi : Colissimo Outre-mer avec signature

Un fichier CSV des tarifications par poids d'exemple est disponible dans le dossier Fixtures du module (tarifs 2019).

Ce fichier contient l'ensemble des tarifs HT officiels pour tous les pays et toutes les méthodes de livraison (4642 prix).


Impression des étiquettes depuis Magento

Configuration

Pour l'édition de l'étiquette les paramètres natifs suivants doivent être configurés :

Store > Configuration > Sales > Shipping settings > Origin

Remplir l'ensemble des champs (lieu où sont entreprosés les produits vendus).

Store > Configuration > General > General > Store information

  • Store name : le nom commercial de la boutique
  • Store phone number : numéro de téléphone de la boutique

La configuration des paramètres d'impression s'effectue depuis le menu :

Store > Configuration > Sales > Shipping settings > Colissimo Label

  • Numéro de compte (Account) : identifiant du compte La Poste
  • Mot de passe (Password) : mot de passe du compte La Poste
  • Nom commercial (Commercial name) : nom commercial du compte (nom de la boutique)
  • Nom de contact personnalisé (Custom Contact) : nom de l'entreprise à faire figurer sur les étiquettes et les documents CN23. Une valeur personnalisée peut prévenir des vols de marchandises.
  • Taille étiquette (Label Size) : taille de l'étiquette (PDF A4 300dpi ou PDF 10x15 300dpi)
  • Dossier des étiquettes (Label Path) : dossier où les étiquettes sont enregistrées sur le serveur
  • Supprimer l'étiquette après (Delete label after) : supprimer les étiquettes de la base de données X jour(s) après génération. Cette configuration permet de ne pas alourdir inutilement la base avec des données obsolètes.
  • Bordereau de remise (Shipping Deposit)
    • Nom du site de prise en charge (Site name) : libellé du site de prise en charge des colis La Poste
    • Numéro du site de prise en charge (Site number) : identifiant du site de prise en charge des colis La Poste
  • CN23 (CN23)
    • Attribut utilisé pour le numéro tarifaire (Customs Tariff Number attribute) : spécifier l'attribut contenant le numéro tarifaire du produit (par défaut product_hs_code)
    • Attribut utilisé pour le pays d'origine (Country of Origin attribute) : spécifier l'attribut contenant le pays d'origine du produit expédié (pays d'origine par défaut si non renseigné)
    • Catégorie des produits (Category of item) : spécifier la catégorie des produits par défaut (Envoi commercial, cadeau, échantillon, documents, retour, autre)
    • Numéro EORI (EORI Number) : Votre numéro EORI dans le cadre des expéditions en Europe
    • Numéro GST (GST Number) : Votre numéro GST dans le cadre des expéditions vers l'Australie
  • Retour (Return)
    • Envoyer (Send) : Envoyer automatiquement l'étiquette de retour à l'adresse email du client. L'étiquette est envoyée par Colissimo.

Grille des étiquettes Colissimo

Une grille de génération rapide des étiquettes est disponible depuis le menu Vente > Colissimo > Etiquettes

Actions

Selon la disponibilité, 4 actions sont proposées :

Actions commandes Colissimo

Attente expédition

  • Créer l'expédition et l'étiquette : Ajoute une expédition et génère une étiquette.

Attente étiquette

  • Créer l'étiquette : Génère une étiquette.
  • Imprimer le bon de livraison : Télécharge le PDF du bon de livraison (natif).

Prêt

  • Imprimer l'étiquette : Télécharge le PDF de l'étiquette.
  • Imprimer le bon de livraison : Télécharge le PDF du bon de livraison (natif).

Statut et poids

Le clic sur une ligne commande permet de modifier 2 informations :

Modification expédition Colissimo
  • Statut d'expédition : Permet d'associer un statut à l'expédition. Un statut est automatiquement associé à la création de l'étiquette. Ce statut est à définir dans la configuration.
  • Poids : Poids du colis en kgs ou lbs. Le poids du colis ne peut plus être modifié une fois l'étiquette générée.

Actions en masse

5 actions sont proposées :

Actions en masse Colissimo
  • Créer les expéditions et imprimer les étiquettes : Ajoute les expéditions, génère puis télécharge les étiquettes des commandes sélectionnées.
  • Imprimer les étiquettes : Télécharge un fichier PDF contenant les étiquettes des commandes sélectionnées.
  • Imprimer les bons de livraison : Télécharge un fichier PDF contenant les bons de livraison (natif).
  • Imprimer le bordereau de remise : Télécharge un fichier PDF des colis pour les commandes sélectionnées.
  • Mettre à jour le statut de livraison : Modifier le statut de livraison des commandes sélectionnées.

Exemple de bordereau de remise :

Bordereau de remise Colissimo

Création manuelle d'une étiquette

L'étiquette est générée au moment de l'expédition de la commande.

Création manuelle

Sur la vue de création d'expédition de la commande, sélectionnez la case "Créer l'étiquette" (si vous omettez de cocher la case, l'étiquette pourra être générée utlérieurement).

Créer l'étiquette Colissimo

Dans la fenêtre suivante, sélectionnez les produits à ajouter au colis. Vous ne pouvez créer qu'un seul colis pour une même expédition. Le poids est automatiquement récupérer à partir de l'attribut "poids" des produits. Vous pouvez manuellement ajuster la valeur, pour prendre par exemple en compte le poids de l'emballage. Sélectionnez ou non l'assurance Ad Valorem. Les autres champs (longueur, largeur, profondeur) ne sont pas utilisés.

Ajouter un colis

Note : le poids du colis peut être saisi en kilo-gramme (kgs) ou en Livre (lbs).

L'expédition est alors créée, le numéro de colis est automatiquement associé et transmis au client.

Création automatique

Sur la vue de création d'expédition de la commande, sélectionnez la case "Créer automatiquement l'étiquette" (si vous omettez de cocher la case, l'étiquette pourra être générée utlérieurement).

Créer l'étiquette Colissimo

L'étiquette est alors automatiquement créé selon les données de la commande et les configurations par défaut.

Note : si une erreur survient à la génération de l'étiquette, l'expédition est tout de même créée. Vous pouvez corriger les erreurs puis créer de nouveau l'étiquette manuellement depuis la vue expédition.

Pour finir, vous pouvez imprimer l'étiquette depuis la grille des commandes, en sélectionnant les commandes concernées, puis en sélectionnant l'action "Imprimer les étiquettes".

Si la commande contient déjà une expédition, vous pouvez générer ou re-générer une étiquette depuis la vue expédition de la commande.

Etiquettes de retour

Le module permet au commerçant de générer une étiquette de retour pour un client, sans que celui-ci n'est besoin de payer la livraison.

Magento EE

La génération des étiquettes peut s'effectuer via le module RMA si celui-ci est activé (fonctionnalité native).

La génération de l'étiquette est possible à partir du moment où au moins un produit a été autorisé.

Etiquettes de retour via le module Magento RMA

Le client peut obtenir et imprimer l'étiquette depuis son compte client. Elle peut être également envoyée par e-mail par Colissimo (voir options).

Magento CE

La génération de l'étiquette de retour est possible à partir du moment où la commande a été expédiée (livraison générée). Sur la vue commande, un bouton Retour Colissimo apparaît.

Le formulaire permet de :

  • Saisir l'adresse de l'expéditeur (automatiquement remplie à partir des données de l'adresse de facturation du client)
  • Saisir l'adresse du retour

Vous avez la possibilité d'enregistrer l'adresse de retour pour les prochains retours (l'adresse est enregistrée pour le store depuis lequel la commande a été passée).

La validation du formulaire engendre la génération de l'étiquette. Vous pouvez enregistrer le fichier PDF et l'envoyer manuellement au client ou l'envoyer directement par e-mail (voir options).

Etiquettes de retour via forumaire

Impression des étiquettes avec ColiShip

Menus

L'export des commandes s'effectue depuis le menu : Sales > ColiShip > Export

L'import des numéros de tracking s'effectue depuis le menu : Sales > ColiShip > Import

Export des commandes vers ColiShip

Les exports vers ColiShip s'effectuent depuis l'interface d'administration.

Le fichier généré est un fichier plat au format txt. Il s'agit du fichier de base interprété par ColiShip.

Il n'est pas nécessaire de définir un format de fichier d'importation de données dans le logiciel (Fichier FMT) :

Fichier FMT

Aucun fichier FMT ne doit être sélectionné pour ce paramètre. Ne pas appliquer de format personnalisé.

Depuis ColiShip, Sélectionnez Automatiser l'affranchissement, puis importez manuellement le fichier préalablement téléchargé. Cette action permet l'impression des étiquettes pour l'ensemble des commandes du fichier.

Impression des étiquettes avec ColiShip

Import de ColiShip vers Magento (numéros de suivi)

Une fois les commandes exportées depuis Magento vers ColiShip, il est possible d'importer les numéros de suivi.

Depuis ColiShip, parmétrez les exports avec uniquement 2 colonnes : Numéro du colis et Référence de commande :

Export des commandes depuis ColiShip

Renseignez également les options suivantes :

  • Le fichier porte une ligne d'en-tête
  • Délimité
  • Séparateur ; (point-virgule)
  • Délimiteur " (guillemets)
Paramètres de ColiShip

Le fichier généré est un CSV contenant 2 colonnes. Par exemple :

"NumeroColis";"ReferenceExpedition"
"6H00000000192";"100000005"
"CI000000076FR";"100000006"
"6H00000000185";"100000007"

L'import du fichier généré dans Magento s'effectue depuis le menu : Sales > ColiShip > Import


API

List of REST Endpoints

GET    /V1/guest-carts/:cartId/colissimo-pickup
PUT    /V1/guest-carts/:cartId/colissimo-pickup/:pickupId/:networkCode/:telephone
DELETE /V1/guest-carts/:cartId/colissimo-pickup

GET    /V1/carts/mine/colissimo-pickup
PUT    /V1/carts/mine/colissimo-pickup/:pickupId/:networkCode/:telephone
DELETE /V1/carts/mine/colissimo-pickup

GET    /V1/colissimoPickup/:pickupId/:networkCode
GET    /V1/colissimoPickup
GET    /V1/colissimoPickup/:orderId

GET    /V1/colissimoPrice/:priceId
GET    /V1/colissimoPrice/search
POST   /V1/colissimoPrice
DELETE /V1/colissimoPrice/:priceId
DELETE /V1/colissimoPrice

SOAP

colissimoShippingPickupRepositoryV1

  • getList

Récupérer la liste des points de retrait selon les critères de recherche :

['searchCriteria' =>
    ['filterGroups' =>
        [
            ['filters' =>
                [
                    [
                        'field' => 'street',
                        'value' => 'Champs-Élysées',
                    ],
                    [
                        'field' => 'city',
                        'value' => 'Paris',
                    ],
                    [
                        'field' => 'postcode',
                        'value' => '75008',
                    ],
                    [
                        'field' => 'country',
                        'value' => 'FR',
                    ],
                ]
            ]
        ]
    ]
]
  • get

Récupérer les données d'un point de retrait selon son identifiant et son code réseau :

[
    'pickupId'    => '598320',
    'networkCode' => 'R01'
]
  • save

Associer le point de retrait à la quote :

[
    'cartId'      => 1,
    'pickupId'    => '598320',
    'networkCode' => 'R01',
    'telephone'   => '0610203040'
]
  • current

Récupérer le point de retrait associé à la quote :

[
    'cartId' => 1
]
  • reset

Supprimer le point de retrait associé à la quote :

[
    'cartId' => 1
]
  • shippingData

Récupérer les données de la livraison : code produit, identifiant du point de retrait et code réseau

[
    'orderId' => 1
]

colissimoShippingPriceRepositoryV1

  • getById

Récupérer le prix selon sont identifiant

[
    'priceId' => 1
]
  • getList

Récupérer une liste de tarif selon les critères de recherche

['searchCriteria' =>
    ['filterGroups' =>
        [
            ['filters' =>
                [
                    [
                        'field' => 'country_id',
                        'value' => 'FR',
                    ],
                ]
            ]
        ]
    ]
]
  • save

Enregistrer un prix (ajouter ou modifier)

['price' => [
        'pk'          => null,
        'method'      => 'homecl',
        'countryId'   => 'FR',
        'storeId'     => 0,
        'weightFrom'  => null,
        'weightTo'    => 0.5,
        'price'       => 5.92,
        'isActive'    => 1,
    ]
]
  • deleteById

Supprimer le prix selon sont identifiant

[
    'priceId' => 1
]
  • truncate

Supprimer l'ensemble des prix

[]

Exemples (SOAP)

/* PICKUP */

$token = '12345678912345678912345678912345';
$opts = ['http' => ['header' => "Authorization: Bearer " . $token]];
$context = stream_context_create($opts);

$request = new SoapClient(
    "http://website.magento2.com/index.php/soap/?wsdl&services=colissimoShippingPickupRepositoryV1",
    ["soap_version" => SOAP_1_2, 'stream_context' => $context]
);

/* Load pickup data */
$token = $request->ColissimoShippingPickupRepositoryV1Get(
    [
        'pickupId'    => '598320',
        'networkCode' => 'R01'
    ]
);

/* Retrieve list of pickup */
$token = $request->ColissimoShippingPickupRepositoryV1GetList(
    ['searchCriteria' =>
        ['filterGroups' =>
            [
                ['filters' =>
                    [
                        [
                            'field' => 'street',
                            'value' => 'Champs-Élysées',
                        ],
                        [
                            'field' => 'city',
                            'value' => 'Paris',
                        ],
                        [
                            'field' => 'postcode',
                            'value' => '75008',
                        ],
                        [
                            'field' => 'country',
                            'value' => 'FR',
                        ],
                    ]
                ]
            ]
        ]
    ]
);

/* Save pickup for quote */
$token = $request->ColissimoShippingPickupRepositoryV1Save(
    [
        'cartId'      => 1,
        'pickupId'    => '598320',
        'networkCode' => 'R01',
        'telephone'   => '0610203040',
    ]
);

/* Retrieve current selected pickup for quote */
$token = $request->ColissimoShippingPickupRepositoryV1Current(
    [
        'cartId' => 1,
    ]
);

/* Delete selected pickup for quote */
$token = $request->ColissimoShippingPickupRepositoryV1Reset(
    [
        'cartId' => 1,
    ]
);

/* Retrieve Shipping Data */
$token = $request->ColissimoShippingPickupRepositoryV1ShippingData(
    [
        'orderId' => 1,
    ]
);


/* PRICES */

$token = '12345678912345678912345678912345';
$opts = ['http' => ['header' => "Authorization: Bearer " . $token]];
$context = stream_context_create($opts);

$request = new SoapClient(
    "http://website.magento2.com/index.php/soap/?wsdl&services=colissimoShippingPriceRepositoryV1",
    ["soap_version" => SOAP_1_2, 'stream_context' => $context]
);

/* Retrieve price data by price ID */
$token = $request->ColissimoShippingPriceRepositoryV1GetById(
    ['priceId' => 1]
);

/* Delete price by ID */
$token = $request->ColissimoShippingPriceRepositoryV1DeleteById(
    ['priceId' => 1]
);

/* Search in prices */
$token = $request->ColissimoShippingPriceRepositoryV1GetList(
    ['searchCriteria' =>
        ['filterGroups' =>
            [
                ['filters' =>
                    [
                        [
                            'field' => 'country_id',
                            'value' => 'FR',
                        ],
                    ]
                ]
            ]
        ]
    ]
);

/* Add new price */
$token = $request->ColissimoShippingPriceRepositoryV1Save(
    ['price' => [
            'pk'          => null,
            'method'      => 'homecl',
            'countryId'   => 'FR',
            'storeId'     => 0,
            'weightFrom'  => null,
            'weightTo'    => 0.5,
            'price'       => 5.92,
            'isActive'    => 1,
        ]
    ]
);

/* Remove all prices */
$token = $request->ColissimoShippingPriceRepositoryV1Truncate();
Magento
Magentix
Magentix Magentix © 2009 / 2023 - 38 rue de la blanchisserie - 59450 SIN-LE-NOBLE - SIRET : 80529846000033
Module Magento non officiel distribué par la société Magentix.
Colissimo est un service de livraison du groupe La Poste, non lié à la société Magentix.