Introduites en 2022, les Shopify Functions proposent une nouvelle approche technologique pour personnaliser le comportement d'une boutique Shopify, en autorisant les développeurs à injecter du code personnalisé dans le backend de Shopify.
Avec les Shopify Functions, il est possible de créer une grande variété de règles à appliquer dans la page panier ou dans le tunnel de paiement : des conditions de validation d'un paiement, des regroupements de produits ("bundle"), des remises spécifiques (par exemple des remises en volume), des règles de livraison personnalisées (par exemple pour masquer ou réorganiser des options),...
Les Shopify Functions sont déployées sous la forme d'Apps, publiques ou personnalisées. Si le développeur choisi de réaliser une App publique, celle-ci pourra être commercialisée dans l'App Store et elle sera disponible pour tous les marchands Shopify. S'il s'agit d'une App personnalisée, elle ne pourra être installée que sur des boutiques Shopify Plus.
Dans le détail, une fonction ("function") est un module WebAssembly qui contient une logique métier personnalisée. Les fonctions peuvent être écrites dans n'importe quel langage prenant en charge WebAssembly. Et pour faciliter encore plus la création de Shopify Functions, les fonctions pourront d'ici peu être écrites en JavaScript !
Les différentes API Shopify Functions actuellement disponibles sont :
- Delivery Customization API : renommer, réorganiser et trier les options de livraison disponibles pour les acheteurs dans le tunnel de paiement.
- Order Discount API : créer une remise qui s'applique dans le panier à toutes les produits d'une commande.
- Product Discount API : créer une remise quin s'applique à un produit particulier dans le panier.
- Payment Customization API : renommer, réorganiser et trier les options de paiement disponibles pour les acheteurs.
- Cart and Checkout Validation API : appliquer une règle spécifique pour valider un panier et un paiement.
- Order Routing Location Rule API : décider pour chaque article de ou des emplacements de stock à utiliser pour le traitement logistique.
- Shipping Discount API : créer une remise qui s'applique à un ou plusieurs tarifs d'expédition dans le tunnel de paiement.
- Cart Transform API : étendre ou condenser l'affichage d'éléments (produits, groupes de produits) dans le panier.
Shopify maintient à jour la documentation technique des Shopify Functions, et notamment la disponibilité exacte de chaque API (certaines sont actuellement en "developer preview" ou en "early access").
Pour discuter des Shopify Functions et de leurs différents cas d'usage, n'hésitez pas à nous contacter.