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.
En esta página
Campos
La acción Enviar solicitud de API Admin contiene los siguientes campos.
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:
- La acción mostrará una lista de
Mutations
yMutation inputs
de la versión de la API Shopify Admin2024-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