Интеграция с телефонией Zadarma.com
Вводная
Задарма позволяет внедрить телефонию на сайт.
Руководство по интеграции от Zadarma - https://zadarma.com/ru/support/instructions/crm-zadarma/#
Базовая интеграция с телефонией Zadarma
Для выполнения интеграции с Zadarma.com необходимо сделать следующее:
1. Зарегистрироваться на zadarma.com и получить ключ и секретный пароль (key,secret). Ключи находятся на странице https://my.zadarma.com/api/
2. Для размещения виджета звона на странице сайта настраиваем виджет Позвонить нам на странице https://my.zadarma.com/callmebutton/ и ставим код на свою страницу:
3. Для приема звонков необходимо на внутренней странице сайта поставить JS виджет https://my.zadarma.com/api/ в разделе "Интеграция WebRTC виджета"
Здесь мы должны прописать вместо YOUR_SIP наш номер SIP (его можно взять на странице https://my.zadarma.com/mysip/), а также YOUR_KEY - его необходимо получить через авторизацию через АПИ (об этом ниже).
В итоге на указанной внутренней странице будет расположен виджет телефонии, через который мы можем принимать звонки и звонить на телефонные номера.
Как работать с API Zadarma
Описание методов API можно найти здесь - https://zadarma.com/ru/support/api/
В методах где требуется авторизация должен передаваться специальный header Authorization со специальным значением (алгоритм его вычисления показан здесь https://zadarma.com/ru/support/api/#intro_authorization)
Используйте следующую функцию, которая вычисляет нужное значение заголовка Authorization:
create or alter FUNCTION [dbo].[zadarma_authHeader]
(
@method varchar(120) = '', -- /v1/info/balance/
@params varchar(max) = '',
@key varchar(max) = '',
@secret varchar(max) = ''
)
RETURNS varchar(max)
AS
BEGIN
declare @data varchar(max) = @method +@params + lower(dbo.as_md5(@params)) -- ! важно - varchar(max)
declare @sh1 varbinary(max) = dbo.as_hmac('SHA1', convert(varbinary(max), @secret),
convert(varbinary(max), @data ))
declare @b64 nvarchar(max) = dbo.as_strToBase64(lower(convert(nvarchar(max), @sh1, 2)))
declare @res varchar(max) = @key + ':'+ @b64 --'Authorization='
return @res
END
Пример для метода balance:
select [dbo].[zadarma_authHeader]( '/v1/info/balance/', '','KEY', 'SECRET')
Запускаем через RequestAPI форму (или можно через Postman):
Как получить ключ для виджета через API
Описание метода авторизации находится здесь - https://zadarma.com/ru/support/api/#intro_authorization
Запускаем метод getKey
select [dbo].[zadarma_authHeader]( '/v1/webrtc/get_key/', 'sip=__SIP___','KEY', 'SECRET')
В итоге получаем секретный сессионный ключ (он действует 72 часа).
В итоге полученный ключ вставляем в виджет на внутренней странице сайта (т.е. страница доступна только внутреннему пользователю телефонии).
Получив вручную ключ, можно настроить периодическое обновление сессионного ключа:
1. В sync day процедуре вызываем внешнее действие по вызову API.
2. Получив ключ, сохраняем его в некоторой настройке в as_settings.
3. На странице с виджетом вставляем через sp параметры ключ через функцию as_setting(code, defaultValue).
Примечание. В случае проблем с авторизацией по API (выдается 403 ошибка) сделайте следующее:
- Проверьте что в HMAC функцию передаются varchar параметры, а не nvarchar (в функции специально используeтся varchar).
- Попробуйте строку переводить в tolower.
- Также параметры в строке адреса должны идти по алфавиту.
- Проверьте пошагово каждую операцию взятия хеша и перекодировки в base64. Для этого можно использовать онлайн сервисы:
-
HMAC Service https://www.freeformatter.com/hmac-generator.html#ad-output
-
MD5 Online https://decodeit.ru/md5/
-
Base64 Online - https://decodeit.ru/base64/
-
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
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы