HTTP-запросы: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
 
(не показано 15 промежуточных версий 2 участников)
Строка 2: Строка 2:
|title=HTTP-запросы в ПланФиксе
|title=HTTP-запросы в ПланФиксе
|titlemode=append
|titlemode=append
|keywords=планфикс, post-запросы, сценарии, входящие вебхуки, HTTP-запросы, http, запросы, POST, GET, PUT, DELETE
|keywords=планфикс, post-запросы, POST-запросы, сценарии, входящие вебхуки, HTTP-запросы, http, запросы, POST, GET, PUT, DELETE, Отправка POST-запросов при помощи автоматических сценариев
|description=HTTP-запросы в ПланФиксе
|description=HTTP-запросы в ПланФиксе
}}
}}
Строка 15: Строка 15:
==Примеры HTTP-запросов и разбор ответов ==
==Примеры HTTP-запросов и разбор ответов ==
*[[GET-запрос: получение курса валют]]
*[[GET-запрос: получение курса валют]]
*[[Отправка POST-запросов при помощи автоматических сценариев |POST-запрос: трекинг посылок и получение ссылок на оплату]]
*[[POST-запрос: трекинг посылок]]
*[[POST-запрос в ЮКассу: ссылка на оплату]]
*[[Входящие вебхуки |Приём HTTP-запросов при помощи входящих вебхуков]]
*[[Входящие вебхуки |Приём HTTP-запросов при помощи входящих вебхуков]]


Строка 22: Строка 23:
*Отправка POST-запросов из аккаунта происходит в один поток, новый POST-запрос не отправляется, пока не получен ответ на предыдущий. В связи с этим, если удаленный сервер отвечает с существенной задержкой, может возникнуть существенная задержка отправки будущих запросов.
*Отправка POST-запросов из аккаунта происходит в один поток, новый POST-запрос не отправляется, пока не получен ответ на предыдущий. В связи с этим, если удаленный сервер отвечает с существенной задержкой, может возникнуть существенная задержка отправки будущих запросов.


*В случае получения от удаленного сервера неудачного ответа (статус ответа не равен 200), ПланФикс пытается повторить запрос несколько раз через некоторые промежутки времени (делается еще 5 попыток повторной отправки: через  5 / +10 / +15 /+ 30 минут / +1 час ) - это делается для предупреждения потери сообщений в случае временной недоступности или неработоспособности удаленного сервера.
*В случае получения от удаленного сервера неудачного ответа (статус ответа не равен 200), ПланФикс пытается повторить запрос несколько раз через некоторые промежутки времени (делается еще 4 попытки повторной отправки: через  15 /+ 30 минут / +1 час / +1 час ) - это делается для предупреждения потери сообщений в случае временной недоступности или неработоспособности удаленного сервера.


*При этом в течение 3-х минут после получения неудачного ответа или отсутствия ответа со стороны сервера никакие другие POST-запросы из аккаунта не отсылаются. Это вынужденная мера, предпринимаемая с целью обеспечения стабильной работы ПланФикса в случаях, когда из аккаунта ПланФикса отправляется большое количество запросов, а сервер куда они отправляются перестает отвечать.
*При этом в течение 3-х минут после получения неудачного ответа или отсутствия ответа со стороны сервера никакие другие POST-запросы из аккаунта не отсылаются. Это вынужденная мера, предпринимаемая с целью обеспечения стабильной работы ПланФикса в случаях, когда из аккаунта ПланФикса отправляется большое количество запросов, а сервер куда они отправляются перестает отвечать.
Строка 30: Строка 31:
*Вы можете отключить повторную отправку в настройке POST-запроса:
*Вы можете отключить повторную отправку в настройке POST-запроса:


https://p.pfx.so/pf/yc/tICMJf.png
:https://p.pfx.so/pf/yc/tICMJf.png


*Отправка и обработка HTTP-запросов логируется в техническом логе задачи:


== Дополнительная информация ==
https://p.pfx.so/pf/RD/3SkuVH.png
 
 
== Использование переменных ==
В HTTP-запросах все переменные при вставке в URL по умолчанию URL-кодируются (для корректной работы при использовании в качестве параметров ссылки):
 
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>https://</nowiki>mysite.com/?param1='''<nowiki>{{Variable_1}}</nowiki>'''&param2='''<nowiki>{{Variable_2}}</nowiki>'''</div>
Для того, чтобы URL-кодирование не производилось (если в переменной не один параметр, а часть ссылки с уже закодированными значениями), необходимо обернуть ее дополнительно в %%%:
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">'''%%%'''<nowiki>{{Infoblock.RequestURL}}</nowiki>'''%%%'''
<nowiki>https://</nowiki>my.site.com/'''%%%'''<nowiki>{{Infoblock.Parameters}}</nowiki>'''%%%'''
</div>
 
== Дополнительно ==
*[https://planfix.com/ru/blog/post/ Пост про POST]
*[https://planfix.com/ru/blog/post/ Пост про POST]
*[https://planfix.com/ru/blog/razbor-otvetov-na-http-zaprosy/ Разбор ответов на HTTP-запросы]
*[https://planfix.com/ru/blog/razbor-otvetov-na-http-zaprosy/ Разбор ответов на HTTP-запросы]
*Поступающие в ПланФикс данные перед дальнейшим использованием можно дополнительно [[Вычислить инфоблок |обработать]].





Текущая версия от 13:39, 8 июля 2024

ПланФикс работает с HTTP-запросами через автоматические сценарии и вебхуки, используя следующие методы:

  • GET
  • POST
  • PUT
  • DELETE


Примеры HTTP-запросов и разбор ответов


Важно

  • Отправка POST-запросов из аккаунта происходит в один поток, новый POST-запрос не отправляется, пока не получен ответ на предыдущий. В связи с этим, если удаленный сервер отвечает с существенной задержкой, может возникнуть существенная задержка отправки будущих запросов.
  • В случае получения от удаленного сервера неудачного ответа (статус ответа не равен 200), ПланФикс пытается повторить запрос несколько раз через некоторые промежутки времени (делается еще 4 попытки повторной отправки: через 15 /+ 30 минут / +1 час / +1 час ) - это делается для предупреждения потери сообщений в случае временной недоступности или неработоспособности удаленного сервера.
  • При этом в течение 3-х минут после получения неудачного ответа или отсутствия ответа со стороны сервера никакие другие POST-запросы из аккаунта не отсылаются. Это вынужденная мера, предпринимаемая с целью обеспечения стабильной работы ПланФикса в случаях, когда из аккаунта ПланФикса отправляется большое количество запросов, а сервер куда они отправляются перестает отвечать.
  • Вы можете отключить повторную отправку в настройке 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}}%%%

Дополнительно


Перейти