API: отделения Почты России
Если интернет-магазин доставляет покупки почтой по России, хорошо бы подсказать человеку, где и когда он может забрать посылку. В этом поможет справочник почтовых отделений — в нём есть точный адрес, координаты и часы работы отделения, а ещё отметка, если оно временно закрыто.
«Дадата» помогает найти точное отделение по индексу или ближайшее — по координатам.
Чтобы вызвать метод, и подтвердите почту.
Полнотекстовый поиск (suggest)
Пример запроса:
POST https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/postal_unit{ "query": "дежнева 2а" }
Поиск работает по полям:
postal_codeaddress_str
Укажите при вызове:
Content-Type: application/json.Accept: application/json.${API_KEY}— API-ключ.
Тело запроса передавайте в кодировке UTF-8.
Запись справочника по идентификатору (findById)
Пример запроса:
POST https://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/postal_unit{ "query": "127642" }
Выборка по идентификатору работает по полям:
postal_code
Укажите при вызове:
Content-Type: application/json.Accept: application/json.${API_KEY}— API-ключ.
Тело запроса передавайте в кодировке UTF-8.
Поиск ближайшего по координатам (geolocate)
Пример запроса:
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Token ${API_KEY}" \
-d '{ "lat": 55.878, "lon": 37.653, "radius_meters": 1000 }' \
https://suggestions.dadata.ru/suggestions/api/4_1/rs/geolocate/postal_unitУкажите при вызове:
Content-Type: application/json.Accept: application/json.${API_KEY}— API-ключ.
Тело запроса передавайте в кодировке UTF-8.
Фильтрация
Фильтрация работает по полям is_closed,type_codeи address_kladr_id.
Фильтрация по address_kladr_id позволяет выбрать отделения из указанного города:
{
"query": "Молодогвардейская",
"filters": [
{
"address_kladr_id": "6300000100000"
}
]
} Фильтрация по is_closed позволяет отсеять закрытые отделения:
{
"query": "105",
"filters": [
{
"is_closed": false
}
]
}Поля справочника
| Название | Описание |
|---|---|
| value | Значение одной строкой (как показывается в списке подсказок) |
| unrestricted_value | Адрес отделения одной строкой |
| data.postal_code | Почтовый индекс |
| data.is_closed | true, если отделение закрыто, иначе false |
| data.type_code | Тип отделения |
| data.address_str | Адрес одной строкой |
| data.address_kladr_id | КЛАДР-код населённого пункта |
| data.address_qc | Код проверки адреса |
| data.geo_lat | Широта |
| data.geo_lon | Долгота |
| data.schedule_mon | Режим работы в понедельник |
| data.schedule_tue | Режим работы во вторник |
| data.schedule_wed | Режим работы в среду |
| data.schedule_thu | Режим работы в четверг |
| data.schedule_fri | Режим работы в пятницу |
| data.schedule_sat | Режим работы в субботу |
| data.schedule_sun | Режим работы в воскресенье |
Источник данных: Почта России
Ограничения
Длина запроса (параметр query) — не более 300 символов.
Количество запросов в день — в соответствии с тарифным планом.
Максимальная частота запросов — 30 в секунду с одного IP-адреса.
Максимальная частота создания новых соединений — 60 в минуту с одного IP-адреса.
Стоимость
Бесплатно до 10 тысяч запросов в день. Больше — в составе годовой подписки.