0
Not a bug

Проверьте правильность результатов при запросе по городу Орел и Петергоф

vkharseev 1 year ago in Интеграции • updated by Антон 1 year ago 10

Запрос:

<request request_type="54" partner_id="357" password="nT1D=a5">
  <parcel volume="0.002" weight="2" sum_nalog="2700.00" sum_vl="2700.00" addr="Петергоф" version="1" />
            </request>

И Орел возвращают список "неверных" ПВЗ

Answer

Answer

Как я вижу эту ситуацию: вы отправляете запрос на сторонний по отношению к Дадате сайт (betapro.ru), который возвращает не тот набор пунктов выдачи, который вы ожидаете. Дадата ничего не знает о пунктах выдачи или сайте betapro.ru. Чем я могу здесь вам помочь?

GOOD, I'M SATISFIED
Satisfaction mark by vkharseev 1 year ago
Under review

А в чём ошибка? Вот что возвращает Дадата по адресу «Петергоф» (попробуйте сами):

Всё вроде бы правильно.

Я использую API для интеграции. Отправляю POST-запрос где указываю область или город. Проблема возникла на днях (вчера-сегодня). Если к примеру указать город который обнаружить не удалось к примеру "г. Санкт-Петербург, г. Петергоф" - то возвращаются около 700 ПВЗ которые ломают логику приложения, т.к. текущий город  Петергоф, а ПВЗ приходят с десятков разных городов. я поставил условие если у города больше 600 ПВЗ - значит ошибка. Раньше приходил пустой ответ.
Проблема замечена на 5-6 запросах.

Всего около 500 запросов совершаю. Процедура ежедневная.

Дадата вообще не возвращает ПВЗ. Пришлите, пожалуйста, точный текст запроса, который вы отправляете.

Фрагмент кода на PHP

$postData =
            '<request request_type="54" partner_id="357" password="nT1D=a5">
                <parcel volume="0.002" weight="2" sum_nalog="2700.00" sum_vl="2700.00" addr="г. Санкт-Петербург, г. Питергоф" version="1" />
            </request>';
        $headers = [
            'Content-Type'   => 'text/xml; charset=UTF8',
            'Content-Length' => mb_strlen($postData),
        ];
        $response = $this->postCurl('http://api.betapro.ru:8080/bp/hs/wsrv', $postData, $headers);

Можете проверить через браузер открывши http://api.betapro.ru:8080/bp/hs/wsrv и введя тело запроса

<request request_type="54" partner_id="357" password="nT1D=a5">
                <parcel volume="0.002" weight="2" sum_nalog="2700.00" sum_vl="2700.00" addr="г. Санкт-Петербург, г. Петергоф" version="1" />
            </request>

 

Сайт api.betapro.ru не имеет отношения к Дадате. 

Answer

Как я вижу эту ситуацию: вы отправляете запрос на сторонний по отношению к Дадате сайт (betapro.ru), который возвращает не тот набор пунктов выдачи, который вы ожидаете. Дадата ничего не знает о пунктах выдачи или сайте betapro.ru. Чем я могу здесь вам помочь?

Прошу прощение за беспокойство. Меня не правильно проинформировали в поставщике услуг. Действительно данный API обрабатывается другим сервисом.

Not a bug

Нет проблем ツ Тогда закрываю.