Webhook — различия между версиями
Бутусов (обсуждение | вклад) |
Бутусов (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | == Принцип работы == | |
+ | Webhook передает данные по заказам и статусам на ваш URL. | ||
+ | Важно понимать, что на обработку вебхуков уходит время. | ||
+ | За 1 раз наша система забирает максимум по 100 ваших изменений. По нашим средним подсчетом на это может уйти 2 - 4 минуты. | ||
+ | |||
+ | Также нужно понимать, что вебхуки всех клиентов обрабатываются поочередно. То есть, сначала обрабатываются заказы по вебхукам первого клиента, потом заказы по вебхукам второго клиента, потом заказы по вебхукам третьего клиентаи тд. Таким образом, 100 ваших изменений вы будете получать не каждые 4 минуты, а только после того, как до вас снова дойдет ваша очередь. | ||
+ | |||
+ | == Настройка == | ||
Чтобы создать оповещение о статусах на ваш URL, в разделе [[Личный_кабинет_клиента#Интеграция|"Интеграции"]] создайте интеграцию с типом "Webhook". В настройках укажите URL на который мы будем отправлять уведомление. | Чтобы создать оповещение о статусах на ваш URL, в разделе [[Личный_кабинет_клиента#Интеграция|"Интеграции"]] создайте интеграцию с типом "Webhook". В настройках укажите URL на который мы будем отправлять уведомление. | ||
− | + | == Формат сообщений в адрес получателя вебхука == | |
Пример запроса: | Пример запроса: | ||
<source lang=xml> | <source lang=xml> | ||
Строка 76: | Строка 83: | ||
Подробное описание '''контейнера order''' вы можете увидеть на [[API#Примеры ответов 2|этой странице]] | Подробное описание '''контейнера 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:06, 13 декабря 2024
Содержание
Принцип работы
Webhook передает данные по заказам и статусам на ваш URL.
Важно понимать, что на обработку вебхуков уходит время.
За 1 раз наша система забирает максимум по 100 ваших изменений. По нашим средним подсчетом на это может уйти 2 - 4 минуты.
Также нужно понимать, что вебхуки всех клиентов обрабатываются поочередно. То есть, сначала обрабатываются заказы по вебхукам первого клиента, потом заказы по вебхукам второго клиента, потом заказы по вебхукам третьего клиентаи тд. Таким образом, 100 ваших изменений вы будете получать не каждые 4 минуты, а только после того, как до вас снова дойдет ваша очередь.
Настройка
Чтобы создать оповещение о статусах на ваш URL, в разделе "Интеграции" создайте интеграцию с типом "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) - вебхук будет удален.