Поиск населённых пунктов


Поиск населённых пунктов

/locality/search

Для России база данных населённых пунктов содержит более 196 000 значений, кроме самых мелких образований (садовые товарищества и т.п.).
Лимит по количеству населённых пунктов в результате поиска - 100 записей.

Полученные данные можно использовать в дальнейшем для получения стоимости и срока доставки посредством метода /delivery/calculation: в качестве параметра to может быть передано значение code или fias.

Параметр Описание
key  Ключ доступа
target 

Название или часть названия населённого пункта / ФИАС-код.

При использовании в качестве значения названия города, параметр должен содержать не менее 3 символов.
Не зависит от раскладки клавиатуры и регистра символов. Т.е. «москва» = «vjcrdf» = «МоскВ».

При использовании в качестве значения кода ФИАС, должно быть указано точное значение.

В ответе содержится список найденных городов с указанием служб доставки, которые могут доставить груз в данный город.

Лимит количества результатов поиска - 10.

region

Фильтр по региону.

Используется при необходимости, чтобы сузить поиск до границ конкретного региона.
Можно указывать как полностью название региона: «Московская», там и часть: «моск». Не зависит от раскладки клавиатуры и регистра символов, например: «моско» = «vjcrj» = «МоскО».

country

Код страны в формате ISO 3166-1 Alpha-2.
Доступны варианты: RU, UZ, AZ, KZ, BY, UA, TJ, KG, AM, MD

service_info

Флаг добавления информации по доступным службам доставки: принимает целое значение 1/0 или булево: true/false.

Если указан, то в ответ добавляется информация по доступным для данногонаселённого пункта службам доставки: название и логотип.

bitrix_code

Код населённого пункта из справочника 1С Bitrix.
Если указан, то поиск производится сначала на этому коду.

filter.service

Фильтр по возможности доставки выбранными ТК.
Принимает коды ТК через запятую, например: sdek,yandex

В результате будут отданы только те населённые пункты, куда доставляет указанная ТК.

filter.service.intersect

Логика фильтрации:
all - в данный населённый пункт должны доставлять все указанные ТК;
any - в данный населённый пункт должна доставлять хоятбы одна из указанных ТК.

filter.service.only_with_terminals

Флаг фильтрации по наличию пунктов ПВЗ выбранной ТК.
Работает только при указании service .

В результате будут отданы только те населённые пункты, куда доставляет указанная ТК и где есть ПВЗ.

Параметры, отмеченные , - обязательны.

curl --request POST 'https://api.esplc.ru/client/state' \
--header 'Content-Type: application/json' \
--data-raw '{ "key": "a2275ee6a7f268684fb553db39ff16b6", "target": "моск" }'

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.esplc.ru/client/state',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => [ 'key' => 'a2275ee6a73268684fb753db39ff16b6', 'target' => 'москв' ]',
]);

$response = curl_exec($curl);

curl_close($curl);
print_r(json_decode($response,1));

{
    "http_status": 200,
    "http_status_message": "",
    "data": [
        {
            "code": 82239,
            "name": "Москва",
            "country": "Россия",
            "region": "Москва",
            "sub_region": "",
            "fias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
            "rank": 4,
            "postal_code": "101000",
            "type": "город",
            "services": [
                "dpd",
                "iml",
                "kit",
                "zde",
                "ozon",
                "sdek",
                "pecom",
                "baikal",
                "delline",
                "grastin",
                "vozovoz",
                "boxberry",
                "energija",
                "fivepost",
                "pickpoint",
                "dostavista",
                "sberlogistics"
            ]
        }
    ]
}