При запросе с count=1 пустой ответ
Добрый день!
Делаем два последовательных запроса. Первый с count>1 для получения списка подсказок, затем с count=1 для уточнения выбора.
В первом запросе ответ есть. Во втором пустой.
Примеры запросов:
Запрос 1. Ввели "Кировская г Киров, ул Ленина, д 20, кв 141"
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Authorization: Token ****key****" \ -d "{ \"count\": 2, \"query\": \"Кировская г Киров, ул Ленина, д 20, кв 141\" }" \ https://dadata.ru/api/v2/suggest/address
{"suggestions": [{ "value": "г Киров, ул Ленина, д 20, кв 141", "unrestricted_value": "Кировская обл, г Киров, ул Ленина, д 20, кв 141", "data": { "postal_code": "610004", "country": "Россия", "region_fias_id": "0b940b96-103f-4248-850c-26b6c7296728", "region_kladr_id": "4300000000000", "region_with_type": "Кировская обл", "region_type": "обл", "region_type_full": "область", "region": "Кировская", "area_fias_id": null, "area_kladr_id": null, "area_with_type": null, "area_type": null, "area_type_full": null, "area": null, "city_fias_id": "452a2ddf-88a1-4e35-8d8d-8635493768d4", "city_kladr_id": "4300000100000", "city_with_type": "г Киров", "city_type": "г", "city_type_full": "город", "city": "Киров", "city_area": null, "city_district_fias_id": null, "city_district_kladr_id": null, "city_district_with_type": null, "city_district_type": null, "city_district_type_full": null, "city_district": null, "settlement_fias_id": null, "settlement_kladr_id": null, "settlement_with_type": null, "settlement_type": null, "settlement_type_full": null, "settlement": null, "street_fias_id": "2e4036dd-58ba-4723-8e0c-a9b82735a342", "street_kladr_id": "43000001000022500", "street_with_type": "ул Ленина", "street_type": "ул", "street_type_full": "улица", "street": "Ленина", "house_fias_id": "f18d11c0-1761-4c4c-b4fa-47af801f58b3", "house_kladr_id": "4300000100002250102", "house_type": "д", "house_type_full": "дом", "house": "20", "block_type": null, "block_type_full": null, "block": null, "flat_type": "кв", "flat_type_full": "квартира", "flat": "141", "flat_area": null, "square_meter_price": null, "flat_price": null, "postal_box": null, "fias_id": "f18d11c0-1761-4c4c-b4fa-47af801f58b3", "fias_level": "8", "kladr_id": "4300000100002250102", "capital_marker": "2", "okato": "33401000000", "oktmo": "33701000", "tax_office": "4345", "tax_office_legal": null, "timezone": null, "geo_lat": "58.6110688", "geo_lon": "49.6808793", "beltway_hit": null, "beltway_distance": null, "qc_geo": "0", "qc_complete": null, "qc_house": null, "unparsed_parts": null, "qc": null } } ] }
Запрос 2. Уточняем выбор из подсказок "г Киров, ул Ленина, д 20, кв 141"
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Authorization: Token ****key****" \ -d "{ \"count\": 1, \"query\": \" г Киров, ул Ленина, д 20, кв 141\" }" https://dadata.ru/api/v2/suggest/address
{"suggestions":[]}
Ответ
Алексей, добрый день!
Дело в том, что г Киров есть в Кировской и Калужской областях. Подсказки присылают пустой ответ при запросе с count = 1 по адресу без области, потому что не понимают, какая именно область имеется в виду.
Чтобы это исправить, передавайте в запрос с count = 1 значение unrestricted_value из ответа на запрос с count > 1.
"value": "г Киров, ул Ленина, д 20, кв 141", "unrestricted_value": "Кировская обл, г Киров, ул Ленина, д 20, кв 141"
Следуем вашей рекомендации и передаем во второй запрос значение unrestricted_value. Для части адресов получаем аналогичную проблему. Пример:
Запрос 1. С count=7 для некоторого адреса.
Сервис поддержки клиентов работает на платформе UserEcho
Алексей, добрый день!
Дело в том, что г Киров есть в Кировской и Калужской областях. Подсказки присылают пустой ответ при запросе с count = 1 по адресу без области, потому что не понимают, какая именно область имеется в виду.
Чтобы это исправить, передавайте в запрос с count = 1 значение unrestricted_value из ответа на запрос с count > 1.