Send en Admin API-forespørsel

Handlingen Send forespørsel til administratorpanel-API kan bruke de fleste mutasjoner i GraphQL Admin API for å gjøre endringer i butikken, inkludert mutasjoner som ennå ikke er tilgjengelige som handlinger i Flow.

Felter

Handlingen Send Admin API-forespørsel inneholder følgende felter.

Felter som brukes i handlingen Send en Admin API-forespørsel.
FeltBeskrivelse
MutasjonPåkrevd. Shopify GraphQL Admin-mutasjonen du ønsker å anrope. En mutasjon er et API som utfører en handling eller oppdaterer data.
MutasjonsinngangerPåkrevd. Dataene (i JSON) som du må sende som en del av mutasjonsforespørselen. Hver mutasjon krever ulike datasett, som er dokumentert i den oppgitte koblingen for hver mutasjon. Du kan bruke Liquid eller en handling for å kjøre kode for å sette sammen den nødvendige JSON-koden.
## Utløsere {#triggers}

Handlingen Send en Admin API-forespørsel kan brukes i en hvilken som helst arbeidsflyt, med en hvilken som helst utløser, så lenge arbeidsflyten leverer de nødvendige dataene for å sette sammen mutasjonsinndataene.

Eksempler

Eksempel 1: Oppdater malen som brukes for et produkt

I dette eksempelet bruker vi handlingen Send en Admin API-forespørsel for å anrope mutasjonen productUpdate og oppdatere malen som brukes for et produkt.

Feltet id er obligatorisk, og må være en gyldig produkt-GID. Her angir vi det med Liquid-variabelen {{product.id}}. Dette antar at arbeidsflyten har en utløser som returnerer et produktobjekt.

templateSuffix er navnet på malen du ønsker å legge til for produktet. Hvis du for eksempel ønsker å bruke malen pre-order, angir du templateSuffix til pre-order.

{
  "input": {
    "templateSuffix": "pre-order",
    "id": "{{product.id}}"
  }
}

Eksempel 2: Oppdater skattefritaksstatusen for en kunde

I dette eksempelet bruker vi handlingen Send en Admin API-forespørsel for å anrope mutasjonen customerUpdate og oppdatere skattefritaksstatusen for en kunde.

Feltet id er obligatorisk, og må være en gyldig kunde-GID. Her angir vi det med Liquid-variabelen {{order.customer.id}}. Dette antar at arbeidsflyten har en utløser som returnerer et bestillingsobjekt.

Feltet taxExempt er en boolsk verdi, som indikerer hvorvidt kunden har skattefritak. I dette eksempelet angir vi det til true.

{
  "input": {
    "id": "{{order.customer.id}}",
    "taxExempt": true
  }
}

Eksempel 3: Oppdater lokale innstillinger for en kunde

I dette eksempelet bruker vi handlingen Send Admin API-forespørsel for å anrope mutasjonen customerUpdate og oppdatere lokale innstillinger for en kunde.

Feltet id er obligatorisk, og må være en gyldig kunde-GID. Her angir vi det med Liquid-variabelen {{customer.id}}. Dette antar at arbeidsflyten har en utløser som returnerer et kundeobjekt.

Feltet locale er en streng, som representerer kundens lokale innstillinger. I dette eksempelet angir vi det til en.

{
  "input": {
    "id": "{{customer.id}}",
    "locale": "en"
  }
}

Liquid-tips

Flow støtter liquid-filteret json, som kan være nyttig for å konstruere inndata. Følgende eksempler bruker mutasjonen customerUpdate, og antar at arbeidsflyten har en utløser som returnerer et kundeobjekt.

Jobbe med strenger

Følgende eksempel oppdaterer merknaden om en kunde:

{% assign revisedNote = customer.note | append: " Hello from Flow!" %}

{
  "input": {
    "id": "{{ customer.id }}",
    "note": {{ revisedNote | json }},
  }
}

Filteret json legger inn unntakstegn i strengen for å sikre riktig JSON. Dette resulterer i følgende JSON når arbeidsflyten har kjørt:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "note": "Had a \"great experience\" with their latest order. Hello from Flow!",
  }
}

Jobbe med matriser

Eksempel på en matrise

Filteret json forvandler en liquid-matrise til en JSON-matrise. Følgende eksempel returnerer en JSON-matrise når inndataene er en liquid-matrise:

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ tags | json }}
  }
}

Dette resulterer i følgende JSON når arbeidsflyten har kjørt:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["tag1","tag2","tag3"]
  }
}

Eksempler på for-looper

Følgende eksempel bruker en løkke for å returnere elementene i en matrise, adskilt med komma:

{% 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 arbeidsflyten kjører:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": [
        "tag1",
        "tag2",
        "tag3"
    ]
  }
}

Eksempel på map

Filteret map kan brukes til å hente en matrise for en bestemt egenskap fra en matrise med objekter. I følgende eksempel hentes en matrise med city-egenskaper fra en matrise med kundeadresser:

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ customer.addresses | map: "city" | json }}
  }
}

Dette resulterer i følgende JSON når arbeidsflyten har kjørt:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["Ottawa","Toronto"]
  }
}

Begrensninger

Handlingen Send en Admin API-forespørsel har følgende begrensninger:

  • Handlingen vil vise en liste over Mutations og Mutation inputs fra administrasjonspanel-API-versjonen som brukes av Flow.
  • Når nye API-versjoner gis ut, kan denne handlingen mislykkes hvis du bruker en mutasjon eller et felt som ble endret eller avviklet.
  • Handlingen støtter ikke GraphQL-spørringer, bare mutasjoner.
  • Handlingen støtter ikke avviklede mutasjoner.
  • Handlingen støtter ikke mutasjoner som er spesifikke for enkelte apper, inkludert noen abonnements-, markedsføringsaktivitets- og rabattmutasjoner.
  • Handlingen støtter ikke asynkrone mutasjoner eller mutasjoner som returnerer typen Job.
  • Handlingen støtter ikke mutasjoner som ikke implementerer Node-grensesnittet.

Maler

Legg til en gratis (100 % rabatt) vare i nye bestillinger

Denne malen legger til en gratis, rabattert vare i nye bestillinger hvis varen er på lager. Den sjekker lagerbeholdningen, benytter 100 % rabatt og oppdaterer bestillingen uten å varsle kunden. Denne automasjonen kan være nyttig for å (1) gi bedre kundetilfredshet ved å inkludere en gratis overraskelsesvare i bestillingen, (2) promotere nye eller mindre kjente produkter ved å legge dem til som gratisprøver i bestillinger, eller (3) for å forenkle kampanjer ved å automatisere inkluderingen og rabatteringen av gratisvarer. Vis mal

Tillat bestilling for bedrifter som er opprettet av bedriftskontoforespørsler

Tildel en bestillingstillatelse når en bedrift opprettes med en forespørsel om bedriftskonto. Vis mal

Endre produktmal når varianter ikke er på lager eller er tilbake på lager

Oppdater en produktmal basert på lagerbeholdningen for produktvariantene. Arbeidsflyten lar deg bytte mellom maler for på lager (butikkens standardmal), ikke på lager og når en eller flere varianter ikke er på lager. Vis mal

Oppfyll digitale varer i en bestilling

Oppfyller alle varer som ikke krever fysisk levering, for eksempel digitale varer, som matcher en liste over SKU-er. Kjører én gang for hvert oppfyllelsessted («oppfyllelsesbestillingen») for en ny bestilling. Vis mal

Finner du ikke svarene du leter etter? Vi er her for å hjelpe deg.