Webhook — различия между версиями
Бутусов (обсуждение | вклад) |
Бутусов (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | == Принцип работы == | |
+ | Webhook передает данные по заказам и статусам на ваш URL. | ||
+ | Важно понимать, что на обработку очереди всех вебхуков, включая ваш, уходит время. | ||
− | + | За 1 раз наша система забирает максимум 100 ваших изменений. По нашим средним подсчетам на обработку и отправку этих данных может уйти 2 - 4 минуты. | |
+ | Также нужно понимать, что вебхуки всех клиентов обрабатываются поочередно. То есть, сначала обрабатываются заказы по вебхуку первого клиента, потом заказы по вебхуку второго клиента, потом заказы по вебхуку третьего клиента и тд. | ||
+ | Таким образом, 100 ваших изменений вы будете получать не каждые 4 минуты, а только после того, как до вас снова дойдет ваша очередь. Это может происходить и каждые 4 минуты, если у других клиентов не было множества изменений по заказам. | ||
+ | |||
+ | == Настройка == | ||
+ | В разделе [[Личный_кабинет_клиента#Интеграция|"Интеграции"]] создайте интеграцию с типом "Webhook". В настройках укажите URL на который мы будем отправлять вам данные. | ||
+ | |||
+ | == Формат данных в адрес получателя вебхука == | ||
Пример запроса: | Пример запроса: | ||
<source lang=xml> | <source lang=xml> | ||
Строка 74: | Строка 83: | ||
</source> | </source> | ||
+ | Подробное описание '''контейнера order''' вы можете увидеть на [[API#Примеры ответов 2|этой странице]] | ||
+ | == Формат ответа от получателя вебхука == | ||
<div style="font-size: 18px; color: #a92424; background-color: #ffdede; border: 1px solid #ebccd1; padding: 3px 10px 10px;"> | <div style="font-size: 18px; color: #a92424; background-color: #ffdede; border: 1px solid #ebccd1; padding: 3px 10px 10px;"> | ||
В случае успешной обработки вебхука, наша система ожидает от вас именно такой ответ: | В случае успешной обработки вебхука, наша система ожидает от вас именно такой ответ: |
Текущая версия на 07:16, 13 декабря 2024
Содержание
Принцип работы
Webhook передает данные по заказам и статусам на ваш URL.
Важно понимать, что на обработку очереди всех вебхуков, включая ваш, уходит время.
За 1 раз наша система забирает максимум 100 ваших изменений. По нашим средним подсчетам на обработку и отправку этих данных может уйти 2 - 4 минуты.
Также нужно понимать, что вебхуки всех клиентов обрабатываются поочередно. То есть, сначала обрабатываются заказы по вебхуку первого клиента, потом заказы по вебхуку второго клиента, потом заказы по вебхуку третьего клиента и тд.
Таким образом, 100 ваших изменений вы будете получать не каждые 4 минуты, а только после того, как до вас снова дойдет ваша очередь. Это может происходить и каждые 4 минуты, если у других клиентов не было множества изменений по заказам.
Настройка
В разделе "Интеграции" создайте интеграцию с типом "Webhook". В настройках укажите URL на который мы будем отправлять вам данные.
Формат данных в адрес получателя вебхука
Пример запроса:
<?xml version="1.0"?>
<order orderno="00032011" awb="00032011" orderno2="" ordercode="0000032" givencode="">
<barcode>00032011</barcode>
<sender>
<company>TEST</company>
<date/>
<time_min/>
<time_max/>
</sender>
<receiver>
<company>TEST2</company>
<person/>
<phone>+7 (495) 000-00-00</phone>
<contacts>
<phone>+74950000000</phone>
</contacts>
<inn/>
<zipcode/>
<date>2022-01-21</date>
<time_min/>
<time_max/>
<coords lat="55.7287" lon="37.6447"/>
<deliveryPIN/>
</receiver>
<pickup>NO</pickup>
<return>YES</return>
<weight>0.4</weight>
<return_weight/>
<quantity>1</quantity>
<paytype>NO</paytype>
<print_check>YES</print_check>
<service>1</service>
<return_service>1</return_service>
<type>1</type>
<return_type>1</return_type>
<waittime>0</waittime>
<price>0.00</price>
<inshprice>0.00</inshprice>
<enclosure/>
<instruction/>
<basestatus code="0"/>
<currcoords lat="" lon="" accuracy="" RequestDateTime=""/>
<receiverpays>NO</receiverpays>
<acceptpartially>YES</acceptpartially>
<status eventstore="NEW" eventtime="2022-01-20 17:08:43" createtimegmt="2022-01-20 17:08:43" message="" title="new">NEW</status>
<statushistory>
<status eventstore="NEW" eventtime="2022-01-20 17:08:43" createtimegmt="2022-01-20 17:08:43" message="" title="NEW" country="RU">NEW</status>
</statushistory>
<customstatecode>1</customstatecode>
<clientstatecode/>
<department/>
<return_message/>
<deliveredto/>
<delivereddate/>
<deliveredtime/>
<outstrbarcode/>
<arrival/>
<costcode/>
<receipt/>
<items>
</items>
<packages>
</packages>
<webhook_status_code>NEW</webhook_status_code>
</order>
Подробное описание контейнера order вы можете увидеть на этой странице
Формат ответа от получателя вебхука
В случае успешной обработки вебхука, наша система ожидает от вас именно такой ответ:
Обязательный ответ:
{
"success": true
}
Если ответ будет иной, а код ответа будет отличатся от ошибочных (5xx) - вебхук будет удален.