Enviar solicitude da Admin API

A acción Enviar solicitude da Admin API pode usar a maioría de mutacións da GraphQL Admin API para facer cambios na túa tenda, o que inclúe mutacións aínda non dispoñibles como accións en Flow.

Campos

A acción Enviar solicitude da Admin API contén os seguintes campos.

Campos usados na acción Enviar solicitude da Admin API.
CampoDescrición
MutaciónObrigatorio. A mutación de GraphQL Admin de Shopify á que queres chamar. Unha mutación é unha API que realiza unha acción ou actualiza os datos.
Entradas da mutaciónObrigatorio. Os datos (en JSON) que debes enviar como parte da túa solicitude de mutación. Cada mutación precisa un conxunto diferente de datos, que se documenta na ligazón proporcionada para cada mutación. Para construír o JSON necesario, podes usar Liquid ou unha acción Run code.

Activadores

A acción Enviar solicitude da Admin API pode usarse en calquera fluxo de traballo, con calquera activador, sempre e cando o fluxo de traballo proporcione os datos necesarios para crear as entradas da mutación.

Exemplos

Exemplo 1: actualizar o modelo usado para un produto

Neste exemplo, usaremos a acción Enviar solicitude da Admin API para chamar á mutación productUpdate co fin de actualizar o modelo usado para un produto.

O campo id é obrigatorio e ten que ser un GID de produto válido. Aquí, definímolo coa variable de Liquid {{product.id}}. Isto asume que o teu fluxo de traballo ten un activador que proporciona un obxecto de produto.

O templateSuffix é o nome do modelo que queres aplicar ao produto. Por exemplo, se queres aplicar o modelo pre-order, tes que definir o templateSuffix como pre-order.

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

Exemplo 2: actualizar o estado de exención fiscal dun cliente

Neste exemplo, usaremos a acción Enviar solicitude da Admin API para chamar á mutación customerUpdate co fin de actualizar o estado de exención fiscal dun cliente.

O campo id é obrigatorio e ten que ser un GID de cliente válido. Aquí, definímolo coa variable de Liquid {{order.customer.id}}. Isto asume que o teu fluxo de traballo ten un activador que proporciona un obxecto de pedido.

O campo taxExempt é un booleano que indica se o cliente está exento de impostos. Neste exemplo, definímolo como true.

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

Exemplo 3: actualizar a configuración rexional dun cliente

Neste exemplo, usaremos a acción Enviar solicitude da Admin API para chamar á mutación customerUpdate co fin de actualizar a configuración rexional dun cliente.

O campo id é obrigatorio e ten que ser un GID de cliente válido. Aquí, definímolo coa variable de Liquid {{customer.id}}. Isto asume que o teu fluxo de traballo ten un activador que proporciona un obxecto de cliente.

O campo locale é unha cadea que representa a configuración rexional do cliente. Neste exemplo, definímolo como en.

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

Consellos de Liquid

Flow admite un filtro de Liquid json que pode ser útil para construír a entrada. Os seguintes exemplos usan a mutación customerUpdate e asumen que o teu fluxo de traballo ten un activador que proporciona un obxecto de cliente.

Traballar con cadeas

O seguinte exemplo actualiza a nota dun cliente:

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

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

O filtro json escapa a cadea para garantir que o formato JSON sexa correcto. Isto xera o seguinte JSON tras a execución do fluxo de traballo:

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

Traballar con matrices

Exemplo de matriz

O filtro json transforma unha matriz de Liquid nunha matriz JSON. O seguinte exemplo devolve unha matriz JSON ao proporcionarlle unha matriz de Liquid:

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

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

Isto xera o seguinte JSON tras a execución do fluxo de traballo:

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

Exemplo de bucle For

O seguinte exemplo usa un bucle para devolver os elementos dunha matriz, separados por comas:

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

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

Isto xera o seguinte JSON cando se executa o fluxo de traballo:

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

Exemplo de map

O filtro map pódese usar para obter unha matriz dunha propiedade específica a partir dunha matriz de obxectos. No seguinte exemplo, extráese unha matriz de propiedades city dunha matriz de enderezos de clientes:

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

Isto xera o seguinte JSON tras a execución do fluxo de traballo:

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

Limitacións

A acción Enviar solicitude da Admin API ten as seguintes limitacións:

  • A acción mostrará unha lista de Mutations e Mutation inputs da versión da Admin API que usa Flow.
  • Cando se publiquen novas versións da API, esta acción podería fallar se usa unha mutación ou campo que se cambiou ou que quedou obsoleto.
  • A acción non admite consultas de GraphQL, só mutacións.
  • A acción non admite mutacións que quedaron obsoletas.
  • A acción non admite algunhas mutacións que son específicas de determinadas aplicacións, incluídas algunhas mutacións de subscrición, actividades de márketing e descontos.
  • A acción non admite mutacións asíncronas nin mutacións que devolven un tipo Job.
  • A acción non admite mutacións que non implementen a interface Node.

Modelos

Engadir un artigo gratis (100 % de desconto) aos novos pedidos

Este modelo engade un artigo gratis con desconto aos novos pedidos se o artigo está en stock. Comproba o inventario, aplica un desconto do 100 % e actualiza o pedido sen avisar o cliente. Esta automatización sería útil para (1) mellorar a satisfacción do cliente ao incluír un artigo gratis sorpresa no seu pedido, (2) promocionar produtos novos ou menos coñecidos engadíndoos como mostras gratuítas nos pedidos ou (3) axilizar as promocións mediante a automatización da inclusión e o desconto de artigos gratis. Ver modelo

Permitir facer pedidos ás empresas creadas mediante solicitudes de conta de empresa

Asignar un permiso para facer pedidos cando se crea unha empresa mediante unha solicitude de conta de empresa. Ver modelo

Cambiar o modelo do produto cando as variantes estean esgotadas ou volvan estar en stock

Actualiza un modelo de produto en función do inventario para as variantes do produto. O fluxo de traballo permíteche cambiar entre os modelos para cando está en stock (o modelo predeterminado da tenda), cando está esgotado e cando unha ou máis variantes están esgotadas. Ver modelo

Preparar calquera artigo dixital nun pedido

Prepara os artigos que non requiren unha entrega física, como os artigos dixitais, ou que coinciden cunha lista de SKU. Execútase unha vez por cada localización de preparación de pedidos (o 'pedido de preparación') para un pedido novo. Ver modelo