Внедрение подсказок dadata на сайт
Введение
В формах можно использовать подсказки dadata как поле формы.
Пример на демостенде - https://demo.web-automation.ru/list/watch/dadata-suggestions---primery-podskazok-cherez-pole-formy-tipa-dadata---1126
Вы можете использовать подсказки для заполнения адресов, данных по фирмам, странам, ФИАС, email, имена и др.
Как работает механизм подсказок dadata.ru - https://dadata.ru/suggestions/
ВАЖНО. Dadata - внешний платный сервис, имеющих ежедневный лимит в 10 тыс запросов (300 заполнений). Оплата данного сервиса производится отдельно в личном кабинете Dadata. Тарифы Dadata - https://dadata.ru/pricing/
Как настроить использование подсказок dadata в форме
В GetLayout в SELECT 1 указываем в параметре DadataPublicToken ключ от сервиса dadata (он будет доступен посетителям в скрытом поле as-dadataToken на странице).
Тип поля формы - dadata (например, поле с кодом f1)
В GetItem формы указываем какой тип подсказок будем извлекать. Все типы подсказок https://dadata.ru/suggestions/usage/#dictionaries
CREATE PROCEDURE [dbo].[fm_ddt_getItem]
@itemID int,
@username nvarchar(256)
AS
BEGIN
select 'some value' f1,
'{"type": "party"}' options_f1,
'{"type": "country"}' options_f2,
'{"type": "metro"}' options_f3,
'{"type": "email"}' options_f4
END
ВАЖНО. В качестве значения необходимо передавать JSON, который мы ранее принимали от Dadata (если там не будет JSON, то поле при загрузке будет выводить значение поля, а внутренним значением поля будет {value: 'текущее значение'}).
После выбора и сохранения формы. Извлекаем поле f1, в нем будет JSON структура со всеми данными по найденному элементу.
CREATE PROCEDURE [dbo].[fm_ddt_saveItem]
@username nvarchar(256),
@itemID int,
@parameters ExtendedDictionaryParameter READONLY
AS
BEGIN
declare @pf1 nvarchar(max)
select @pf1 = Value2 from @parameters where [key]='f1'
print @pf1 -- здесь весь JSON
declare @value nvarchar(max) = JSON_VALUE (@pf1 , '$.value' )
print @value -- а здесь извлекаем одно поле.
END
При этом сохранять лучше всю структуру данных в отдельное поле для корректной загрузки формы на редактирование в будущем.
ВАЖНО. Если у вас что-то не отображается (например, в подсказках компании Адрес или ИНН), проверьте написание типа по документации. Например, необходимо писать PARTY, а не party (если написать party, то список работает, но не показывает дополнительные данные).
Как вызвать JS коллбек при выборе значения
Иногда требуется что-то сделать при выборе значения из подсказок Dadata (например, заполнить другие поля).
Для этого прописываем в настройках поля код коллбека и реализуем JS функцию.
GetItem SQL:
select '' f1,
'{"type": "party","callback": "callf1"}' options_f1
JS:
as.callbacks["callf1"] = function(suggestion){
console.log("sug", suggestion);
}
Ограничение выборки адресов по стране
Для того, чтобы искать адреса других стран, необходимо указать спец поле as-dadataCountry на странице:
<input type="hidden" class="as-dadataCountry" value="Казахстан" />
Значение поля - название страны (Казахстан, Берарусь и т.д.).
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация
- Лендинги
- Универсальный API
- Примеры интеграций Прием платежей через Яндекс.Кассу Онлайн-платежи. Интеграция с Робокассой (платежный шлюз) Zapier интеграция на платформе Falcon Space Интеграция коллтрекинга МАНГО ОФИС (режим Площадка) Интеграция API DaData.ru подсказки по адресам Интеграция API Курсы валют Центрального Банка РФ в веб-платформе Falcon Space Интеграция API Почта РФ Интеграция API Служба доставки СДЭК (CDEK) Интеграция API Служба доставки Деловые линии Интеграция импорт и парсинг файла CSV Интеграция API IpGeoBase Город по IP-адресу Интеграция API DaData.ru Город по IP-адресу Как вычислить расстояние между 2 точками с координатами через Google Maps Сканирование штрихкодов и QR кодов через камеру и с картинок Получение данных контрагента по ИНН Прием платежей на сайте через CloudPayments Как сделать интеграцию с Мой Склад Внедрение подсказок dadata на сайт Вывод точек на карте Яндекс. Интеграция с Яндекс Карты Интеграция с телефонией Zadarma.com Получение данных о контрагенте - интеграция с сервисом ЗаЧестныйБизнес Интеграция с AMO CRM Как импортировать данные в базу CRM из Google Контакты Вход/регистрация через ВКонтакте(vk.com) Интеграция CRM с онлайн чатом на сайте (Replain) Как связать yandex metrika clientID с пользователем на сайте и посмотреть полный путь его по сайту? Телеграм. Работа с файлами Как сделать обработку входящей почты (создание клиента в CRM из Email) Интеграция сайта с ChatGPT (openAI) Интеграция с Яндекс Метрика Интернет-эквайринг Тинькоф Банк Интеграция с платежным шлюзом LifePay Как сделать вебхук для передачи данных с Тильды на Falcon Space Пополнение средств через Yookassa (Юкасса) Тинькофф Банк - уведомление в учетную систему по операциям с расчетным счетом Интеграция с Ютуб. Получение роликов канала
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы