Siųsti „Admin API“ užklausą
Veiksmu „Siųsti Admin API užklausą“ galite naudoti daugumą GraphQL Admin API „mutation“ operacijų, kad atliktumėte pakeitimus savo parduotuvėje, įskaitant ir tas, kurios dar neprieinamos kaip veiksmai programėlėje „Flow“.
Laukai
Veiksmas „Siųsti Admin API užklausą“ turi šiuos laukus.
| Laukas | Aprašymas |
|---|---|
| „Mutation“ operacija | Privaloma. „Shopify GraphQL Admin“ „mutation“ operacija, kurią norite iškviesti. „Mutation“ operacija yra API, kuri atlieka veiksmą arba atnaujina duomenis. |
| „Mutation“ operacijos įvestys | Privaloma. Duomenys (JSON formatu), kuriuos reikia siųsti kaip „mutation“ operacijos užklausos dalį. Kiekvienai „mutation“ operacijai reikia skirtingų duomenų, kurie aprašyti prie kiekvienos operacijos pateikiamoje nuorodoje. Norėdami sukurti reikiamą JSON, galite naudoti „Liquid“ arba veiksmą „Vykdyti kodą“. |
Paleidikliai
Veiksmą „Siųsti Admin API užklausą“ galima naudoti bet kurioje darbo eigoje su bet kuriuo paleidikliu, jei darbo eigoje pateikiami duomenys, būtini „mutation“ operacijos įvestims sukurti.
Pavyzdžiai
1 pavyzdys: produktui naudojamo šablono atnaujinimas
Šiame pavyzdyje veiksmas „Siųsti Admin API užklausą“ naudojamas productUpdate „mutation“ operacijai iškviesti, kad būtų atnaujintas produktui naudojamas šablonas.
Laukas id yra privalomas ir jame turi būti nurodytas galiojantis produkto GID. Čia jis nustatomas naudojant {{product.id}} „Liquid“ kintamąjį. Daroma prielaida, kad Jūsų darbo eigoje yra paleidiklis, pateikiantis produkto objektą.
templateSuffix yra šablono, kurį norite pritaikyti produktui, pavadinimas. Pavyzdžiui, jei norite pritaikyti pre-order šabloną, turėtumėte nustatyti, kad „templateSuffix“ būtų pre-order.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}2 pavyzdys: kliento atleidimo nuo mokesčių būsenos atnaujinimas
Šiame pavyzdyje veiksmas „Siųsti Admin API užklausą“ naudojamas customerUpdate „mutation“ operacijai iškviesti, kad būtų atnaujinta kliento atleidimo nuo mokesčių būsena.
Laukas id yra privalomas ir jame turi būti nurodytas galiojantis kliento GID. Čia jis nustatomas naudojant {{order.customer.id}} „Liquid“ kintamąjį. Daroma prielaida, kad Jūsų darbo eigoje yra paleidiklis, pateikiantis užsakymo objektą.
Laukas taxExempt yra loginė reikšmė (angl. boolean), nurodanti, ar klientas yra atleistas nuo mokesčių. Šiame pavyzdyje jo reikšmė nustatoma kaip true.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}3 pavyzdys: kliento lokalės atnaujinimas
Šiame pavyzdyje veiksmas „Siųsti Admin API užklausą“ naudojamas customerUpdate „mutation“ operacijai iškviesti, kad būtų atnaujinta kliento lokalė.
Laukas id yra privalomas ir jame turi būti nurodytas galiojantis kliento GID. Čia jis nustatomas naudojant {{customer.id}} „Liquid“ kintamąjį. Daroma prielaida, kad Jūsų darbo eigoje yra paleidiklis, pateikiantis kliento objektą.
Laukas locale yra eilutė, nurodanti kliento lokalę. Šiame pavyzdyje jo reikšmė nustatoma kaip en.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}„Liquid“ patarimai
Programėlė „Flow“ palaiko json „Liquid“ filtrą, kuris gali būti naudingas kuriant įvestį. Visuose tolesniuose pavyzdžiuose naudojama customerUpdate „mutation“ operacija ir daroma prielaida, kad Jūsų darbo eigoje yra paleidiklis, pateikiantis kliento objektą.
Darbas su eilutėmis
Tolesniame pavyzdyje atnaujinama kliento pastaba:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}Filtras json pakeičia specialiuosius eilutės simbolius, kad būtų užtikrintas tinkamas JSON formatas. Įvykdžius darbo eigą, gaunamas toks JSON:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}Darbas su masyvais
Masyvo pavyzdys
Filtras json paverčia „Liquid“ masyvą į JSON masyvą. Tolesniame pavyzdyje, pateikus „Liquid“ masyvą, išvedamas JSON masyvas:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}Įvykdžius darbo eigą, gaunamas toks JSON:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}Ciklo „for“ pavyzdys
Tolesniame pavyzdyje naudojamas ciklas, kad būtų išvesti masyvo elementai, atskirti kableliais:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}Kai darbo eiga įvykdoma, gaunamas toks JSON:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Filtro „map“ pavyzdys
„Map“ filtras gali būti naudojamas norint gauti konkrečios ypatybės masyvą iš objektų masyvo. Tolesniame pavyzdyje iš klientų adresų masyvo ištraukiamas city ypatybių masyvas:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}Įvykdžius darbo eigą, gaunamas toks JSON:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}Apribojimai
Veiksmas „Siųsti Admin API užklausą“ turi šiuos apribojimus:
- Veiksme bus rodomas
„Mutation“ operacijųir„Mutation“ operacijų įvesčiųsąrašas iš „Admin API“ versijos, kurią naudoja „Flow“. - Išleidus naujas API versijas, šis veiksmas gali nepavykti, jei jame naudojama „mutation“ operacija arba laukas, kuris buvo pakeistas arba yra nebenaudojamas.
- Veiksmas nepalaiko „GraphQL“ užklausų, tik „mutation“ operacijas.
- Veiksmas nepalaiko „mutation“ operacijų, kurios yra nebenaudojamos.
- Veiksmas nepalaiko kai kurių „mutation“ operacijų, būdingų tam tikroms programėlėms, įskaitant kai kurias prenumeratų, rinkodaros veiklos ir nuolaidų „mutation“ operacijas.
- Veiksmas nepalaiko asinchroninių „mutation“ operacijų arba „mutation“ operacijų, kurios grąžina
Job(užduoties) tipą. - Veiksmas nepalaiko „mutation“ operacijų, kurios neįgyvendina Node sąsajos.
Šablonai
Nemokamo (su 100 % nuolaida) daikto pridėjimas prie naujų užsakymų
Šis šablonas prie naujų užsakymų prideda nemokamą daiktą su nuolaida, jei to daikto yra sandėlyje. Šablonu patikrinamas inventorius, pritaikoma 100 % nuolaida ir atnaujinamas užsakymas nepranešant klientui. Šis automatizavimas būtų naudingas, siekiant: 1) padidinti klientų pasitenkinimą, į jų užsakymą įtraukiant nemokamą daiktą-staigmeną; 2) reklamuoti naujus ar mažiau žinomus produktus, pridedant juos prie užsakymų kaip nemokamus pavyzdžius; 3) supaprastinti akcijas automatizuojant nemokamų daiktų įtraukimą ir nuolaidų taikymą jiems. Peržiūrėti šabloną
Leidimas pateikti užsakymus įmonėms, sukurtoms pagal įmonės paskyros užklausas
Priskirkite užsakymo leidimą, kai įmonė sukuriama pagal įmonės paskyros užklausą. Peržiūrėti šabloną
Pakeisti produkto šabloną, kai variantai yra išparduoti arba vėl yra likutyje.
Atnaujinkite produkto šabloną pagal produkto variantų inventorių. Darbo eiga leidžia perjungti šablonus, priklausomai nuo to, ar produktas yra likutyje (numatytasis parduotuvės šablonas), išparduotas, ar išparduotas vienas arba daugiau jo variantų. Peržiūrėti šabloną
Įvykdyti visus skaitmeninius daiktus užsakyme.
Įvykdo visus daiktus, kuriems nereikalingas fizinis pristatymas, pvz., skaitmeninius daiktus, arba kurie atitinka SKU sąrašą. Paleidžiama vieną kartą kiekvienai naujo užsakymo vykdymo vietai („įvykdymo užsakymas“). Peržiūrėti šabloną