Pošalji zahtjev za Admin API

Radnja Pošalji zahtjev za Admin API može upotrijebiti većinu mutacija u GraphQL Admin API-ju za izmjene u vašoj trgovini, uključujući mutacije koje još nisu dostupne kao radnje u aplikaciji Flow.

Polja

Radnja Pošalji zahtjev za Admin API sadrži sljedeća polja.

Polja koja se upotrebljavaju u radnji slanja zahtjeva za Admin API.
PoljeOpis
MutacijaObavezno. Mutacija platforme Shopify GraphQL Admin koju želite pozvati. Mutacija je API koji poduzima radnju ili ažurira podatke.
Unosi mutacijeObavezno. Podaci (u formatu JSON) koje trebate poslati kao dio svog zahtjeva za mutaciju. Svaka mutacija zahtijeva drugačiji skup podataka, što je dokumentirano na poveznici navedenoj za svaku mutaciju. Za izradu potrebnog koda u formatu JSON možete upotrijebiti Liquid ili radnju pokretanja koda.

Pokretači

Radnja Pošalji zahtjev za Admin API može se upotrijebiti u bilo kojem tijeku rada s bilo kojim pokretačem, pod uvjetom da tijek rada pruža podatke potrebne za izradu unosa mutacije.

Primjeri

Primjer 1: Ažuriranje predloška koji se upotrebljava za proizvod

U ovom ćemo primjeru upotrijebiti radnju Pošalji zahtjev za Admin API za pozivanje mutacije productUpdate radi ažuriranja predloška koji se upotrebljava za proizvod.

Polje id obavezno je i mora biti važeći GID proizvoda. Ovdje ga postavljamo s pomoću varijable Liquid {{product.id}}. To pretpostavlja da vaš tijek rada ima pokretač koji pruža objekt proizvoda.

templateSuffix naziv je predloška koji želite primijeniti na proizvod. Na primjer, ako želite primijeniti predložak pre-order, postavit ćete templateSuffix na pre-order.

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

Primjer 2: Ažuriranje statusa oslobođenja od poreza korisnika

U ovom ćemo primjeru upotrijebiti radnju Pošalji zahtjev za Admin API za pozivanje mutacije customerUpdate radi ažuriranja statusa oslobođenja od poreza korisnika.

Polje id obavezno je i mora biti važeći GID korisnika. Ovdje ga postavljamo s pomoću varijable Liquid {{order.customer.id}}. To pretpostavlja da vaš tijek rada ima pokretač koji pruža objekt narudžbe.

Polje taxExempt Booleova je vrijednost koja označava je li korisnik oslobođen poreza. U ovom primjeru postavljamo ga na true.

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

Primjer 3: Ažuriranje regionalnih parametara korisnika

U ovom ćemo primjeru upotrijebiti radnju Pošalji zahtjev za Admin API za pozivanje mutacije customerUpdate radi ažuriranja regionalnih parametara korisnika.

Polje id obavezno je i mora biti važeći GID korisnika. Ovdje ga postavljamo s pomoću varijable Liquid {{customer.id}}. To pretpostavlja da vaš tijek rada ima pokretač koji pruža objekt korisnika.

Polje locale niz je koji predstavlja regionalne parametre korisnika. U ovom primjeru postavljamo ga na en.

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

Savjeti za Liquid

Flow podržava filtar Liquida json koji može biti koristan pri izradi unosa. Svi sljedeći primjeri upotrebljavaju mutaciju customerUpdate i pretpostavljaju da vaš tijek rada ima pokretač koji pruža objekt korisnika.

Rad s nizovima

Sljedeći primjer ažurira napomenu za korisnika:

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

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

Filtar json izlazno kodira niz kako bi osigurao ispravan JSON. To rezultira sljedećim JSON-om nakon pokretanja tijeka rada:

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

Rad s poljima

Primjer polja

Filtar json transformira polje Liquida u polje JSON. Sljedeći primjer prikazuje polje JSON kada je zadano polje Liquida:

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

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

To rezultira sljedećim JSON-om nakon pokretanja tijeka rada:

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

Primjer petlje For

Sljedeći primjer upotrebljava petlju za prikaz elemenata polja, odvojenih zarezima:

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

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

To rezultira sljedećim JSON-om prilikom pokretanja tijeka rada:

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

Primjer upotrebe filtra map

Filtar map može se upotrijebiti za dobivanje polja određenog svojstva iz polja objekata. U sljedećem se primjeru polje sa svojstvima city izdvaja iz polja adresa korisnika:

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

To rezultira sljedećim JSON-om nakon pokretanja tijeka rada:

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

Ograničenja

Radnja Pošalji zahtjev za Admin API ima sljedeća ograničenja:

  • Radnja će prikazati popis Mutacija i Unosa mutacije iz verzije za Admin API koju upotrebljava Flow.
  • Kada se objave nove verzije API-ja, ova radnja možda neće uspjeti ako upotrebljava mutaciju ili polje koje je promijenjeno ili zastarjelo.
  • Radnja ne podržava upite za GraphQL, već samo mutacije.
  • Radnja ne podržava mutacije koje su zastarjele.
  • Radnja ne podržava određene mutacije koje su specifične za neke aplikacije, uključujući određene mutacije za pretplatu, marketinške aktivnosti i popuste.
  • Radnja ne podržava asinkrone mutacije ili mutacije koje vraćaju vrstu Job.
  • Radnja ne podržava mutacije koje ne implementiraju sučelje Node.

Predlošci

Dodaj besplatnu stavku (100 % popusta) u nove narudžbe

Ovaj predložak dodaje besplatnu stavku s popustom novim narudžbama ako je stavka na zalihi. Provjerava zalihe, primjenjuje popust od 100 % i ažurira narudžbu bez obavještavanja korisnika. Ova bi automatizacija bila korisna za (1) poboljšanje zadovoljstva korisnika uključivanjem besplatne stavke iznenađenja u njihovu narudžbu, (2) promociju novih ili manje poznatih proizvoda njihovim dodavanjem kao besplatnih uzoraka u narudžbe ili (3) usmjeravanje promocija automatizacijom uključivanja besplatnih stavki i primjene popusta na njih. Prikaži predložak

Dopusti naručivanje poduzećima koja su stvorena putem zahtjeva za račun poduzeća

Dodijelite dopuštenje za naručivanje kada se poduzeće izradi putem zahtjeva za račun poduzeća. Prikaži predložak

Promijeni predložak proizvoda kada su varijante rasprodane ili ponovno na zalihi

Ažurirajte predložak proizvoda na temelju zaliha za varijante proizvoda. Tijek rada omogućuje vam prebacivanje između predložaka kada je stavka na zalihi (zadani predložak trgovine), kada je rasprodana i kada su jedna ili više varijanti rasprodane. Prikaži predložak

Obradi sve digitalne stavke u narudžbi

Obrađuje sve stavke za koje nije potrebna fizička dostava, poput digitalnih stavki ili stavki koje odgovaraju popisu SKU-ova. Pokreće se jednom za svaku lokaciju ispunjenja („narudžba ispunjenja”) za novu narudžbu. Prikaži predložak