Déclencheurs temporels et liés aux stocks à partir de modèles

Déclencheurs temporels et liés aux stocks à partir de modèles

Copier la page

Déclencheurs personnalisés Shopify Flow : commande non traitée depuis N jours, colis bloqué, date de métachamp atteinte, stock bas par emplacement.

Shopify Flow réagit lorsqu'un événement se produit. Certaines des automatisations les plus utiles se déclenchent lorsqu'un événement ne se produit pas, ou lorsqu'une date est atteinte : une commande qui n'a toujours pas été expédiée au bout de trois jours, un colis dont le suivi n'affiche plus de mouvement, une date de sortie enregistrée dans un métachamp. D'autres nécessitent une règle qu'une condition de Shopify Flow ne peut pas exprimer, comme un seuil de stock minimum différent pour chaque emplacement.

Quatre modèles couvrent ces cas de figure. Chacun d'entre eux est un déclencheur personnalisé : vous sélectionnez le modèle dans l'éditeur de déclencheurs personnalisés, vous définissez quelques valeurs en haut du code, vous le testez, puis vous l'activez. Vous n'avez pas besoin d'écrire le code vous-même.

Les quatre modèles

Modèle Fonctionnement À quoi réagit-il ?
Commande en attente depuis N jours Selon un horaire, toutes les heures Une commande en cours qui n'a toujours pas fait l'objet d'un traitement, ou qui en a fait l'objet que partiellement, depuis le nombre de jours que vous avez défini à compter de sa passation
L'envoi n'a pas bougé depuis N jours Selon un horaire, toutes les heures Un colis qui n'a pas été livré alors qu'aucun élément de la commande n'a changé pendant le nombre de jours que vous avez défini
Date atteinte dans un métachamp À intervalles réguliers, toutes les 6 heures Un métachamp de date associé à un produit ou à une commande qui correspond à une date atteinte ou à un nombre de jours à venir
Le niveau des stocks est passé en dessous du seuil fixé par l'emplacement concerné À chaque modification du stock Stock disponible dans un emplacement dont le niveau passe en dessous du seuil que vous avez défini pour cet emplacement

L'intervalle correspond à la valeur initiale du modèle. Vous pouvez le modifier dans l'éditeur.

Utilisez un modèle

Créez un déclencheur personnalisé sur la page « Déclencheurs », dans la section Vos déclencheurs personnalisés. Attribuez-lui un nom et un identifiant. L'identifiant sert de critère de filtrage à votre workflow et ne peut pas être modifié ultérieurement.

En ce qui concerne les trois modèles programmés :

  1. Dans la section Comment cela fonctionne-t-il ?, sélectionnez l'option Selon un calendrier.
  2. Dans la fiche Calendrier, ouvrez la liste Créer à partir d'un modèle et sélectionnez le modèle souhaité. Cela remplace le code et définit la fréquence.
  3. Modifiez les valeurs situées en haut du code. Elles sont décrites ci-dessous pour chaque modèle.
  4. Testez-le. Un test exécute votre code une seule fois, n'envoie aucune donnée à Shopify Flow et n'enregistre rien ; vous pouvez donc le répéter autant de fois que vous le souhaitez.
  5. Activez le déclencheur et enregistrez.

Pour le modèle de stock :

  1. Dans la section Comment cela fonctionne, sélectionnez l'option « Un événement Shopify ».
  2. Ouvrez la liste Commencer à partir d'un modèle et sélectionnez le modèle de stock. Le système sélectionne automatiquement l'événement Modification du niveau de stock dans un emplacement et renseigne le code.
  3. Modifiez les valeurs en haut du code.
  4. Enregistrez un événement réel en modifiant le stock d'une variante dans votre boutique, puis effectuez un test sur cette modification.
  5. Activez le déclencheur et enregistrez.

Utilisez-le dans Shopify Flow

Ces quatre éléments apparaissent dans Shopify Flow sous le nom de « Déclencheur personnalisé ». Ajoutez-le à un workflow et définissez une condition : le champ Identifiant du déclencheur doit correspondre à l'identifiant de votre déclencheur. Chaque valeur envoyée par le modèle correspond à un champ du déclencheur.

Les trois modèles planifiés transmettent également la commande ou le produit sous la forme de l'identifiant de l'enregistrement correspondant à l'événement. Ajoutez une étape telle que Récupérer les données de la commande ou Récupérer les données du produit afin de charger l'enregistrement complet et de pouvoir l'utiliser dans les étapes suivantes.

Commande en attente depuis N jours

Permet de repérer les retards de livraison avant même que le client ne s'en aperçoive.

Valeur dans le code Commence par Signification
DAYS 3 Nombre de jours écoulés depuis la passation de la commande
ONLY_PAID true Seules les commandes payées sont prises en compte. Une commande non payée attend généralement son paiement, et non votre intervention.

Le déclencheur lance votre workflow une fois pour chaque commande en cours qui n'a pas encore été traitée ou qui n'a été traitée que partiellement lorsqu'elle atteint l'ancienneté que vous avez définie. Une commande qui a été traitée dans les délais ne déclenche jamais ce workflow.

La vérification a lieu une seule fois par commande, à ce moment-là. Une commande qui n'est toujours pas traitée une semaine plus tard ne déclenche pas le workflow une deuxième fois. Avec le paramètre « paiement uniquement », une commande qui n'est réglée qu'après ce moment-là n'est pas non plus prise en compte.

Champ envoyé à Shopify Flow Contient
name Le numéro de commande, par exemple n° 1042
placedAt Au moment où la commande a été passée
daysSinceOrder Nombre de jours écoulés depuis la commande
fulfillmentStatus L'état de traitement de la commande
financialStatus L'état de paiement de la commande
thresholdDays Le nombre de jours que vous avez défini

La commande elle-même est transmise sous la forme de l'identifiant de l'enregistrement correspondant à l'événement.

Le code du modèle « Commande non traitée depuis N jours » dans l'éditeur de déclencheurs personnalisés, commençant par les valeurs DAYS et ONLY_PAID
Le modèle dans l'éditeur. Les deux valeurs situées en haut du code sont celles que vous devez modifier.

L'envoi n'a pas bougé depuis N jours

Répond à la question « Où en est ma commande ? » avant même qu'elle ne soit posée.

Valeur dans le code Commence par Signification
DAYS 5 Nombre de jours sans aucun changement
ONLY_WITH_TRACKING true Les envois sans numéro de suivi ne sont pas pris en compte. Il n'est jamais possible de signaler leur livraison.
DONE DELIVERED, PICKED_UP, CANCELED Statuts d'expédition considérés comme « terminés »

Shopify ne permet pas d'effectuer une recherche en fonction de la date du dernier mouvement d'un envoi. Le modèle s'appuie donc sur la commande. Il recherche les commandes traitées ou partiellement traitées qui n'ont pas été mises à jour depuis le nombre de jours que vous avez défini et pour lesquelles il reste un envoi non finalisé.

Toute modification apportée à la commande relance le décompte. C'est le cas d'une mise à jour du suivi, mais aussi d'une note modifiée ou d'une nouvelle balise.

Le déclencheur lance votre workflow une fois par envoi bloqué ; ainsi, une commande comportant deux colis bloqués le lance deux fois. Jusqu'à trois envois par commande sont vérifiés.

Champ envoyé à Shopify Flow Contient
name Le nom de la commande
fulfillmentId L'identifiant de l'envoi
shipmentStatus L'état actuel de l'expédition
lastTrackingStatus État d'avancement du dernier événement de suivi
lastMovedAt Date du dernier mouvement de l'envoi
daysWithoutMovement Nombre de jours écoulés depuis le dernier mouvement de l'envoi
shippedAt Lors de la création de l'expédition
estimatedDeliveryAt La date de livraison estimée, si le transporteur en indique une
carrier Le nom du transporteur
trackingNumber Le numéro de suivi
trackingUrl Le lien de suivi
thresholdDays Le nombre de jours que vous avez défini

La commande elle-même est transmise sous la forme de l'identifiant de l'enregistrement correspondant à l'événement.

Date atteinte dans un métachamp

Pour les dates de sortie, les garanties, les dates limites de consommation, les dates de renouvellement : tout ce qui concerne les dates figurant sur un produit ou une commande.

Valeur dans le code Commence par Signification
RESOURCE "products" Où se trouve le métachamp : au niveau des produits ou au niveau des commandes ?
NAMESPACE "custom" L'espace de noms du métachamp
KEY "release_date" La clé du métachamp
OFFSET_DAYS 0 Nombre de jours avant ou après la date. Voir les exemples ci-dessous

Trois exemples de décalage :

Décalage Lorsque votre workflow démarre
0 Le jour même
-7 Sept jours avant la date
30 Trente jours après la date

Le déclencheur lance votre workflow une fois pour chaque produit ou commande dont la date d'échéance tombe ce jour-là. Les jours sont exprimés en UTC. Le déclencheur traite les données jour après jour ; ainsi, les jours manqués sont rattrapés dans l'ordre. Lorsque plus de 100 enregistrements arrivent à échéance un même jour, les autres sont traités lors des exécutions suivantes.

Champ envoyé à Shopify Flow Contient
name Le titre du produit ou le nom de la commande
date La date enregistrée dans le métachamp
reachedOn Le jour où le document devait être remis
offsetDays Le décalage que vous avez défini

Le produit ou la commande elle-même est transmise en tant qu'identifiant de l'enregistrement de l'événement.

Le niveau des stocks est passé en dessous du seuil fixé par l'emplacement concerné

Une règle relative aux niveaux de stock minimaux par emplacement : 20 en entrepôt, 3 en magasin.

Valeur dans le code Commence par Signification
THRESHOLDS { "Main warehouse": 20, "Pop-up store": 3 } Le seuil de chaque emplacement, en fonction du nom de cet emplacement
DEFAULT 5 Le seuil pour chaque emplacement qui ne figure pas dans la liste
ALSO_WHEN_RESTOCKED false Que votre workflow commence également lorsque le niveau de stock atteint ou dépasse le seuil

Pour ignorer un emplacement, attribuez-lui la valeur seuil null. Pour surveiller uniquement les emplacements répertoriés, définissez la valeur seuil par défaut sur null.

Le déclencheur lance votre workflow une seule fois, au moment du basculement : le stock était égal ou supérieur au seuil avant le changement et est inférieur à celui-ci après. Il ne réagit pas à chaque vente lorsque le stock est déjà faible. Cela est possible car l'application connaît le niveau de stock avant et après chaque changement.

Veuillez saisir les noms des emplacements exactement tels qu'ils apparaissent dans votre interface d'administration Shopify, sous Paramètres > Emplacements.

Ce modèle nécessite que le déclencheur Modification du niveau de stock à un emplacement soit activé et que les autorisations correspondantes soient accordées. C'est ce qui permet à l'application de suivre les niveaux de stock. Voir La page « Déclencheurs » (anciennement « Paramètres ») et Autorisations et accès aux données.

Champ envoyé à Shopify Flow Contient
event Ce qui s'est passé : le cours de l'action est passé sous le seuil, ou le cours de l'action est remonté
productTitle Le titre du produit
variantTitle Le titre alternatif
sku La référence de la variante
location Le nom de l'emplacement
locationId L'identifiant de l'emplacement
oldAvailable Stock disponible avant le changement
newAvailable Stock disponible après la modification
threshold Le seuil qui s'appliquait

Le champ « Ce qui s'est passé » peut prendre l'une des deux valeurs suivantes :

Valeur Signification
below Le cours de l'action est passé sous le seuil
restocked Le cours de l'action est revenu au niveau du seuil ou l'a dépassé
Pourquoi mon workflow ne s'est-il pas lancé après avoir activé le déclencheur ?

Lors de sa première exécution, un modèle planifié ne mémorise que son point de départ. Le déclencheur réagit aux commandes, aux expéditions et aux dates qui franchissent ce seuil par la suite, et non à celles qui l'avaient déjà dépassé.

Puis-je effectuer cette vérification plus souvent qu'une fois par heure ?

Oui, c'est à vous de choisir la fréquence, de toutes les 30 secondes à une fois par jour. Une fréquence plus courte implique davantage de sessions, et chaque session compte pour votre forfait. Pour un objectif mesuré en jours, une fois par heure est généralement largement suffisante.

Le déclencheur de date signale une erreur. Quel est le problème ?

Il s'agit presque toujours de la définition du métachamp. Celui-ci doit être de type « Date » et l'option Filtrage doit être activée dans Paramètres > Données personnalisées. Vérifiez également que l'espace de noms et la clé dans le code correspondent exactement à la définition.

Un modèle peut-il modifier mes commandes ou mes produits ?

Non. Un déclencheur personnalisé est uniquement en lecture. Pour ajouter une balise à la commande, envoyer un e-mail ou mettre à jour un Métachamp, ajoutez ces actions au Workflow qui démarre avec ce déclencheur.

Une expédition est restée bloquée plus longtemps que le délai que j'avais défini, et mon workflow ne s'est pas déclenché. Pourquoi ?

Le décompte est calculé à partir de la dernière modification apportée à la commande. Si la commande a été modifiée entre-temps, que ce soit par le personnel, par une autre application ou à la suite d'une mise à jour du suivi, le décompte recommence à partir de ce moment-là.

Prochaines étapes