Envia una sol·licitud d'Admin API

L'acció Envia una sol·licitud d'Admin API pot utilitzar la majoria de les mutacions de la GraphQL Admin API per fer canvis a la botiga, incloent-hi aquelles mutacions que encara no estan disponibles com a accions a Flow.

Camps

L'acció Envia una sol·licitud d'Admin API conté els camps següents.

Camps utilitzats a l'acció Envia una sol·licitud d'Admin API.
CampDescripció
MutacióObligatori. La mutació de GraphQL Admin de Shopify que vols cridar. Una mutació és una API que realitza una acció o actualitza dades.
Entrades de la mutacióObligatori. Les dades (en format JSON) que has d'enviar com a part de la teva sol·licitud de mutació. Cada mutació requereix un conjunt de dades diferent, que està documentat a l'enllaç proporcionat per a cada mutació. Per construir el JSON necessari, pots utilitzar Liquid o una acció d'executar codi.

Esdeveniments desencadenants

L'acció Enviar sol·licitud a l'Admin API es pot utilitzar en qualsevol flux de treball, amb qualsevol esdeveniment desencadenant, sempre que el flux de treball proporcioni les dades necessàries per construir les entrades de la mutació.

Exemples

Exemple 1: Actualitzar la plantilla que s'utilitza per a un producte

En aquest exemple, utilitzarem l'acció Enviar sol·licitud a l'Admin API per cridar la mutació productUpdate a fi d'actualitzar la plantilla que s'utilitza per a un producte.

El camp id és obligatori i ha de ser un GID de producte vàlid. Aquí, l'establim amb la variable de Liquid {{product.id}}. Això pressuposa que el teu flux de treball té un esdeveniment desencadenant que proporciona un objecte de producte.

El templateSuffix és el nom de la plantilla que vols aplicar al producte. Per exemple, si vols aplicar la plantilla pre-order, hauries d'establir el templateSuffix en pre-order.

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

Exemple 2: Actualitzar l'estat d'exempció fiscal d'un client

En aquest exemple, utilitzarem l'acció Enviar sol·licitud a l'Admin API per cridar la mutació customerUpdate a fi d'actualitzar l'estat d'exempció fiscal d'un client.

El camp id és obligatori i ha de ser un GID de client vàlid. Aquí, l'establim amb la variable de Liquid {{order.customer.id}}. Això pressuposa que el teu flux de treball té un esdeveniment desencadenant que proporciona un objecte de comanda.

El camp taxExempt és un booleà que indica si el client està exempt d'impostos. En aquest exemple, l'establim en true.

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

Exemple 3: Actualitzar la configuració regional d'un client

En aquest exemple, utilitzarem l'acció Enviar sol·licitud a l'Admin API per cridar la mutació customerUpdate a fi d'actualitzar la configuració regional d'un client.

El camp id és obligatori i ha de ser un GID de client vàlid. Aquí, l'establim amb la variable de Liquid {{customer.id}}. Això pressuposa que el teu flux de treball té un esdeveniment desencadenant que proporciona un objecte de client.

El camp locale és una cadena que representa la configuració regional del client. En aquest exemple, l'establim en en.

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

Consells per a Liquid

Flow admet un filtre de Liquid json que pot ser útil a l'hora de construir l'entrada. A continuació, es mostren diversos exemples que utilitzen la mutació customerUpdate i pressuposen que el teu flux de treball té un esdeveniment desencadenant que proporciona un objecte de client.

Treballar amb cadenes

L'exemple següent actualitza la nota d'un client:

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

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

El filtre json escapa la cadena per garantir un format JSON correcte. Això dona com a resultat el JSON següent després que s'executi el flux de treball:

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

Treballar amb matrius

Exemple de matriu

El filtre json transforma una matriu de Liquid en una matriu JSON. L'exemple següent genera una matriu JSON quan se li proporciona una matriu de Liquid:

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

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

Això dona com a resultat el JSON següent després que s'executi el flux de treball:

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

Exemple de bucle for

L'exemple següent utilitza un bucle per mostrar els elements d'una matriu, separats per comes:

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

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

Això dona com a resultat el JSON següent quan s'executa el flux de treball:

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

Exemple de map

El filtre map es pot utilitzar per obtenir una matriu d'una propietat específica a partir d'una matriu d'objectes. En l'exemple següent, s'extreu una matriu de propietats de city a partir d'una matriu d'adreces de clients:

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

Això dona com a resultat el JSON següent després que s'executi el flux de treball:

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

Limitacions

L'acció Enviar sol·licitud a l'Admin API té les limitacions següents:

  • L'acció mostrarà una llista de Mutations i Mutation inputs de la versió de l'Admin API que utilitza Flow.
  • Quan es publiquen noves versions de l'API, aquesta acció podria fallar si utilitza una mutació o un camp que s'hagi modificat o quedat obsolet.
  • L'acció no és compatible amb les consultes de GraphQL, només amb les mutacions.
  • L'acció no admet mutacions que hagin quedat obsoletes.
  • L'acció no admet algunes mutacions que són específiques per a determinades aplicacions, incloses algunes mutacions de subscripcions, d'activitats de màrqueting i de descomptes.
  • L'acció no admet mutacions asíncrones o mutacions que retornin un tipus Job.
  • L'acció no admet mutacions que no implementen la interfície Node.

Plantilles

Afegeix un article gratuït (amb un descompte del 100 %) a les noves comandes

Aquesta plantilla afegeix un article gratuït, amb descompte, a les noves comandes si l'article està en estoc. Comprova l'estoc, aplica un descompte del 100 % i actualitza la comanda sense notificar-ho al client. Aquesta automatització seria útil per a (1) millorar la satisfacció del client en incloure un article gratuït sorpresa a la seva comanda, (2) promocionar productes nous o menys coneguts afegint-los com a mostres gratuïtes a les comandes, o (3) agilitzar les promocions automatitzant la inclusió i l'aplicació de descomptes als articles gratuïts. Mostra la plantilla

Permet fer comandes per a les empreses creades a partir de sol·licituds de comptes d'empresa

Assigna un permís per fer comandes quan es crea una empresa a partir d'una sol·licitud de compte d'empresa. Mostra la plantilla

Canvia la plantilla del producte quan les variants es queden sense estoc o hi torna a haver estoc

Actualitza la plantilla d'un producte basant-se en l'estoc de les variants del producte. El flux de treball et permet canviar entre plantilles de productes amb estoc (la plantilla predeterminada de la botiga), productes sense estoc i quan una variant o més es queden sense estoc. Mostra la plantilla

Prepara qualsevol article digital d'una comanda

Prepara qualsevol article que no requereixi una entrega física, com ara els articles digitals, o bé que coincideixi amb una llista d'SKU. S'executa una vegada per a cada centre de preparació de comandes (la "comanda de preparació") d'una comanda nova. Mostra la plantilla