Envoyer une requête de l’API de l’interface administrateur

L’action Envoyer une requête de l’API de l’interface administrateur envoie une mutation à l’API Admin GraphQL Shopify. Cette action vous permet d’effectuer presque toutes les actions autorisées par l’API à l’aide de Flow.

Champs

L’action Envoyer une requête de l’API de l’interface administrateur contient les champs suivants.

Champs utilisés dans l’action Envoyer une requête de l’API de l’interface administrateur.
ChampDescription
MutationsObligatoire. La mutation Admin GraphQL Shopify que vous souhaitez appeler. Une mutation est une API qui effectue une action ou met à jour des données.
Entrées de mutationObligatoire. Les données (dans JSON) que vous devez envoyer dans le cadre de votre requête de mutation. Chaque mutation nécessite un ensemble de données différent, qui est documenté dans le lien fourni pour chaque mutation. Pour créer le JSON requis, vous pouvez utiliser Liquid ou l’action Exécuter le code.

Déclencheurs

L’action Envoyer une requête de l’API de l’interface administrateur peut être utilisée dans n’importe quel flux de travail, avec n’importe quel déclencheur, tant que le flux de travail fournit les données nécessaires à la construction des entrées de mutation.

Exemples

Exemple 1 : mettre à jour le modèle utilisé pour un produit

Dans cet exemple, nous utiliserons l’action Envoyer une requête de l’API de l’interface administrateur pour appeler la mutation productUpdate afin de mettre à jour le modèle utilisé pour un produit.

Le champ id est requis et doit être un GID de produit valide. Ici, nous le configurons avec la variable Liquid {{product.id}}. Cela suppose que votre flux de travail dispose d’un déclencheur qui fournit un objet produit.

Le templateSuffix est le nom du modèle que vous souhaitez appliquer au produit. Par exemple, si vous souhaitez appliquer le modèle pre-order, vous définissez le suffixe du modèle sur pre-order.

{
  "input": {
    "templateSuffix": "pre-order",
    "id": "{{product.id}}"
  }
}

Exemple 2 : mettre à jour le statut d’exonération fiscale d’un(e) client(e)

Dans cet exemple, nous utiliserons l’action Envoyer une requête de l’API de l’interface administrateur pour appeler la mutation customerUpdate afin de mettre à jour le statut d’exonération fiscale d’un(e) client(e).

Le id de l’adresse est obligatoire et doit être un GID client valide. Nous la définissez ici avec la variable Liquid {{order.customer.id}} faible. Cela suppose que votre flux de travail dispose d’un déclencheur qui fournit un objet de commande.

Le champ taxExempt est un booléen qui indique si le/la client(e) est exonéré(e) de taxe. Dans cet exemple, nous l’avons paramétré comme true.

{
  "input": {
    "id": "{{order.customer.id}}",
    "taxExempt": true
  }
}

Exemple 3 : mettre à jour les paramètres régionaux d’un(e) client(e)

Dans cet exemple, nous utiliserons l’action Send Admin API request (Envoyer une requête de l’API de l’interface administrateur) pour appeler la mutation customerUpdate afin de mettre à jour les paramètres régionaux d’un client.

Le champ id est requis et doit être un GID de client valide. Ici, nous le configurons avec la variable Liquid {{customer.id}}. Cela suppose que votre flux de travail dispose d’un déclencheur qui fournit un objet client.

Le champ locale est une chaîne qui représente les paramètres régionaux du/de la client(e). Dans cet exemple, nous l’avons paramétré comme en.

{
  "input": {
    "id": "{{customer.id}}",
    "locale": "en"
  }
}

Conseils Liquid

Flow prend en charge un filtre liquid json qui peut être utile lors de la construction de l’entrée. Les exemples suivants utilisent tous la mutation customerUpdate et supposent que votre flux de travail dispose d’un déclencheur qui fournit un objet client.

Travailler avec des chaînes

L’exemple suivant met à jour la note d’un(e) client(e) :

{% assign revisedNote = customer.note | append: " Hello from Flow!" %}

{
  "input": {
    "id": "{{ customer.id }}",
    "note": {{ revisedNote | json }},
  }
}

Le filtre json échappe à la chaîne pour assurer un JSON correct. Après l’exécution du flux de travail, vous obtenez le JSON suivant :

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "note": "Had a \"great experience\" with their latest order. Hello from Flow!",
  }
}

Travailler avec des tableaux

Exemple de tableau

Le filtre json transforme un tableau Liquid en tableau JSON. L’exemple suivant produit un tableau JSON lorsqu’il est fourni avec un tableau Liquid :

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ tags | json }}
  }
}

Après l’exécution du flux de travail, vous obtenez le JSON suivant :

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["tag1","tag2","tag3"]
  }
}

Exemple de boucle for

L’exemple suivant utilise une boucle pour sortir les éléments d’un tableau, séparés par des virgules :

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": [
      {% for tag in tags %}
        "{{ tag }}"{% unless forloop.last %},{% endunless %}
      {% endfor %}
    ]
  }
}

Cela donne le JSON suivant lorsque le flux de travail s’exécute :

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": [
        "tag1",
        "tag2",
        "tag3"
    ]
  }
}

Exemple de carte

Le filtre map peut être utilisé pour obtenir un tableau d’une propriété spécifique à partir d’un tableau d’objets. Dans l’exemple suivant, un tableau de propriétés city est extrait d’un tableau d’adresses de clients :

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ customer.addresses | map: "city" | json }}
  }
}

Après l’exécution du flux de travail, vous obtenez le JSON suivant :

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["Ottawa","Toronto"]
  }
}

Limitations

L’action Envoyer une requête de l’API de l’interface administrateur présente les limitations suivantes :

  • L’action affichera une liste de Mutations et Mutation inputs à partir de la version 2024-04 de l’API de l’interface administrateur Shopify.
  • Lorsque la version de l’API de l’interface administrateur est mise à niveau, cette action peut échouer si elle s’appuie sur un champ ayant subi un changement cassant.
  • L’action ne prend pas en charge les requêtes GraphQL, mais uniquement les mutations.
  • L’action ne prend pas en charge les mutations supprimées.
  • L’action ne prend pas en charge certaines mutations propres à certaines applications, notamment relatives aux abonnements, aux activités de marketing et aux réductions.
  • L’action ne prend pas en charge les mutations asynchrones ou les mutations qui renvoient un type Job.
  • L’action ne prend pas en charge les outils d’un groupe d’utilisateurs dont l’interface Node n’est pas mise en œuvre.

Modèles 

Ajouter un article gratuit (100 % de réduction) aux nouvelles commandes

Ce modèle ajoute un article gratuit ou à prix réduit aux nouvelles commandes si l’article est en stock. Il vérifie le stock, applique une réduction de 100 % et met à jour la commande sans en informer le/la client(e). Cette automatisation serait utile pour (1) améliorer la satisfaction des clients en incluant un article gratuit surprise dans leur commande, (2) promouvoir des produits nouveaux ou moins connus en les ajoutant comme échantillons gratuits dans les commandes, ou (3) rationaliser les promotions en automatisant l’inclusion et la réduction des articles gratuits. Afficher le modèle

Autoriser la commande pour les entreprises créées par des demandes de compte d’entreprise

Attribuez une autorisation de commande lorsque l’entreprise est créée par une demande de compte d’entreprise. Afficher le modèle

Modifier le modèle de produit lorsque les variantes sont en rupture de stock ou de nouveau en stock

Mettez à jour le modèle de produit en fonction du stock des variantes du produit. Le flux de travail vous permet de passer d’un modèle à l’autre pour les produits en stock (modèle par défaut de la boutique), les produits en rupture de stock et lorsqu’une ou plusieurs variantes sont en rupture de stock. Afficher le modèle

Traiter tous les articles numériques d’une commande

Traite tous les articles qui ne nécessitent pas de livraison physique, tels que les articles numériques, ou qui correspondent à une liste de SKU. S’exécute une fois pour chaque emplacement de traitement des commandes (le « traitement des commandes ») pour une nouvelle commande. Afficher le modèle

Vous ne trouvez pas les réponses que vous recherchez ? Nous sommes là pour vous aider.