Enviar solicitud de API Admin

La acción Enviar solicitud de API Admin envía una mutación a la API Shopify GraphQL Admin. Al hacerlo, puedes realizar casi cualquier acción que la API permita al usar Flow.

Campos

La acción Enviar solicitud de API Admin contiene los siguientes campos.

Campos utilizados en la acción Enviar solicitud de API Admin.
CampoDescripción
MutaciónObligatorio. La mutación Shopify GraphQL Admin que deseas llamar. Una mutación es una API que ejecuta acciones o actualiza datos.
Entradas de mutaciónObligatorio. Los datos (en JSON) que debes enviar como parte de la solicitud de mutación. Cada mutación requiere un conjunto de datos diferente, que se documenta en el enlace proporcionado para cada mutación. Para construir el JSON necesario, puedes usar Liquid o la acción Ejecutar código.

Activadores

La acción Enviar solicitud de API Admin puede usarse en cualquier flujo de trabajo, con cualquier activador, siempre y cuando el flujo de trabajo proporcione los datos necesarios para construir las entradas de mutación.

Ejemplos

Ejemplo 1: Modifica la plantilla utilizada para un producto

En este ejemplo, usaremos la acción Enviar solicitud de API Admin para llamar a la mutación productUpdate a fin de actualizar la plantilla utilizada para un producto.

El campo id es obligatorio y debe ser un GID de producto válido. Aquí, lo establecemos con la variable {{product.id}} de Liquid. Este ejemplo supone que el flujo de trabajo tiene un activador que proporciona un objeto de producto.

templateSuffix es el nombre de la plantilla que deseas aplicar al producto. Por ejemplo, si deseas aplicar la plantilla pre-order, deberías establecer templateSuffix como pre-order.

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

Ejemplo 2: Actualiza el estado de exención de impuestos de un cliente

En este ejemplo, usaremos la acción Enviar solicitud de API Admin para llamar a la mutación customerUpdate a fin de actualizar la exención de impuestos de un cliente.

El campo id es obligatorio y debe ser un GID de cliente válido. Aquí, lo establecemos con la variable {{order.customer.id}} de Liquid. Este ejemplo supone que el flujo de trabajo tiene un activador que proporciona un objeto de pedido.

El campo taxExempt es un booleano que indica si el cliente está exento de impuestos. En este ejemplo, lo establecemos como true.

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

Ejemplo 3: Actualiza la configuración regional de un cliente

En este ejemplo, usaremos la acción Enviar solicitud de API Admin para llamar a la mutación customerUpdate a fin de actualizar la configuración regional de un cliente.

El campo id es obligatorio y debe ser un GID de cliente válido. Aquí, lo establecemos con la variable {{customer.id}} de Liquid. Este ejemplo supone que el flujo de trabajo tiene un activador que proporciona un objeto de cliente.

El campo locale es una cadena que representa la configuración regional del cliente. En este ejemplo, lo establecemos como en.

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

Consejos sobre Liquid

Flow admite un filtro de Liquidjson que puede ser útil para crear la entrada. Todos los ejemplos que se presentan a continuación usan la mutación customerUpdate y suponen que tu flujo de trabajo tiene un activador que proporciona un objeto de cliente.

Trabajar con cadenas

El siguiente ejemplo actualiza la nota en un cliente:

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

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

El filtro json escapa de la cadena para garantizar un JSON adecuado. Esto da como resultado el siguiente JSON después de que se ejecuta el flujo de trabajo:

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

Trabajar con matrices

Ejemplo de matriz

El filtro json transforma una matriz de Liquid en una matriz JSON. El siguiente ejemplo produce una matriz JSON cuando se le proporciona una matriz de Liquid:

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

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

Esto da como resultado el siguiente JSON después de que se ejecuta el flujo de trabajo:

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

Ejemplos de bucle For

El siguiente ejemplo usa un bucle para generar los elementos de una 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 %}
    ]
  }
}

El siguiente JSON se muestra cuando se ejecuta el flujo de trabajo:

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

Ejemplo de mapa

El filtro mapa se puede usar para obtener una matriz de una propiedad específica a partir de una matriz de objetos. En el siguiente ejemplo, se extrae una matriz de propiedades city a partir de una matriz de direcciones de clientes:

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

Esto da como resultado el siguiente JSON después de que se ejecuta el flujo de trabajo:

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

Limitaciones

La acción Enviar solicitud de API Admin tiene las siguientes limitaciones:

  • La acción mostrará una lista de Mutations y Mutation inputs de la versión de la API Shopify Admin 2024-04.
  • Cuando se actualiza la versión de esta API, puede producirse un error en la acción si se basa en un campo con un cambio importante.
  • No admite consultas de GraphQL, solo mutaciones.
  • La acción no admite las mutaciones que hayan quedado obsoletas.
  • La acción no admite algunas mutaciones específicas de determinadas aplicaciones, incluidas algunas mutaciones de suscripción, actividad de marketing y descuento.
  • No admite mutaciones asíncronas o que devuelvan un tipo Job.
  • La acción no admite mutaciones que no implementen la interfaz de Node.

Plantillas

Agregar artículos gratis (descuento del 100%) en pedidos nuevos

Esta plantilla agrega un artículo nuevo con descuento en pedidos nuevos si el artículo tiene existencias. Controla el inventario, aplica un descuento del 100% y actualiza el pedido sin notificar al cliente. Esta automatización puede ser útil para (1) mejorar la satisfacción del cliente al incluir un artículo gratis por sorpresa en su pedido, (2) promocionar productos nuevos o menos conocidos al agregarlos como muestras gratis en los pedidos o (3) agilizar las promociones mediante la automatización de la inclusión y el descuento de artículos gratis. Ver plantilla

Permitir la realización de pedidos para empresas creadas por solicitudes de cuenta de la empresa

Asigna un permiso de pedido cuando se crea una empresa mediante una solicitud de cuenta de la empresa. Ver plantilla

Cambiar la plantilla de producto cuando las variantes estén agotadas o cuando haya existencias de nuevo

Actualiza una plantilla de producto basada en el inventario de las variantes del producto. El flujo de trabajo te permite intercambiar plantillas para las existencias (la plantilla predeterminada de la tienda), existencias agotadas y cuando una o más variantes están agotadas. Ver plantilla

Preparar artículos digitales en un pedido

Prepara los artículos que no requieren entrega física, como artículos digitales, o que coinciden con una lista de SKU. Se ejecuta una vez para cada sucursal de logística (la "orden de preparación de pedidos") para un nuevo pedido. Ver plantilla

¿No encuentras las respuestas que estás buscando? Estamos aquí para ayudarte.