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.
Champ Description
Mutations Obligatoire. 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 mutation Obligatoire. 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 ne renvoie pas de données dans l’environnement Flow à la suite de la mutation.
  • L’action ne prend pas en charge les requêtes GraphQL, mais uniquement les mutations.
  • 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 mutations propres à certaines applications, telles que les abonnements et les réductions.
  • L’action affichera une liste de Mutations et Mutation inputs à partir d’une seule version de l’API Shopify, actuellement 2024-01.
  • Lorsque la version d’API est mise à niveau et contient une modification importante, cette action peut échouer si vous dépendez de ce champ.

Prêt(e) à commencer à vendre avec Shopify ?

Essayez gratuitement