Webhook
Содержание
Принцип работы
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) - вебхук будет удален.