@dmitriu256

Как связать выбор области и города novaposhta api?

Кто пользовался api NovaPoshta?
Задача как зная область получить список городов этой области?

Общение с сервером происходит через AJAX запросы.

1) Область получаю используя запрос к серверу (на сайте API Справочник географических областей)
let areasObj = {
        "apiKey": apiKey,
        "modelName": "Address",
        "calledMethod": "getAreas",
        "methodProperties": {}
    };


Получаю ответ от сервера в таком виде
{
    "success": true,
    "data": [
        {
            "Description": "Київська",
            "Ref": "71508128-9b87-11de-822f-000c2965ae0e", //идентификатор области
            "AreasCenter": "db5c88b7-391c-11dd-90d9-001a92567626"
        },
       .....


Из полученного результата формирую select областей
(Результат успешно)

2) Формируем список городов выбранной области

(использую запрос "Справочник городов компании")
(пробовал и запрос Справочник населенных пунктов) - пустой результат
Формирую запрос к серверу
let cityObj = {
                        "modelName": "Address",
                        "calledMethod": "getCities",
                        "methodProperties": {
                            "Ref": selectArea.value // (идентификатор области вида 7150812e-9b87-11de-822f-000c2965ae0e)
                           // "Area": "Київська" //пробовал указать явно - без результатно
                        },
                        "apiKey": apiKey
                    };

Итог получаю пустой результат
Из документации Ref string[36] Идентификатор города
Как в запрос к серверу отправить идентификатор области или ее название чтобы на выходе получили список городов только этой области?
Подобный вопрос отправил и в тех поддержку Новой Почты.
Буду благодарен за Ваш ответ.
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Имел дело когда-то с этой дрянью, вот даже нашёл класс который писал, правда он на PHP, для Yii2. Хотел вставить, но говорит сообщение не может быть больше 10,000 тысяч символов ((( Ну если кому-то нужно могу скинуть.
Так вот по поводу этой почты, и сама новая почта это собственно говорит и я повторю. Лучше загружай себе на сервер весь список городов, warehouse'ов и прочего. Потому-что работает их апи оооочень медленно, особенно если ты вставляешь в заказ, и допустим после выбора человеком его области он будет пол часа ждать пока загрузит все города области, а потом после выбора города еще пол часа пока загрузит все отделения. Поэтому создай в своей бд 3 таблицы и загружай все себе, но обязательно обновляй хотя раз в неделю этот список. Ну и сортировку уже делай своими силами на беке.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы