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.

Felter

Handlingen Send Admin API-anmodning indeholder følgende felter.

Felter, der bruges i handlingen “Send Admin API-anmodning”.
FeltBeskrivelse
MutationPå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.
MutationsinputsPå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 og Mutation 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

Kan du ikke finde de svar, du leder efter? Vi er her for at hjælpe.