Invia richiesta Admin API
L’azione Invia richiesta Admin API può utilizzare la maggior parte delle mutazioni nella GraphQL Admin API per apportare modifiche al tuo negozio, incluse le mutazioni non ancora disponibili come azioni in Flow.
In questa pagina
Campi
L'azione Invia richiesta Admin API contiene i seguenti campi.
| Campo | Descrizione |
|---|---|
| Mutazione | Obbligatorio. La mutazione GraphQL Admin di Shopify che desideri chiamare. Una mutazione è un’API che esegue un’azione o aggiorna i dati. |
| Input della mutazione | Obbligatorio. I dati (in JSON) che devi inviare come parte della tua richiesta di mutazione. Ogni mutazione richiede un diverso set di dati, documentato nel link fornito per ciascuna mutazione. Per costruire il JSON necessario, puoi usare Liquid o un'azione Esegui codice. |
Trigger
L'azione Invia richiesta Admin API può essere utilizzata in qualsiasi flusso di lavoro, con qualsiasi trigger, a condizione che il flusso di lavoro fornisca i dati necessari per costruire gli input della mutazione.
Esempi
Esempio 1: aggiorna il modello utilizzato per un prodotto
In questo esempio, useremo l'azione Invia richiesta Admin API per chiamare la mutazione productUpdate per aggiornare il modello utilizzato per un prodotto.
Il campo id è obbligatorio e deve essere un GID di prodotto valido. Qui lo impostiamo con la variabile Liquid {{product.id}}. Questo presuppone che il tuo flusso di lavoro abbia un trigger che fornisce un oggetto prodotto.
templateSuffix è il nome del modello che desideri applicare al prodotto. Ad esempio, se desideri applicare il modello pre-order, devi impostare templateSuffix su pre-order.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}Esempio 2: aggiorna lo stato di esenzione fiscale di un cliente
In questo esempio, useremo l'azione Invia richiesta Admin API per chiamare la mutazione customerUpdate per aggiornare lo stato di esenzione fiscale di un cliente.
Il campo id è obbligatorio e deve essere un GID cliente valido. Qui lo impostiamo con la variabile Liquid {{order.customer.id}}. Questo presuppone che il tuo flusso di lavoro abbia un trigger che fornisce un oggetto ordine.
Il campo taxExempt è un valore booleano che indica se il cliente è esente da imposte. In questo esempio, lo impostiamo su true.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}Esempio 3: aggiorna le impostazioni locali di un cliente
In questo esempio, useremo l'azione Invia richiesta Admin API per chiamare la mutazione customerUpdate per aggiornare le impostazioni locali di un cliente.
Il campo id è obbligatorio e deve essere un GID cliente valido. Qui lo impostiamo con la variabile Liquid {{customer.id}}. Questo presuppone che il tuo flusso di lavoro abbia un trigger che fornisce un oggetto cliente.
Il campo locale è una stringa che rappresenta le impostazioni locali del cliente. In questo esempio, lo impostiamo su en.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Suggerimenti su Liquid
Flow supporta un filtro Liquid json che può essere utile per costruire l'input. I seguenti esempi utilizzano tutti la mutazione customerUpdate e presuppongono che il tuo flusso di lavoro abbia un trigger che fornisce un oggetto cliente.
Utilizzo delle stringhe
L’esempio seguente aggiorna la nota su un cliente:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}Il filtro json esegue l'escape della stringa per garantire un formato JSON corretto. Ciò restituisce il seguente JSON dopo l'esecuzione del flusso di lavoro:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}Utilizzo degli array
Esempio di array
Il filtro json trasforma un array Liquid in un array JSON. L'esempio seguente restituisce un array JSON quando viene fornito un array Liquid:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}Ciò restituisce il seguente JSON dopo l'esecuzione del flusso di lavoro:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}Esempio di ciclo "for"
L’esempio seguente utilizza un ciclo per restituire gli elementi di un array, separati da virgole:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}Ciò restituisce il seguente JSON durante l'esecuzione del flusso di lavoro:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Esempio di “map”
Il filtro map può essere utilizzato per ottenere un array di una proprietà specifica da un array di oggetti. Nell'esempio seguente, un array di proprietà city viene estratto da un array di indirizzi dei clienti:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}Ciò restituisce il seguente JSON dopo l'esecuzione del flusso di lavoro:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}Limitazioni
L'azione Invia richiesta Admin API presenta le seguenti limitazioni:
- L'azione mostrerà un elenco di
mutazionieinput della mutazionedalla versione dell'Admin API utilizzata da Flow. - Quando vengono rilasciate nuove versioni dell'API, questa azione potrebbe non riuscire se utilizza una mutazione o un campo che è stato modificato o reso obsoleto.
- L'azione non supporta le query GraphQL, ma solo le mutazioni.
- L'azione non supporta le mutazioni che sono state rese obsolete.
- L'azione non supporta alcune mutazioni specifiche di determinate app, incluse alcune mutazioni relative ad abbonamenti, attività di marketing e sconti.
- L'azione non supporta le mutazioni asincrone o le mutazioni che restituiscono un tipo
Job. - L'azione non supporta le mutazioni che non implementano l'interfaccia Node.
Modelli
Aggiungi articolo gratuito (scontato al 100%) ai nuovi ordini
Questo modello aggiunge un articolo gratuito scontato ai nuovi ordini se l’articolo è disponibile in magazzino. Controlla le scorte, applica uno sconto del 100% e aggiorna l’ordine senza avvisare il cliente. Questa automazione può essere utile per (1) migliorare la soddisfazione del cliente includendo un articolo gratuito a sorpresa nel suo ordine, (2) promuovere prodotti nuovi o meno conosciuti aggiungendoli come campioni gratuiti agli ordini o (3) ottimizzare le promozioni automatizzando l’inclusione e lo sconto degli articoli gratuiti. Visualizza modello
Consenti di effettuare ordini per le aziende create tramite richieste di account aziendale
Assegna un’autorizzazione all’ordine quando viene creata un’azienda da una richiesta di account aziendale. Visualizza modello
Modifica il modello di prodotto quando le varianti sono esaurite o di nuovo disponibili
Aggiorna un modello di prodotto in base alle scorte delle sue varianti. Il flusso di lavoro consente di alternare i modelli per i prodotti disponibili (il modello predefinito del negozio), per i prodotti esauriti e per quando una o più varianti sono esaurite. Visualizza modello
Evadi eventuali articoli digitali in un ordine
Evade tutti gli articoli che non richiedono la consegna fisica, come gli articoli digitali, o che corrispondono a un elenco di SKU. Viene eseguito una volta per ogni sede di evasione (l’“ordine di evasione”) per un nuovo ordine. Visualizza modello