Module PrestaShop : Impression automatique des commandes (Cloud Print)

Imprimez automatiquement les nouvelles commandes dès qu'elles sont passées (ou une fois le paiement accepté). Sans ordinateur, tablette, smartphone, serveur d'impression local ni pilote à installer. Votre imprimante se connecte directement à votre boutique PrestaShop via le Serveur Cloud Print Expedy, en Wi-Fi, Ethernet ou carte SIM 3G/4G.

Cette documentation concerne ExpedyPRINT v2, notre module actuel reconstruit sur l'API ExpedyPRINT v2. Nous n'assurons pas le support des versions antérieures à la v2.

⚠️ Votre boutique PrestaShop doit avoir le SSL activé et ne doit pas être en mode dev ou debug. Ces modes peuvent bloquer les requêtes API et empêcher l'envoi des impressions.

Imprimantes compatibles :

Besoin de vérifier la compatibilité d'une autre imprimante ? Créez un ticket de support.


Prérequis

Minimum
PrestaShop 1.6 (testé jusqu'à 8.x)
PHP 7.2

Vous avez également besoin d'un compte Expedy gratuit avec un SID API, un token API et au moins une imprimante cloud enregistrée sur le compte.


Téléchargement

Téléchargez la dernière version de expedyprint.zip depuis la page des releases GitHub :

👉 github.com/ExpedyDev/expedyprint-prestashop-addon/releases

Chaque release fournit le zip prêt à installer et son changelog. Ce seul fichier suffit.

Le code source complet est ouvert et disponible ici :

👉 github.com/ExpedyDev/expedyprint-prestashop-addon


Installation

  1. Téléchargez expedyprint.zip depuis la dernière release.
  2. Dans le back-office PrestaShop, ouvrez Modules → Gestionnaire de modules.
  3. Cliquez sur Téléverser un module et sélectionnez le expedyprint.zip téléchargé. Le module s'installe automatiquement.
  4. Une fois installé, cliquez sur Configurer.

Aucun pilote, aucune ligne de commande, aucun logiciel supplémentaire.


Configuration

Ouvrez Modules → Gestionnaire de modules → ExpedyPRINT → Configurer. Le tableau de bord des réglages est organisé en panneaux clairement libellés, et les outils de connexion, d'imprimante et d'aperçu fonctionnent tous sans avoir à enregistrer le formulaire au préalable.

1. Connexion API

Collez votre SID API et votre token API, puis cliquez sur Tester la connexion.

Réglage Description
SID API Votre identifiant de compte, disponible dans la console Expedy sous API.
Token API Votre clé secrète, disponible dans la même section API. Traitez-la comme un mot de passe. Elle est stockée de façon sécurisée et en écriture seule, donc jamais réaffichée. Laissez le champ vide lors de l'enregistrement pour conserver le token déjà stocké.

Si le test réussit, la liste des imprimantes est récupérée depuis votre compte et le menu déroulant des imprimantes est rempli automatiquement.

2. Imprimante

Réglage Description
Imprimante Choisissez votre imprimante dans le menu déroulant chargé depuis votre compte (il affiche le nom, la largeur du papier et l'UID).
UID de l'imprimante de secours Facultatif. Une seconde imprimante qui reçoit le même ticket, utile pour la redondance.
Largeur du papier 58 mm ou 80 mm, selon le rouleau de votre imprimante.

Utilisez Envoyer une impression test pour imprimer un ticket d'exemple sur l'imprimante sélectionnée et vérifier que tout est bien configuré.

3. Déclenchement de l'impression

Réglage Description
Imprimer le ticket Choisissez quand l'impression a lieu : dès qu'une commande est passée, ou lorsque le statut de la commande devient « Paiement accepté ».
Nombre de copies 1 à 5 copies par commande.
Couper le papier après chaque ticket Coupe automatiquement le papier à la fin de chaque impression, sur les imprimantes qui le prennent en charge.

4. Contenu du ticket

Choisissez comment les produits et les montants sont affichés et quels blocs sont imprimés :

  • Affichage des produits : nom du produit et attributs, référence du produit et attributs, nom seul, ou référence seule.
  • Montants : montants des lignes TTC, HT, ou aucun montant par ligne. Les montants sont imprimés sans symbole monétaire pour une compatibilité maximale avec les imprimantes thermiques.
  • Totaux : imprimez le total TTC, le total HT et/ou le détail des taxes.
  • Codes-barres EAN-13 : imprimez le code-barres du produit sur chaque ligne.
  • Nombre d'articles, mode de paiement, mode de livraison/transporteur, note du client : activez ou désactivez chaque bloc.

5. En-tête et pied de page de la boutique

URL du logo facultative (HTTPS, GIF/JPG/PNG, largeur max. 570px), titre de la boutique, nom de l'entreprise, adresse, code postal, ville, téléphone et identifiant d'entreprise, tous imprimés sur le ticket.

6. Libellés du ticket

Chaque libellé imprimé sur le ticket (Commande, Produit, Prix, etc.) est entièrement modifiable, dans la langue de votre choix.

7. Avancé : association multiboutique

Routez les retraits en magasin vers une imprimante spécifique avec le format store_id:printer_uid||store_id:printer_uid. Par exemple, les commandes de votre boutique de Londres peuvent s'imprimer automatiquement sur une imprimante tandis que celles d'Édimbourg partent sur une autre, entièrement automatisé, sans tri manuel.


Aperçu d'un ticket de commande

En bas de la page des réglages, l'outil Aperçu d'un ticket de commande génère le ticket exact de n'importe quelle commande existante. Saisissez simplement l'ID de commande et cliquez sur Aperçu. Aucune imprimante requise.


Fonctionnement

Le module surveille les événements de vos commandes et, lorsque le déclencheur configuré est atteint, construit le ticket et l'envoie à votre imprimante via l'API cloud ExpedyPRINT.

Une commande s'imprime une seule fois : un indicateur d'idempotence empêche qu'une même commande soit imprimée deux fois. Si une tentative d'impression échoue, la commande n'est pas marquée, elle peut donc réessayer au changement de statut suivant. Chaque tentative, réussie ou non, est enregistrée dans Paramètres avancés → Logs (source expedyprint).


Modules compatibles

ExpedyPRINT peut lire des données d'autres modules PrestaShop afin d'imprimer des informations supplémentaires comme le type de retrait ou de livraison, la date et le créneau horaire, ainsi que les options produit. Les intégrations prises en charge incluent :

  • Créneaux de livraison et de retrait : prestatilldrive, prestadrive, prestatillhomedelivery, fspickupatstorecarrier, preferreddeliverytime
  • Options produit et champs personnalisés : configurator, an_productfields, idxrcustomproduct

Cette liste n'est pas exhaustive. Nous ne pouvons pas garantir une impression correcte si votre installation PrestaShop est fortement personnalisée ou utilise des modules qui modifient les fonctions de commande natives.


Créer votre propre intégration

Pour imprimer depuis votre propre application ou une autre plateforme, utilisez le SDK Node.js officiel et les exemples d'API :

👉 github.com/ExpedyDev/expedy-sdk-node

Il montre comment vous authentifier, lister vos imprimantes et envoyer des travaux d'impression via l'API ExpedyPRINT v2.


Personnalisation et support

Le module est open source sous licence Open Software License (OSL 3.0), vous pouvez donc librement modifier le code pour l'adapter à vos besoins. Expedy ne propose plus de développement sur mesure ni de prestations de personnalisation.

Le support est assuré uniquement pour ExpedyPRINT v2. Les versions antérieures à la v2 ne sont plus prises en charge.