Служба поддержки DaData.ru
Если чего-то не хватает, или вы столкнулись с проблемой — оставьте сообщение, и мы ответим в течение 24 часов. Работаем с понедельника по пятницу, с 10 до 19 по Москве.
Как изменить запрос перед отправкой в onSearchStart?
Пытался сделать так:
onSearchStart: function(query) {
query.value = city+' '+query.value;
}
// и так
onSearchStart: function(query) {
query = city+' '+query;
}
// Но ничего из этого никак не влияет на запрос
Вот так:
function onSearchStart(params) {
params.query = ...
}
$(el).suggestions({
...
onSearchStart: onSearchStart
};
О работе метода FindAddress
Добрый день.
Пишем на языке C# (Dadata.dll).
Суть задачи: нужно передать с сайта в ERP систему адрес (одноразово, прямо в момент заказа).
Решили сделать так:
1. На сайте из строки адреса получаем его структуру.
2. Берем из структуры два кода адреса (kladr_id и fias_id)
3. на стороне ERP берем эти коды (2) и ищем адрес по коду методом https://dadata.ru/api/find-address/
И вот что обнаружили, по fias_id (если он есть) адрес находится, в вот kladr_id поиск ни когда не возвращает результатов.
Примеры поиска:
2200000100001660049 и e63427cd-bf63-4a60-8e74-2d832fb9366e
2900600005400070007 и 81a0833e-a86f-472f-aa9e-ea8d0419fa97
В документации (https://dadata.ru/api/find-address/ ) сказано, что сервис ищет по любому из этих кодов.
Подскажите, пожалуйста, в чем ошибка?
Добрый день! Метод Адрес по коду КЛАДР или ФИАС ищет по КЛАДР-коду только до улицы. У домов нет постоянных КЛАДР-кодов, поэтому использовать их вовсе не стоит. В целом, лучше всегда использовать ФИАС-код вместо КЛАДР, даже для улиц и выше.
Что значит в ограничениях Количество условий (параметр locations) — не более 10.
Что значит в ограничениях
Количество условий (параметр locations) — не более 10.
Это значит, что параметр locations принимает не более 10 ограничений.
Ограничение на количество новых соединений и интеграция на Laravel
Здравствуйте, у меня вопрос по ограничению количества соединений. Вот здесь написано:
Если используете PHP — возьмите нашу библиотеку, создайте один раз объект DadataClient и переиспользуйте его — так новые соединения не будут создаваться.
А как насчёт интеграций? Если использовать интеграцию для Laravel, то в ней этот механизм уже предусмотрен? Как им пользоваться?
Добрый день! Обе интеграции для Laravel сделаны сторонними разработчиками. Лучше уточнить у них этот вопрос.
Возвращается пустой ответ на запрос в 1С 8.3
Здравствуйте! Написал процедуру для автоматического заполнения карточки контрагента в 1С 8.3 данными с dadata, в итоге приходит пустой ответ на запрос {"suggestions":[]}, подскажите в какую сторону копать, уже всю голову сломал, код прилагаю.
Процедура ЗаполнитьПоИНН();
ИНН = Объект.ИНН;
Наименование = Объект.Наименование;
ИмяВремФайла = ПолучитьИмяВременногоФайла();
APIКлючDaData = Константы.APIКлючDaData.Получить();
//XSecreet = Константы.СекретныйКлюч.Получить();
ТелоЗапроса = Новый Структура;
ТелоЗапроса.Вставить("query", ИНН);
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, , , , , , , , Ложь);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
ЗаписатьJSON(ЗаписьJSON, ТелоЗапроса);
ТелоЗапросаСтрокой = ЗаписьJSON.Закрыть();
SSL = Новый ЗащищенноеСоединениеOpenSSL();
Сервер = "suggestions.dadata.ru";
//СтрокаЗапроса = "/suggestions/api/4_1/rs/suggest/party";
СтрокаЗапроса = "/suggestions/api/4_1/rs/findById/party";
HTTPСоединение = Новый HTTPСоединение(сервер,,,,,, SSL);
HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса);
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
HTTPЗапрос.Заголовки.Вставить("Accept", "application/json");
HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + APIКлючDaData);
//HTTPЗапрос.Заголовки.Вставить("X-Secret", XSecreet);
HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапросаСтрокой,КодировкаТекста.UTF8);
Попытка
HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Исключение
Сообщить("Произошла ошибка при отправке запроса");
КонецПопытки;
Попытка
HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
ТекстJSON = HTTPОтвет.ПолучитьТелоКакСтроку();
Исключение
Сообщить("При отправке запроса произошла ошибка");
Возврат;
КонецПопытки;
Если HTTPОтвет = Неопределено Тогда
Сообщить("Получен не верный ответ от сервера dadata.ru");
ИначеЕсли HTTPОтвет.КодСостояния <> 200 Тогда
Сообщить("Получен не верный ответ от сервера dadata.ru");
КонецЕсли;
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТекстJSON);
ОтветСервера = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Если ОтветСервера.количество() = 0 Тогда
Сообщить("Ни чего не найдено");
КонецЕсли;
Сообщить(ТекстJSON);
КонецПроцедуры
Решение найдено.
APIКлючDaData = "Указать свой токен";
ИНН = "7707782563";
ТелоЗапроса = Новый Структура;
ТелоЗапроса.Вставить("query", ИНН);
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, , , , , , , , Ложь);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
ЗаписатьJSON(ЗаписьJSON, ТелоЗапроса);
ТелоЗапросаСтрокой = ЗаписьJSON.Закрыть();
SSL = Новый ЗащищенноеСоединениеOpenSSL();
Сервер = "suggestions.dadata.ru";
СтрокаЗапроса = "/suggestions/api/4_1/rs/findById/party";
HTTPСоединение = Новый HTTPСоединение(Сервер,,,,,, SSL);
HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса);
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
HTTPЗапрос.Заголовки.Вставить("Accept", "application/json");
HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + APIКлючDaData);
HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапросаСтрокой,КодировкаТекста.UTF8);
Попытка
HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
JSON = HTTPОтвет.ПолучитьТелоКакСтроку();
Сообщить(JSON);
Исключение
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Feature 'CLEAN' disabled
Добрый день.
при запросе с php получаю такой ответ
[GuzzleHttp\Exception\ClientException]
Client error: `POST https://cleaner.dadata.ru/api/v1/clean/address` resulted in a `403 Forbidden` response:
{"timestamp":"2021-12-16T07:50:19.677+00:00","status":403,"error":"Forbidden","message":"Feature 'CLEAN' disabled for to (truncated...)
(403)
10.12.21 все работало нормально. Что мы сделали не так?
Здравствуйте, Роман! Вы используете API Стандартизации, а 10 000 бесплатных запросов — в API Подсказок.
После регистрации мы дарим 100 записей для обработки, дальше API Стандартизации (CLEAN) оплачивается за каждый запрос, 1 адрес — 10 коп: https://dadata.ru/pricing/#metered. Нужно пополнить баланс.
Есть ли возможность использовать одновременно locations и locations_geo
На сайте несколько городов, но необходимо использовать locations_geo и locations одновременно. Если это возможно то как.
Да, можно одновременно использовать locations и locations_geo. В виджете это параметры constraints.locations и params.locations_geo соответственно.
Если работаете через API, можете одновременно в запросе передавать и locations, и locations_geo.
Почтовый индекс у региона
Скажите, есть ли возможность получить почтовый индекс региона? На примере "Удмуртская Республика" пытаюсь получить почтовый индекс региона, в ответе получаю - null,
пример в песочнице: https://codepen.io/dadata/pen/bFlGc
Нет, такой возможности нет. Налоговая сообщила, что теперь индексы будут возвращаться только для объектов адресации (домов), по адресообразующим элементам (улицы, населённые пункты и выше) индексы не возвращаются, к сожалению.
Вытеснение статусов Ликвидация / Банкрот
Здравствуйте.
При одновременной ликвидации и банкротстве информация о банкротстве вытесняется статусом "Ликвидация" (поле status в API). Было бы очень полезно знать, что контрагент прошел через стадию банкротства перед ликвидацией, как допустим сделано в sbis.
Есть возможность добавить этот признак?
Добрый день.
Сейчас мы получаем только один статус от ФНС и возвращаем его как есть. Возможно, в будущем подключим отдельный справочник по банкротам и будем возвращать дополнительный статус. Сообщим в новостях, когда появится, подписывайтесь.
На «Дадате» по ИНН можно определить ФИО физлица, если оно зарегистрировано как индивидуальный предприниматель. Либо если выступает как руководитель или учредитель какой-нибудь компании (только на «Максимальном» тарифе).
Сервис поддержки клиентов работает на платформе UserEcho