Send Admin API-anmodning

Handlingen Send Admin API-anmodning sender en mutation til Shopify GraphQL Admin API’en. Hvis du bruger denne, kan du udføre næsten alle handlinger, som API’en tillader, ved hjælp af 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 Shopify Admin API-version 2024-04.
  • Når Admin API-versionen opgraderes, kan denne handling mislykkes, hvis du bruger et felt, der har en ødelæggende ændring.
  • 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 .
Kan du ikke finde de svar, du leder efter? Vi er her for at hjælpe.