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 :
- Toute imprimante ESC/POS ou ESC/P associée à un adaptateur Cloud Print Box
- Imprimantes Expedy Cloud Print
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
- Téléchargez
expedyprint.zipdepuis la dernière release. - Dans le back-office PrestaShop, ouvrez Modules → Gestionnaire de modules.
- Cliquez sur Téléverser un module et sélectionnez le
expedyprint.ziptéléchargé. Le module s'installe automatiquement. - 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.
- Service ExpedyPRINT, compte et API : www.expedy.io
- Questions ou aide : créez un ticket de support
- Bugs et demandes de fonctionnalités pour ce module : ouvrez une issue sur le dépôt
Le support est assuré uniquement pour ExpedyPRINT v2. Les versions antérieures à la v2 ne sont plus prises en charge.