HTTP-запити
Матеріал з Planfix
Planfix працює з HTTP-запитами через автоматичні сценарії і вхідні вебхуки, використовуючи такі методи:
- GET
- POST
- PUT
- DELETE
Приклади HTTP-запитів і розбір відповідей
Важливо
- Надсилання POST-запитів з акаунта відбувається в один потік: новий POST-запит не відправляється, поки не отримано відповідь на попередній. У зв'язку з цим, якщо віддалений сервер відповідає з істотною затримкою, може виникнути значна затримка надсилання майбутніх запитів.
- Щоб знайти причину такої затримки, перейдіть у Керування акаунтом — Лог — Вихідні HTTP-запити і відфільтруйте записи за доменом, на який йдуть запити з затримкою. У 99% випадків це покаже, які саме запити до цього сервера виконуються довго або завершуються з помилкою — тоді від таких запитів можна відмовитися, а якщо вплинути на зовнішній сервіс неможливо, залишається враховувати, що він відповідає повільно. Якщо ж у логу все швидко і без помилок, а затримка при цьому є — напишіть нам у Службу підтримки.
- У разі отримання від віддаленого сервера невдалого відповіді (статус відповіді не дорівнює 200), Planfix намагається повторити запит кілька разів через певні проміжки часу (здійснюється ще 4 спроби повторної відправки: через 15 хв / +30 хвилин / +1 годину / +1 годину) — це робиться для запобігання втраті повідомлень у випадку тимчасової недоступності або непрацездатності віддаленого сервера.
- При цьому протягом 3-х хвилин після отримання невдалого відповіді або відсутності відповіді з боку сервера жодні інші POST-запити з акаунта не відсилаються. Це вимушений захід, який застосовується з метою забезпечення стабільної роботи Planfix у випадках, коли з акаунта Planfix надсилається велика кількість запитів, а сервер, куди вони надсилаються, перестає відповідати.
- Випадки невдалої відправки фіксуються в Панелі інцидентів
- Ви можете відключити повторну відправку в налаштуванні POST-запиту:
- Надсилання й обробка HTTP-запитів логуються в технічному лозі завдання:
Використання змінних
У HTTP-запитах усі змінні при вставці в URL за замовчуванням URL-кодуються (для коректної роботи при використанні в якості параметрів посилання):
https://mysite.com/?param1={{Variable_1}}¶m2={{Variable_2}}
Щоб URL-кодування не виконувалося (якщо в змінній не один параметр, а частина посилання з уже закодованими значеннями), необхідно обернути її додатково в %%%:
%%%{{Infoblock.RequestURL}}%%%
https://my.site.com/%%%{{Infoblock.Parameters}}%%%
Додатково
- Дані, що надходять у Planfix, перед подальшим використанням можна додатково обробити.
