Интеграция API DaData.ru подсказки по адресам
Полная документация - API подсказки по адресам - https://dadata.ru/api/suggest/address/
Сервис DaData.ru (https://dadata.ru/suggestions/) предоставляет API поиска.
Ищет адреса по любой части адреса от региона до дома («тверская нижний 12» → «Нижегородская обл, г Нижний Новгород, ул Тверская, д 12»).
Также ищет по почтовому индексу («105568» → «г. Москва, ул Магнитогорская»).
Регистрация.
Нужно зарегистрироваться и подтвердить почту.
Регистрация - https://dadata.ru/suggestions/usage/address/#registration_popup
Подтвердить адрес электронной почты.
API начнет работать после подтверждения.
После регистрации в личном кабинете https://dadata.ru/profile/#info станут доступны API-ключ и Секретный ключ для стандартизации.
Подписка: Тариф «Бесплатный», действует бессрочно. Возможности - Бесплатно до 10 тысяч запросов в день.
API запрос.
Формат запроса.
- URL - https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address.
- Метод – post.
- Формат – json.
- Кодировка - UTF-8.
- Content-Type – application/json.
- Accept – application/json.
- Authorization - Token 1d01d91d91d91d91d9f1d91d9_____ - API-ключ из личного кабинета.
Тело запроса (формат json):
{ "query": "москва серпуховская", "count": 20 }
query - Текст запроса (обязательный)
count - Количество результатов (максимум — 20) (не обязательный).
CREATE PROCEDURE [dbo].[api_daDataAddress_request]
@parameters ExtendedDictionaryParameter READONLY, -- входящие параметры для внутренней обработки (используйте Key, Value2)
@username nvarchar(32) -- текущий пользователь.
AS
BEGIN
DECLARE @queryCount nvarchar(2) = 20 -- Количество результатов (максимум — 20)
SELECT @queryCount = ISNULL( Value2 , '20' ) FROM @parameters WHERE [Key] = 'queryCount'
IF LEN( ISNULL( @queryCount , '20' ) ) = 0
SET @queryCount = N'20'
DECLARE @queryStr nvarchar(max)
-- получение значений полей формы из @parameters
SELECT @queryStr = ISNULL( Value2 , '' ) FROM @parameters WHERE [Key] = 'queryStr'
IF LEN( ISNULL( @queryStr , '' ) ) = 0
SET @queryStr = N'москва серпуховская'
-- для тестирования
-- SET @queryStr = N'москва серпуховская' -- @queryStr = N'москва хабар' -- Текст запроса
DECLARE @apiUrl1 nvarchar(max) = '' -- Финальная строка для отправки -- ФАКТИЧЕСКИ ЭТО Url
DECLARE @jsonRequest1 nvarchar(max) = '' -- текст json-объекта
SET @apiUrl1 = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address'
-- для тестирования -- SET @jsonRequest1 = N'{ "query": "москва серпуховская", "count": 20 }'
--
SET @jsonRequest1 = N'{ "query": "'+ ISNULL( @queryStr, '' ) +'", "count": '+ TRY_CAST( ISNULL( @queryCount, '' ) AS nvarchar ) + ' }'
-------------------------------------------------------------------------------------------
-- ОТЛАДКА
insert into as_trace ( header, text, username, code , created ) values( 'apiUrl1' , @apiUrl1 , @username, 'api_daDataAddress_request' , GETDATE() )
insert into as_trace ( header, text, username, code , created ) values( '@jsonRequest1' , @jsonRequest1 , @username, 'api_daDataAddress_request' , GETDATE() )
-------------------------------------------------------------------------------------------
-- SELECT 1
select '' Msg, 1 Result
, @apiUrl1 Url
, 'application/json' ContentType -- явное указание для HEADER
-- SELECT 2 PARAMETERS - параметры, которые будут передаваться во внешний источник
select 'Authorization' name
, 'Token 1d01d91d91d91d91d9f1d91d9' value
, 'header' [type] -- form (в форме передается), header (в http headers), get запросы передавайте прямо в URL
union
select 'body' name
, @jsonRequest1 value -- это body
, 'json' [type] -- form (в форме передается), header (в http headers), get запросы передавайте прямо в URL
END
В ответе на запрос приходит объект с массивом подсказок в поле suggestions.
Пример ответа (с сокращениями).
{
"suggestions": [
{
"value": "г Москва, ул Хабаровская",
"unrestricted_value": "г Москва, ул Хабаровская",
"data": {
"postal_code": null,
"country": "Россия",
"country_iso_code": "RU",
"federal_district": null,
"region_fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
}
},
...
]
}
В результате разбора ответа процедура возвращает такой результат:
Запрос: тверская нижний 12
Результаты запроса: Регион: [Нижегородская обл][Тверская обл].
Найдено уникальных почт.индексов - 2.
Адресов - 3.
Адрес |
Индекс |
Тверская обл, Старицкий р-н, деревня Нижний Спасс, д 12 |
171372 |
Тверская обл, Старицкий р-н, деревня Нижний Спасс, д 12 стр 12 |
171372 |
г Нижний Новгород, ул Тверская, д 12 |
603105 |
Примечание. В процедуре парсинга выводится только три поля Адрес, Индекс, Регион.
В ответе сервиса – по одному адресу – более 70 полей, можно получить максимально подробную информацию по каждому адресу, включая значения всех классификаторов.
Процедура response - [dbo].[api_daDataAddress_response] - доступна по ссылке.
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация
- API, Интеграции Создание сервиса API для сайта. Программный интерфейс веб-платформы Как сделать вебхук (webhook) Прием платежей через Яндекс.Кассу Онлайн-платежи. Интеграция с Робокассой (платежный шлюз) Zapier интеграция на платформе Falcon Space Интеграция API DaData.ru подсказки по адресам Интеграция коллтрекинга МАНГО ОФИС (режим Площадка) Интеграция API Курсы валют Центрального Банка РФ в веб-платформе Falcon Space Интеграция API Почта РФ Интеграция API Служба доставки СДЭК (CDEK) Интеграция API Служба доставки Деловые линии Интеграция API IpGeoBase Город по IP-адресу Интеграция импорт и парсинг файла CSV Интеграция API DaData.ru Город по IP-адресу Как вычислить расстояние между 2 точками с координатами через Google Maps Передача файлов по FTP Сканирование штрихкодов и QR кодов через камеру и с картинок Получение данных контрагента по ИНН Прием платежей на сайте через CloudPayments Программное взаимодействие через API между 2 разными экземплярами Falcon Как сделать интеграцию с Мой Склад Внедрение подсказок dadata на сайт Вывод точек на карте Яндекс. Интеграция с Яндекс Карты Интеграция с телефонией Zadarma.com Как передать скрытый параметр при исходящем запросе из Request процедуры в Response Получение данных о контрагенте - интеграция с сервисом ЗаЧестныйБизнес Интеграция с AMO CRM Как импортировать данные в базу CRM из Google Контакты Вход/регистрация через ВКонтакте(vk.com) Интеграция CRM с онлайн чатом на сайте (Replain) Загрузка на форме текстовых файлов и обработка их в процедуре SaveItem Как связать yandex metrika clientID с пользователем на сайте и посмотреть полный путь его по сайту?
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- HOWTO
- HOWTO Таблицы
- HOWTO Формы
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы