5 последних просмотренных страниц: Webhook > Webhook > Webhook > Webhook > Webhook

Webhook — различия между версиями

Материал из Меасофт
Перейти к: навигация, поиск
(Формат ответа от получателя вебхука)
 
(не показаны 3 промежуточные версии 1 участника)
Строка 2: Строка 2:
 
Webhook передает данные по заказам и статусам на ваш URL.
 
Webhook передает данные по заказам и статусам на ваш URL.
  
Важно понимать, что на обработку вебхуков уходит время.
+
Важно понимать, что на обработку очереди всех вебхуков, включая ваш, уходит время.
  
За 1 раз наша система забирает максимум по 100 ваших изменений. По нашим средним подсчетом на это может уйти 2 - 4 минуты.
+
За 1 раз наша система забирает максимум 100 ваших изменений. По нашим средним подсчетам на обработку и отправку этих данных может уйти 2 - 4 минуты.
  
Также нужно понимать, что вебхуки всех клиентов обрабатываются поочередно. То есть, сначала обрабатываются заказы по вебхукам первого клиента, потом заказы по вебхукам второго клиента, потом заказы по вебхукам третьего клиентаи тд. Таким образом, 100 ваших изменений вы будете получать не каждые 4 минуты, а только после того, как до вас снова дойдет ваша очередь.
+
Также нужно понимать, что вебхуки всех клиентов обрабатываются поочередно. То есть, сначала обрабатываются заказы по вебхуку первого клиента, потом заказы по вебхуку второго клиента, потом заказы по вебхуку третьего клиента и тд.  
 +
 
 +
Таким образом, 100 ваших изменений вы будете получать не каждые 4 минуты, а только после того, как до вас снова дойдет ваша очередь. Это может происходить и каждые 4 минуты, если у других клиентов не было множества изменений по заказам.
  
 
== Настройка ==
 
== Настройка ==
Чтобы создать оповещение о статусах на ваш URL, в разделе [[Личный_кабинет_клиента#Интеграция|"Интеграции"]] создайте интеграцию с типом "Webhook". В настройках укажите URL на который мы будем отправлять уведомление.
+
В разделе [[Личный_кабинет_клиента#Интеграция|"Интеграции"]] создайте интеграцию с типом "Webhook". В настройках укажите URL на который мы будем отправлять вам данные.
  
== Формат сообщений в адрес получателя вебхука ==
+
== Формат данных в адрес получателя вебхука ==
 
Пример запроса:
 
Пример запроса:
 
<source lang=xml>
 
<source lang=xml>
Строка 87: Строка 89:
 
В случае успешной обработки вебхука, наша система ожидает от вас именно такой ответ:
 
В случае успешной обработки вебхука, наша система ожидает от вас именно такой ответ:
 
</div>
 
</div>
Обязательный ответ:
+
Обязательный ответ (он сообщает, что вы получили наш вебхук. Как вы будете обрабатывать эти данные и будете ли обрабатывать их вообще не имеет значения дня нашей системы):
 
<source lang=json>
 
<source lang=json>
 
{
 
{

Текущая версия на 11:49, 24 декабря 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) - вебхук будет удален.