Send anmodning til Admin API
Handlingen Send anmodning til Admin API 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.
Felter
Handlingen Send anmodning til Admin API indeholder følgende felter.
| Felt | Beskrivelse |
|---|---|
| Mutation | Påkrævet. Den Shopify GraphQL Admin-mutation, du vil kalde. En mutation er en API, der udfører handlinger eller opdaterer data. |
| Indtastninger for mutation | Påkrævet. De data (i JSON), som du skal sende som en del af din mutationsanmodning. Hver mutation kræver et forskelligt sæt data, hvilket er dokumenteret i det link, der er angivet for hver mutation. Du kan bruge Liquid eller en handling til at køre kode til at opbygge den nødvendige JSON. |
Udløsere
Handlingen Send anmodning til Admin API kan bruges i enhver arbejdsgang, med enhver udløser, så længe arbejdsgangen leverer de nødvendige data til at opbygge indtastningerne for mutationen.
Eksempler
Eksempel 1: Opdater den skabelon, der bruges til et produkt
I dette eksempel bruger vi handlingen Send anmodning til Admin API til at kalde productUpdate-mutationen 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 angiver vi det med Liquid-variablen {{product.id}}. Dette forudsætter, at din arbejdsgang 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 pre-order-skabelonen, 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 anmodning til Admin API til at kalde customerUpdate-mutationen for at opdatere en kundes status for skattefritagelse.
Feltet id er påkrævet og skal være et gyldigt kunde-GID. Her angiver vi det med Liquid-variablen {{order.customer.id}}. Dette forudsætter, at din arbejdsgang har en udløser, der leverer et ordreobjekt.
Feltet taxExempt er en boolesk værdi, der angiver, om kunden er skattefritaget. I dette eksempel angiver vi den til true.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}Eksempel 3: Opdater en kundes landestandard
I dette eksempel bruger vi handlingen Send anmodning til Admin API til at kalde customerUpdate-mutationen for at opdatere en kundes landestandard.
Feltet id er påkrævet og skal være et gyldigt kunde-GID. Her angiver vi det med Liquid-variablen {{customer.id}}. Dette forudsætter, at din arbejdsgang har en udløser, der leverer et kundeobjekt.
Feltet locale er en streng, der repræsenterer kundens landestandard. I dette eksempel angiver vi den til en.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Liquid-tip
Flow understøtter et json Liquid-filter, der kan være nyttigt til at opbygge indtastningen. Følgende eksempler bruger alle customerUpdate-mutationen og antager, at din arbejdsgang har en udløser, der leverer et kundeobjekt.
Arbejde med strenge
Følgende eksempel opdaterer noten for en kunde:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}json-filtret escaper strengen for at sikre korrekt JSON. Dette resulterer i følgende JSON, efter at arbejdsgangen kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}Arbejde med arrays
Eksempel på array
json-filtret transformerer et Liquid-array til et JSON-array. Følgende eksempel udsender et JSON-array, når det forsynes med et Liquid-array:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}Dette resulterer i følgende JSON, efter at arbejdsgangen kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}Eksempel på For loop
Følgende eksempel bruger et loop til at udsende elementerne i et array, 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 arbejdsgangen kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Eksempel på map
map-filtret kan bruges til at hente et array med en specifik egenskab fra et array af objekter. I følgende eksempel udtrækkes et array af city-egenskaber fra et array af kundeadresser:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}Dette resulterer i følgende JSON, efter at arbejdsgangen kører:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}Begrænsninger
Handlingen Send anmodning til Admin API har følgende begrænsninger:
- Handlingen viser en liste over
MutationerogIndtastninger for mutationfra den Admin API-version, der bruges af Flow. - Når der udgives nye API-versioner, kan denne handling mislykkes, hvis den bruger en mutation eller et felt, der er blevet ændret eller udfaset.
- Handlingen understøtter ikke GraphQL-forespørgsler, kun mutationer.
- Handlingen understøtter ikke mutationer, der er blevet udfaset.
- Handlingen understøtter ikke visse mutationer, der er specifikke for bestemte apps, herunder nogle mutationer for abonnementer, marketingaktiviteter og rabatter.
- Handlingen understøtter ikke asynkrone mutationer eller mutationer, der returnerer en
Job-type. - Handlingen understøtter ikke mutationer, der ikke implementerer Node-grænsefladen.
Skabeloner
Tilføj en gratis vare (med 100 % rabat) til nye ordrer
Denne skabelon tilføjer en gratis vare med rabat til nye ordrer, hvis varen er på lager. Den tjekker lagerbeholdningen, anvender 100 % rabat og opdaterer ordren uden at give kunden besked. Denne automatisering kan være nyttig til at (1) øge kundetilfredsheden ved at inkludere en gratis overraskelsesvare i deres ordre, (2) promovere nye eller mindre kendte produkter ved at tilføje dem som gratis vareprøver i ordrer eller (3) til at strømline kampagner ved at automatisere inkluderingen af og rabatten på gratis varer. Se skabelon
Tillad bestilling for firmaer oprettet via anmodninger om firmakonto
Tildel en bestillingstilladelse, når et firma oprettes via en anmodning om en firmakonto. 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, alt efter om varen er på lager (butikkens standardskabelon), ikke er på lager, eller når en eller flere varianter ikke er på lager. Se skabelon
Klargør alle digitale varer i en ordre
Klargør alle varer, der ikke kræver fysisk levering, f.eks. digitale varer, eller som matcher en liste over SKU'er. Kører én gang for hver klargøringslokation (klargøringsordren) for en ny ordre. Se skabelon