Изпращане на заявка до Admin API
Действието „Изпращане на заявка до Admin API“ може да използва повечето промени в GraphQL Admin API, за да правите промени в магазина си, включително промени, които все още не са налични като действия във Flow.
На тази страница
Полета
Действието „Изпращане на заявка до Admin API“ съдържа следните полета.
| Поле | Описание |
|---|---|
| Промяна | Задължително. Промяната в Shopify GraphQL Admin, която искате да извикате. Промяната е API, което предприема действие или актуализира данни. |
| Входящи данни за промяна | Задължително. Данните (в JSON), които трябва да изпратите като част от Вашата заявка за промяна. Всяка промяна изисква различен набор от данни, което е документирано в предоставената връзка за всяка промяна. За да съставите необходимия JSON, можете да използвате Liquid или действие за изпълнение на код. |
Тригери
Действието „Изпращане на заявка до Admin API“ може да се използва във всеки работен процес, с всеки тригер, стига работният процес да предоставя данните, необходими за съставяне на входящите данни за промяната.
Примери
Пример 1: Актуализиране на шаблона, използван за продукт
В този пример ще използваме действието „Изпращане на заявка до Admin API“, за да извикаме промяната productUpdate, за да актуализираме шаблона, използван за даден продукт.
Полето id е задължително и трябва да е валиден GID на продукт. Тук го задаваме с променливата на Liquid {{product.id}}. Това предполага, че Вашият работен процес има тригер, който предоставя обект на продукт.
templateSuffix е името на шаблона, който искате да приложите към продукта. Например, ако искате да приложите шаблона pre-order, трябва да зададете templateSuffix на pre-order.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}Пример 2: Актуализиране на статуса за освобождаване от данъци на клиент
В този пример ще използваме действието „Изпращане на заявка до Admin API“, за да извикаме промяната customerUpdate, за да актуализираме статуса за освобождаване от данъци на клиент.
Полето id е задължително и трябва да е валиден GID на клиент. Тук го задаваме с променливата на Liquid {{order.customer.id}}. Това предполага, че Вашият работен процес има тригер, който предоставя обект на поръчка.
Полето taxExempt е булева стойност, която показва дали клиентът е освободен от данъци. В този пример го задаваме на true.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}Пример 3: Актуализиране на езика и региона на клиент
В този пример ще използваме действието „Изпращане на заявка до Admin API“, за да извикаме промяната customerUpdate, за да актуализираме езика и региона на клиент.
Полето id е задължително и трябва да е валиден GID на клиент. Тук го задаваме с променливата на Liquid {{customer.id}}. Това предполага, че Вашият работен процес има тригер, който предоставя обект на клиент.
Полето locale е низ, който представлява езика и региона на клиента. В този пример го задаваме на en.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Съвети за Liquid
Flow поддържа филтър на Liquid json, който може да бъде полезен при съставянето на входящите данни. Всички следващи примери използват промяната customerUpdate и предполагат, че Вашият работен процес има тригер, който предоставя обект на клиент.
Работа с низове
Следващият пример актуализира бележката към клиент:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}Филтърът json екранира низа, за да осигури правилен JSON. Това води до следния JSON след изпълнението на работния процес:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}Работа с масиви
Пример с масив
Филтърът json трансформира масив на Liquid в JSON масив. Следващият пример извежда JSON масив, когато му бъде предоставен масив на Liquid:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}Това води до следния JSON след изпълнението на работния процес:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}Пример с цикъл For
Следващият пример използва цикъл за извеждане на елементите на масив, разделени със запетаи:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}Това води до следния JSON, когато работният процес се изпълни:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Пример с map
Филтърът map може да се използва за получаване на масив от конкретно свойство от масив от обекти. В следващия пример се извлича масив от свойства city от масив с адреси на клиенти:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}Това води до следния JSON след изпълнението на работния процес:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}Ограничения
Действието „Изпращане на заявка до Admin API“ има следните ограничения:
- Действието ще покаже списък с
промениивходящи данни за промениот версията на Admin API, използвана от Flow. - Когато се издадат нови версии на API, това действие може да се провали, ако използва промяна или поле, което е променено или отхвърлено.
- Действието не поддържа GraphQL заявки, а само промени.
- Действието не поддържа промени, които са отхвърлени.
- Действието не поддържа някои промени, които са специфични за определени приложения, включително някои промени за абонаменти, маркетингови дейности и отстъпки.
- Действието не поддържа асинхронни промени или промени, които връщат тип
Job. - Действието не поддържа промени, които не имплементират интерфейса Node.
Шаблони
Добавяне на безплатен артикул (със 100% отстъпка) към нови поръчки
Този шаблон добавя безплатен артикул с отстъпка към нови поръчки, ако артикулът е в наличност. Той проверява наличността, прилага 100% отстъпка и актуализира поръчката, без да уведомява клиента. Тази автоматизация би била полезна за (1) повишаване на удовлетвореността на клиентите чрез включване на безплатен артикул изненада в поръчката им, (2) популяризиране на нови или по-малко известни продукти чрез добавянето им като безплатни мостри в поръчките или (3) за оптимизиране на промоции чрез автоматизиране на включването и отстъпките за безплатни артикули. Преглед на шаблона
Разрешаване на поръчки за компании, създадени чрез заявки за фирмен акаунт
Задаване на разрешение за поръчка, когато се създаде компания чрез заявка за фирмен акаунт. Преглед на шаблона
Промяна на продуктов шаблон, когато вариантите са с изчерпана наличност или отново в наличност
Актуализиране на продуктов шаблон въз основа на наличността за вариантите на продукта. Работният процес Ви позволява да превключвате между шаблони за „в наличност“ (шаблонът по подразбиране на магазина), „изчерпана наличност“ и когато един или повече варианти са с изчерпана наличност. Преглед на шаблона
Изпълнение на всички дигитални артикули в поръчка
Изпълнява всички артикули, които не изискват физическа доставка, като например дигитални артикули, или които съответстват на списък със SKU. Изпълнява се веднъж за всяко местоположение на изпълнение („поръчка за изпълнение“) за нова поръчка. Преглед на шаблона