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.
Campo Descripción
Mutación Obligatorio. La mutación Shopify GraphQL Admin que deseas llamar. Una mutación es una API que ejecuta acciones o actualiza datos.
Entradas de mutación Obligatorio. 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:

  • No devuelve datos al entorno de Flow como resultado de la mutación.
  • No admite consultas de GraphQL, solo mutaciones.
  • No admite mutaciones asíncronas o que devuelvan un tipo Job.
  • La acción no admite mutaciones específicas de ciertas aplicaciones, incluidas las mutaciones de suscripciones y de descuento.
  • Mostrará una lista de Mutations y Mutation inputs de una sola versión de la API de Shopify, que actualmente es 2024-01.
  • Cuando la versión de la API se actualiza y contiene un cambio importante, puede hacer que esta acción falle si recurres a ese campo.

¿Estás listo/a para comenzar a vender con Shopify?

Prueba gratis