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-запиту:
tICMJf.png


  • Надсилання й обробка HTTP-запитів логуються в технічному лозі завдання:

3SkuVH.png

Використання змінних

У HTTP-запитах усі змінні при вставці в URL за замовчуванням URL-кодуються (для коректної роботи при використанні в якості параметрів посилання):

https://mysite.com/?param1={{Variable_1}}&param2={{Variable_2}}

Щоб URL-кодування не виконувалося (якщо в змінній не один параметр, а частина посилання з уже закодованими значеннями), необхідно обернути її додатково в %%%:

%%%{{Infoblock.RequestURL}}%%%

https://my.site.com/%%%{{Infoblock.Parameters}}%%%

Додатково

  • Дані, що надходять у Planfix, перед подальшим використанням можна додатково обробити.

Перейти