Изпращане на HTTP заявка
Действието „Изпращане на HTTP заявка“ свързва Вашия работен процес с уеб сървър или URL адрес и изпраща HTTP заявки.
След като Flow изпрати Вашата HTTP заявка, той изчаква максимум 30 секунди за HTTP код за отговор. Ако Flow не е получил отговор след 30 секунди, той затваря връзката с Вашето приложение. По-късно той опитва отново заявката.
На тази страница
Полета
Действието „Изпращане на HTTP заявка“ съдържа следните полета.
| Поле | Описание |
|---|---|
| HTTP метод | Методът на HTTP заявката за изпращане. Действието Изпращане на HTTP заявка поддържа следните методи:
|
| URL | URL адресът на сървъра, към който се изпраща HTTP заявката. |
| Заглавки | Двойката ключ и стойност за HTTP заявката. Могат да бъдат въведени няколко двойки ключ-стойност. |
| Тяло | Съдържанието, което да бъде изпратено до сървъра. |
| При клиентска грешка (4XX отговор) | При получаване на код за отговор , указващ клиентска грешка, Flow ще:
|
| При сървърна грешка (5XX или 429 отговор) | При получаване на код за отговор , указващ сървърна грешка, Flow ще:
|
Върнати данни
За достъп до върнатите данни в стъпки, които следват това действие, използвайте променливата с име sendHttpRequest, която включва всички подробности за HTTP отговора. По желание можете да използвате действие Изпълнение на код, за да анализирате тялото на отговора за използване в следващи стъпки на работния процес, както в примера по-долу.
Ако дадено действие Send HTTP request се използва многократно в един и същ работен процес, към името на променливата се добавя число. Например в работен процес, който използва два пъти действието Send HTTP request, първата променлива за върнати данни е sendHttpRequest, а втората променлива е sendHttpRequest1. Това име не може да бъде персонализирано.
Кодове за отговор
Следващата таблица описва как Flow обработва кода за HTTP отговор, след като получи отговор.
| Код за HTTP отговор | Как Flow обработва кода за отговор |
|---|---|
| 2XX или 3XX Успех | Flow маркира HTTP заявката като успешна и извършва последващи действия в работния процес. |
| 4XX Грешки, 5XX и 429 Грешки | В зависимост от това как е конфигурирано действието, Flow ще:
|
| Друг код за отговор | Ако отговорът върне код, който не е описан в тази таблица, или времето за повторни опити изтече, тогава Flow маркира HTTP заявката като неуспешна, проваля изпълнението на работния процес и не предприема последващи действия по него. |
Тайни
Тайните се използват за сигурно съхраняване на чувствителна информация за използване в действието Send HTTP request, като например токени за достъп или пароли. Тайните се създават и управляват от страницата Flow > Настройки. Тайната съдържа потребителски идентификатор, стойност и описание. Реферирайте тайната като променлива на Liquid (като например {{secrets.handle}}) или от опцията Добавяне на тайна, когато конфигурирате полетата URL, Header value (Стойност на заглавката) или Body (Тяло). Стойностите на тайните никога не са видими в интерфейса на Flow и са скрити в регистрационните файлове на изпълнението на работния процес.
Тригери
Действието „Изпращане на HTTP заявка“ може да се използва във всеки работен процес.
Примери
Пример 1: Изпращане на HTTP заявка до външна услуга
В този пример използвайте Flow за изпращане на HTTP заявка до външна услуга.
Преди да започнете, конфигурирайте уеб услуга, която получава HTTP заявки и съхранява данните от тези заявки за тестване, като например Request Catcher. Не забравяйте да бъдете внимателни, когато изпращате чувствителни данни (като пароли или API ключове) до услуга на трета страна.
Стъпки:
- Изберете тригера Product status updated, който Ви позволява да тествате този работен процес чрез промяна на състоянието на даден продукт.
- Добавете „Изпращане на HTTP заявка“ – действие към работния си процес и го свържете с тригера. След това отворете панела за конфигуриране, като щракнете върху стъпката „Изпращане на HTTP заявка“ .
- В полето HTTP Method въведете
POST. - В полето URL въведете URL адреса за тестване, като например
https://yourFlowTest.requestcatcher.com/test. - В секцията Headers въведете заглавка с Key
Content-Typeи Valuetext/plain. - В секцията Body въведете
{{product.title}}и{{product.status}}, за да изпратите заглавието и актуализирания статус на продукта от тригера.
- В полето HTTP Method въведете
- Активирайте работния процес.
- Тествайте го, като промените статуса на продукт, например от Чернова на Активен.
- Наблюдавайте резултатите във външната услуга за тестване, като
https://yourFlowTest.requestcatcher.com/в този пример.
Пример 2: Използване на код за изпълнение за анализ на HTTP отговор
В този пример използвайте Flow, за да изпратите HTTP заявка до външна услуга и действие Изпълнение на код, за да анализирате body (тялото) на HTTP отговора за използване в последващи стъпки на работния процес.
Преди да започнете, изберете уеб услуга, която получава HTTP заявки и връща данни, като например Postman Echo. Не забравяйте да бъдете внимателни, когато изпращате чувствителни данни (като пароли или API ключове) до услуга на трета страна.
Стъпки:
Изберете тригера Product status updated, който Ви позволява да тествате този работен процес чрез промяна на състоянието на даден продукт.
Добавете действие Изпращане на HTTP заявка към работния си процес и го свържете с тригера. След това отворете панела за конфигуриране, като щракнете върху стъпката Изпращане на HTTP заявка.
В полето HTTP Method въведете
POST.В полето URL въведете URL адреса за тестване, като например
https://postman-echo.com/post.В секцията Headers въведете заглавка с Key
Content-Typeи Valueapplication/json.В секцията Body въведете примерния JSON, който да бъде върнат към работния процес, като например:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Добавете действие Изпълнение на код към работния си процес и го свържете с действието Изпращане на HTTP заявка. След това отворете панела за конфигуриране, като щракнете върху стъпката Изпълнение на код.
В полето Define inputs (Дефиниране на входни данни) включете
body(тялото), върнато от обектаsendHTTPrequest, като например:query{ sendHttpRequest { body } }В полето Define outputs (Дефиниране на изходни данни) въведете дефинираните в изходната схема данни, като например:
type Output { productTitle: String! productStatus: String! }В полето Write code (Писане на код) анализирайте отговора с помощта на метода
JSON.parseи се уверете, че данните, които връщате, съответстват на формата и типовете, дефинирани в изходната схема, като например:export default function main(input) { const body = JSON.parse(input.sendHttpRequest.body); console.log("body is", body); return { productTitle: body.data.productTitle, productStatus: body.data.productStatus } }
Добавете действие Log output (Регистриране на изходни данни) към работния си процес и го свържете с действието Изпълнение на код. След това отворете панела за конфигуриране, като щракнете върху стъпката Изпълнение на код.
В полето Output (Изходни данни) включете променливите, върнати от стъпката Изпълнение на код, като например:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Активирайте работния процес.
Тествайте го, като промените статуса на продукт, например от Чернова на Активен.
Наблюдавайте резултата от изпълнението от страницата Flow / Последни изпълнения и обърнете внимание, че стойностите в стъпката Log output (Регистриране на изходни данни) съвпадат със стойностите, върнати от изходните данни на Изпращане на HTTP заявка.
Шаблони
Уведомяване на Вашия доставчик за изпълнение на поръчки относно предстоящи поръчки
Изпращане на HTTP заявка до Вашия доставчик за изпълнение на поръчки, когато поръчките са етикетирани с „Warehouse“ в Order Tagger. Преглед на шаблона
Изпращане на нови поръчки до Airtable
Изпращайте поръчки до Airtable, когато се създаде поръчка. Преглед на шаблона
Изпращане на всички съществуващи и нови продукти до Airtable
На всеки 10 минути намирайте продукти, които не са изпратени до Airtable (по таг), и ги изпращайте до Airtable. Преглед на шаблона
Актуализиране на продукти на партиди от продуктови данни, съхранени в Airtable
Актуализирайте продукти на партиди от продуктови данни, които се съхраняват в Airtable. Преглед на шаблона
Уведомяване на клиенти за изтичащи подаръчни карти с помощта на SendGrid
Всеки ден получавайте всички подаръчни карти, които изтичат след 7 дни, и изпращайте имейли до клиентите с помощта на SendGrid. Преглед на шаблона
Изпращане на имейл чрез SendGrid, когато клиенти направят поръчка за персонализиран артикул
Изпратете трансакционен имейл с помощта на SendGrid, когато клиент направи поръчка за персонализиран артикул. Преглед на шаблона