Send Admin API-anmodning
Handlingen Send Admin API-anmodning kan bruge de fleste mutationer i GraphQL Admin API til at foretage ændringer i din butik, herunder mutationer, der endnu ikke er tilgængelige som handlinger i Flow.
På denne side
Felter
Handlingen Send Admin API-anmodning indeholder følgende felter.
Felt | Beskrivelse |
---|---|
Mutation | Påkrævet. Den Shopify GraphQL Admin-mutation, du vil foretage et kald til. En mutation er en API, der udfører handlinger eller opdaterer data. |
Mutationsinputs | Påkrævet. De data (i JSON-format), du skal sende som en del af din mutationsanmodning. Hver mutation kræver et forskelligt datasæt, som er dokumenteret i det link, der er angivet for hver mutation. Du kan bruge Liquid eller en “Kør kode”-handling til at oprette det nødvendige JSON-format. |
Triggere
Handlingen Send Admin API-anmodning kan bruges i alle workflows og med alle udløsere, så længe workflowet angiver de data, der er nødvendige for at kunne oprette mutationsinputtene.
Eksempler
Eksempel 1: Opdater den skabelon, der bruges til et produkt
I dette eksempel bruger vi handlingen Send Admin API-anmodning til at kalde mutationen productUpdate
for at opdatere den skabelon, der bruges til et produkt.
Feltet id
er påkrævet og skal være et gyldigt produkt-GID. Her indstiller vi det med Liquid-variablen {{product.id}}
. Dette forudsætter, at dit workflow har en udløser, der leverer et produktobjekt.
templateSuffix
er navnet på den skabelon, du vil anvende på produktet. Hvis du f.eks. vil anvende skabelonen pre-order
, skal du angive templateSuffix til pre-order
.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}
Eksempel 2: Opdater en kundes status for skattefritagelse
I dette eksempel bruger vi handlingen Send Admin API-anmodning til at kalde mutationen customerUpdate
for at opdatere en kundes status for skattefritagelse.
Feltet id
er påkrævet og skal være et gyldigt kunde-GID. Her indstiller vi det med Liquid-variablen {{order.customer.id}}
. Dette forudsætter, at dit workflow har en udløser, der angiver et ordreobjekt.
Feltet taxExempt
er en boolesk værdi, der angiver, om kunden er fritaget for skat. I dette eksempel indstiller vi den til true
.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}
Eksempel 3: Opdater en kundes landestandard
I dette eksempel bruger vi handlingen Send Admin API-anmodning til at kalde mutationen customerUpdate
for at opdatere en kundes landestandard.
Feltet id
er påkrævet og skal være et gyldigt kunde-GID. Her indstiller vi det med Liquid-variablen {{customer.id}}
. Dette forudsætter, at dit workflow har en udløser, der leverer et kundeobjekt.
Feltet locale
er en streng, der repræsenterer kundens landestandard. I dette eksempel indstiller vi den til en
.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}
Liquid-tips
Flow understøtter et json
Liquid-filter, som kan være nyttigt ved opbygning af input. Følgende eksempler bruger alle mutationen customerUpdate
og forudsætter, at dit workflow har en udløser, der indeholder et kundeobjekt.
Arbejde med strenge
Det følgende eksempel opdaterer bemærkningen om en kunde:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}
Filteret json
slipper ud af strengen for at sikre, at JSON er korrekt. Dette resulterer i følgende JSON, når workflowet kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}
Arbejde med matrixer
Eksempel på matrix
Filteret json
omdanner en Liquid-matrix til en JSON-matrix. Følgende eksempel giver en JSON-matrix, når den leveres med en Liquid-matrix:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}
Dette resulterer i følgende JSON, når workflowet kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}
Til Loop-eksemple
Det følgende eksempel bruger en loop til at give elementerne i en matrix adskilt af kommaer:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}
Dette resulterer i følgende JSON, når workflowet kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}
Eksempel på kort
Filteret map kan bruges til at få en matrix af en bestemt egenskab fra en række objekter. I det følgende eksempel udtrækkes en matrix af city
egenskaber fra en række kundeadresser:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}
Dette resulterer i følgende JSON, når workflowet kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}
Begrænsninger
Handlingen Send Admin API-anmodningen har følgende begrænsninger:
- Handlingen viser en liste over
Mutations
ogMutation inputs
fra den version af Admin API, Flow bruger. - Når nye API-versioner frigives, kan denne handling mislykkes, hvis du bruger en mutation eller et felt, der er blevet ændret eller er forældet.
- Handlingen understøtter ikke GraphQL-forespørgsler, kun mutationer.
- Handlingen understøtter ikke mutationer, der er blevet udfaset.
- Handlingen understøtter ikke nogle mutationer, der er specifikke for bestemte apps, herunder nogle mutationer for abonnement, markedsføringsaktivitet og rabat.
- Handlingen understøtter ikke asynkrone mutationer eller mutationer, der returnerer en
Job
-type. - Handlingen understøtter ikke mutationer, der ikke implementerer grænsefladen Node .
Skabeloner
Føj en gratis vare (100 % rabat) til nye ordrer
Denne skabelon føjer en gratis vare med rabat til nye ordrer, hvis varen er på lager. Den tjekker lagerbeholdningen, pålægger en rabat på 100 % og opdaterer ordren uden at underrette kunden. Denne automatisering er nyttig til at (1) forbedre kundetilfredsheden ved at inkludere en gratis vare i deres ordre som en overraskelse, (2) promovere nye eller mindre kendte produkter ved at tilføje dem som gratis prøver i ordrerne, eller (3) strømline promoveringer ved at automatisere inkludering af – og rabat for – gratis varer. Se skabelon
Tillad bestilling for firmaer, der er oprettet ud fra firmakontoanmodninger
Tildel en ordretilladelse, når et firma oprettes ud fra en firmakontoanmodning. Se skabelon
Skift produktskabelon, når varianter ikke er på lager eller er på lager igen
Opdater en produktskabelon baseret på lagerbeholdningen for produktets varianter. Workflowet giver dig mulighed for at skifte mellem skabeloner til lager (butikkens standardskabelon), ikke på lager, og når én eller flere varianter ikke er på lager. Se skabelon
Klargør eventuelle digitale varer i en ordre
Klargør eventuelle varer uden påkrævet fysisk levering, som f.eks. digitale varer, eller varer, som matcher en liste med SKU'er. Kører én gang for hver klargøringslokation (“klargøringsordren”) for en ny ordre. Se skabelon