Lähetä Admin API -pyyntö

Lähetä Admin API -pyyntötoiminto lähettää mutaation Shopify GraphQL Admin API:lle. Tämän ansiosta voit suorittaa lähes minkä tahansa toiminnon, jonka API sallii Flow'n kautta.

Kentät

Lähetä Admin API -pyyntö ‑toiminto sisältää seuraavat kentät:

Lähetä Admin API -pyyntötoiminnossa käytetyt kentät.
KenttäKuvaus
MuuntoPakollinen. Shopify GraphQL Admin -mutaatio, jolle haluat lähettää kutsun. Mutaatio on API, joka toteuttaa toiminnon tai päivittää tietoja.
Mutaation syötteetPakollinen. Tiedot (JSON-muodossa), jotka sinun on lähetettävä osana mutaatiopyyntöä. Jokainen mutaatio edellyttää eri tietojoukkoa, joka on kuvailtu kunkin mutaation linkissä. Voit luoda tarvittavan JSON-tiedoston käyttämällä Liquidia tai Suorita koodi -toimintoa.

Käynnistimet

Lähetä Admin API -pyyntötoimintoa voidaan käyttää missä tahansa työnkulussa minkä tahansa käynnistimen kanssa, kunhan työnkulussa on mutaation syötteiden muodostamisessa tarvittavat tiedot.

Esimerkit

Esimerkki 1: Tuotteelle käytettävän mallin päivittäminen

Tässä esimerkissä käytetään Send Admin API -pyyntötoimintoa kutsumaan productUpdate -muuntoa tuotteessa käytetyn mallin päivittämiseksi.

id-kenttä on pakollinen, ja sen on oltava kelvollinen tuotteen GID. Tässä sille asetetaan {{product.id}}-liquid-muuttuja. Esimerkissä oletetaan, että työnkulussa on käynnistin, joka tuo tuoteobjektin.

Tuotteeseen sovellettavan mallin nimi ontemplateSuffix. Jos esimerkiksi haluat käyttää pre-order-mallia, aseta templateSuffixin arvoksi pre-order.

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

Esimerkki 2: Asiakkaan verovapautuksen tilan päivitys

Tässä esimerkissä käytetään Send Admin API -pyyntötoimintoa kutsumaan customerUpdate-muuntoa asiakkaan verovapautuksen tilan päivittämiseksi.

Kenttä id on pakollinen, ja sen on oltava kelvollinen asiakaan GID. Tässä sille asetetaan {{order.customer.id}}-Liquid-muuttuja. Esimerkki olettaa, että työnkulussa on käynnistin, joka tuo tilausobjektin.

Kenttä taxExempt on boolean-arvo, joka ilmaisee, onko asiakas vapautettu verosta. Tässä esimerkissä sen arvoksi asetetaan true.

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

Esimerkki 3: Asiakkaan alueen päivittäminen

Tässä esimerkissä käytetään Send Admin API -pyyntötoimintoa kutsumaan customerUpdate-muuntoa asiakkaan kielialueen päivittämiseksi.

id-kenttä on pakollinen, ja sen on oltava kelvollinen asiakkaan GID. Tässä sille asetetaan {{customer.id}}-liquid-muuttuja. Esimerkissä oletetaan, että työnkulussa on käynnistin, joka tuo asiakasobjektin.

Kenttä locale on merkkijono, joka edustaa asiakkaan aluetta. Tässä esimerkissä sen arvoksi asetetaan en.

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

Liquid-vinkit

Flow tukee json liquid-suodatinta, joka voi olla hyödyllinen syötteen muodostamisessa. Seuraavissa esimerkeissä käytetään muunnostacustomerUpdate ja oletetaan, että työnkulussa on käynnistin, joka tarjoaa asiakasobjektin.

Merkkijonojen käyttö

Seuraava esimerkki päivittää asiakkaan huomautuksen:

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

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

Suodatin json poistuu merkkijonosta ja varmistaa, että JSON on oikein. Tämä johtaa seuraavaan JSON:iin työnkulun suorittamisen jälkeen:

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

Matriisien käyttö

Matriisiesimerkki

Suodatin json muuttaa liquid-matriisin JSON-matriisiksi. Seuraava esimerkki tulostaa JSON-matriisin, kun se toimitetaan liquid-matriisin mukana:

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

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

Tämä johtaa seuraavaan JSON:iin työnkulun suorittamisen jälkeen:

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

Esimerkki for-silmukasta

Seuraava esimerkki käyttää silmukkaa matriisin elementtien tulosta varten, elementit erotellaan pilkuilla:

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

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": [
      {% for tag in tags %}
        "{{ tag }}"{% unless forloop.last %},{% endunless %}
      {% endfor %}
    ]
  }
}

Tämä johtaa seuraavaan JSON:iin työnkulun ollessa käynnissä:

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

Karttaesimerkki

Karttasuodattimen avulla saat tietyn ominaisuuden joukon objekteja. Seuraavassa esimerkissä on poimittu city -ominaisuuksia asiakkaiden ominaisuuksista:

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

Tämä johtaa seuraavaan JSON:iin työnkulun suorittamisen jälkeen:

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

Rajoitukset

Lähetä Admin API -pyyntötoimintoon liittyy seuraavia rajoituksia:

  • Toiminto näyttää Shopify Admin APIn 2024-04-version Mutations- ja Mutation inputs -luettelon.
  • Kun Admin API -versio on päivitetty, tämä toiminto voi epäonnistua, jos se käyttää kenttää, jossa on häiriötä aiheuttava muutos.
  • Toiminto ei tue GraphQL-kyselyjä, ainoastaan mutaatioita.
  • Toiminto ei tue vanhentuneita mutaatioita.
  • Toiminto ei tue tiettyjä sovelluskohtaisia mutaatioita, kuten tilaus-, markkinointitoiminta- ja alennusmutaatioita.
  • Toiminto ei tue asynkronisia mutaatioita tai mutaatioita, jotka palauttavat Job-tyypin.
  • Toiminto ei tue mutaatioita, joissa ei ole toteutettu Node-käyttöliittymää.
Etkö löydä hakemaasi vastausta? Autamme mielellämme.