Joindre un fichier à partir d'un métachamp de commande ou de client

Joindre un fichier à partir d'un métachamp de commande ou de client

Copier la page

Joignez automatiquement un PDF stocké dans un métachamp de commande ou de client à un e-mail envoyé depuis Shopify Flow, sans téléchargement manuel.

De nombreuses applications enregistrent un fichier lié à la commande ou au client : une facture ou un bon de livraison au format PDF provenant d’une application de facturation, un certificat, un contrat signé. L’application Shopify stocke ce fichier dans un métachamp, soit sous forme de fichier dans vos « Fichiers » Shopify, soit sous forme de lien vers ce fichier. Cette application peut joindre ce fichier à l’e-mail envoyé par un workflow Shopify Flow, sans que vous ayez à télécharger ou à créer de lien manuellement.

Comment cela fonctionne-t-il ?

  1. Une autre application (ou vous-même) enregistre le fichier, ou un lien vers celui-ci, dans un métachamp de la commande ou du client. Dans votre interface d'administration d'Shopify, rendez-vous dans Paramètres > Données personnalisées > Commandes (ou Clients) : il s'agit d'une définition de type « Fichier », « URL » ou d'un champ de texte dans lequel une application enregistre un lien.
  2. Dans une mise en page d'e-mail, vous ajoutez une pièce jointe et sélectionnez « Métachamp » comme source, puis vous choisissez cette définition. Le sélecteur affiche ce que chacune contient : un fichier, un lien ou une liste de l'un ou de l'autre.
  3. Dans Shopify Flow, l’étape « Envoyer un e-mail transactionnel » ou « Envoyer un e-mail marketing » comporte un champ « Commande » et un champ « Client ». Flow les renseigne à partir du déclencheur ; ainsi, un workflow lancé par la création d’une commande sait d’emblée de quelle commande il s’agit.
  4. Une fois l'e-mail envoyé, l'application lit ce métachamp associé à la commande ou au client, télécharge le fichier (à partir de votre dossier Shopify ou via le lien) et le joint à l'e-mail. Un métachamp de type « liste » joint toutes les entrées.

La mise en page ne mentionne que le métachamp. C'est le workflow qui précise de quelle commande ou de quel client il s'agit ; ainsi, une seule mise en page suffit pour toutes les commandes.

Une étape « Envoyer un e-mail transactionnel » récemment ajoutée dans Shopify Flow, dont le champ « Commande » est défini sur « order.id » et le champ « Client » sur « order.customer.id », située au-dessus des champs « À », « Cc » et « Cci »
L'étape « Shopify Flow : Commande et Client » est renseignée à partir du déclencheur, en l'occurrence un workflow de commande. Une étape ajoutée avant la version 1.17 ne dispose pas de ces informations ; veuillez la supprimer puis la rajouter.

Fichiers et liens

Le métachamp contient Type de définition Fonctionnalités de l'application
Un fichier Shopify Fichier, Liste des fichiers Il suit le lien vers le fichier dans votre dossier « Fichiers » et le télécharge
Un lien Une URL, une liste d'URL ou un champ de texte Télécharge le fichier à partir de ce lien. Seuls les liens de type https:// fonctionnent ; un lien qui ne répond pas ou qui renvoie vers un format autre qu'un fichier PDF, une image, un fichier CSV ou un fichier texte entraîne l'échec de l'envoi, avec la raison suivante :

Dans tous les cas, la taille est vérifiée au moment de l'envoi de l'e-mail, et non dans l'éditeur ; par conséquent, les pièces jointes des métachamps ne sont pas prises en compte dans le nombre total de pièces jointes affiché par l'éditeur.

Configurez-le

Mise en page en texte enrichi et en HTML

Dans la fiche « Pièces jointes » située au bas de l'éditeur, cliquez sur « Ajouter à partir d'un métachamp ». Sélectionnez « Commande » ou « Client », puis la définition. La ligne affiche le nom de la définition, son contenu et son namespace.key ; cliquez sur « Modifier » pour en sélectionner une autre.

La fiche « Pièces jointes » d'une mise en page en texte enrichi, avec les boutons « Ajouter une pièce jointe », « Ajouter à partir d'une URL » et « Ajouter à partir d'un métachamp »
La fiche « Pièces jointes » d'un modèle de texte enrichi ou HTML : « Ajouter à partir du métachamp » à côté des boutons « Télécharger » et « URL ».

Mises en page visuelles

Ajoutez un bloc « Pièce jointe » (ou ouvrez-en un) et définissez sa source sur « Métachamp ». Lorsque vous sélectionnez « Métachamp », la même fenêtre de sélection s'ouvre.

Un bloc de pièce jointe dans le générateur visuel, dont la source a été basculée sur « Métachamp », le bouton « Choisir un métachamp », la possibilité de remplacer le nom de fichier et la case à cocher « Facultatif »
Le bloc de pièce jointe dont la source est un Métachamp : choisissez la définition, modifiez le nom du fichier et déterminez si un Métachamp vide empêche l'envoi de l'e-mail.
La boîte de dialogue « Joindre un fichier à partir d'un métachamp » avec « Commande » sélectionnée comme ressource et les définitions « PDF de la facture (fichier) » et « URL de la facture (lien) » répertoriées sous un champ de recherche
Le sélecteur : d'abord la commande ou le client, puis les définitions de cette ressource, chacune avec son contenu. Le PDF de la facture est sélectionné.
Le bloc de pièces jointes après avoir sélectionné le métachamp : « PDF de la facture », « Fichier », « custom.invoice_pdf de la commande », un bouton « Modifier le métachamp », la possibilité de remplacer le nom du fichier et la case à cocher « Facultatif »
Le bloc suivant le choix : le nom de la définition, son contenu et son espace de noms.key. La fonction « Modifier le métachamp » en sélectionne un autre.

L'autorisation

L'application s'installe sans aucun accès aux données de votre boutique. La première fois que vous sélectionnez un métachamp « commande » ou « client », le sélecteur vous demande l'autorisation de lire les métachamps de cette ressource ainsi que les fichiers auxquels ils renvoient. Shopify affiche sa propre boîte de dialogue de consentement ; après avoir cliqué sur « Mettre à jour », la liste des définitions se charge.

Vous pouvez consulter et révoquer chaque autorisation à tout moment sur la page « Autorisations » de l'application. La révocation d'une autorisation entraîne l'échec de tout e-mail comportant une pièce jointe issue de ce métachamp, jusqu'à ce que l'autorisation soit à nouveau accordée. Pour connaître le détail de chaque autorisation (ce qu'elle autorise et ce qu'elle n'autorise pas), rendez-vous sur Autorisations : les informations que l'application peut lire dans votre boutique.

La page « Autorisations » répertorie les rubriques « Commandes » et « Fichiers » comme « Accordées » avec des boutons « Révoquer », et les rubriques « Clients » et « Réductions » comme « Non accordées » avec des boutons « Accorder », chacune avec son champ d'application
La page « Autorisations » : chaque autorisation facultative est accompagnée de son champ d'application, indiquant si elle est accordée ou non, ainsi que d'un bouton permettant de l'accorder ou de la révoquer. Ici, les autorisations « Commandes » et « Fichiers » ont été accordées à partir du sélecteur.

Nom du fichier

Par défaut, la pièce jointe conserve le nom du fichier lui-même : le nom figurant dans vos fichiers Shopify, ou la dernière partie du lien. Le champ « Nom du fichier » remplace ce nom par défaut et prend en charge le langage Liquid, par exemple invoice-{{ variables.order_name }}.pdf. Lorsqu’un métachamp de liste contient plusieurs entrées, la deuxième et les suivantes se voient ajouter -2, -3 à la fin du nom défini dans le champ.

Lorsque le métachamp est vide

L'application qui écrit le fichier s'exécute souvent quelques secondes après le déclencheur ; ainsi, au moment où l'étape « e-mail » s'exécute, le métachamp peut encore être vide. Ce qui se passe alors dépend de la case à cocher « Facultatif » de la pièce jointe :

Facultatif Comportement
Désactivé (par défaut) L'e-mail n'a pas encore été envoyé. L'application demande à Shopify Flow de réessayer cette étape, et Shopify Flow le renvoie un peu plus tard ; l'e-mail est envoyé dès que le fichier est disponible.
Le L'e-mail est envoyé sans cette pièce jointe.

Ne le cochez pas pour une facture qui doit obligatoirement figurer sur le document. Cochez-le pour un fichier qui ne concerne que certaines commandes.

Exigences et limites

  • L'étape « Shopify Flow » nécessite que le champ « Commande » ou « Client » soit renseigné. Les étapes ajoutées avant cette version ne disposent pas encore de ces champs : supprimez l'étape dans l'éditeur « Shopify Flow », puis ajoutez-la à nouveau.
  • Fichiers d'une taille maximale de 10 Mo chacun ; fichiers PDF, images, CSV, texte brut et fichiers de calendrier. Les vidéos et les modèles 3D sont ignorés.
  • Les liens doivent commencer par https:// et être accessibles sans identifiant. Tout lien redirigeant vers une adresse non-https ou vers un réseau privé est refusé.
  • Commandes des 60 derniers jours. L'API Shopify autorise uniquement les applications à consulter les commandes récentes. Si vous tentez d'effectuer une opération sur une commande plus ancienne, l'envoi échoue et un message clair s'affiche.
  • Microsoft 365 rejette les messages dont la taille totale des pièces jointes dépasse 4 Mo ; pour plus d'informations, consultez la page Pièces jointes et images.

Ce que vous voyez dans l'histoire

Chaque résultat figure sur la page « Historique ». Une étape sans commande, une autorisation retirée, une commande que l'Shopify ne parvient pas à trouver, un lien qui ne répond pas ou un fichier dépassant la limite autorisée est enregistré comme « Échec », avec la raison et les modifications à apporter. Un métachamp vide avec l’option « Facultatif » désactivée ne constitue pas un échec : Shopify Flow affiche les nouvelles tentatives, et l’envoi apparaît dès que le fichier est disponible. Une « Renvoi » depuis l’historique réexécute la même commande ou concerne à nouveau le même client.

Un événement « History » correspondant à un e-mail contenant les instructions de retour, dont les données de requête comportent l'« orderId » de la commande à partir de laquelle la facture a été lue
Un e-mail comportant une pièce jointe issue d'un métachamp de l'historique : les données de la requête indiquent quelle commande a été lue ; ainsi, une commande « Renvoyer » la lit à nouveau.

Testez-le

La fonction « Envoyer un e-mail de test » dans l'éditeur de mise en page ne dispose d'aucune commande ni d'aucun client à prendre en compte ; elle envoie donc l'e-mail sans pièces jointes de métachamps. Pour tester la pièce jointe, lancez le workflow dans Shopify Flow sur une commande qui contient déjà le fichier, ou utilisez la fonction « Exécuter sur un test Shopify Flow » avec une telle commande.

Connexes