Как отправлять SMS с сайта через smsc.ru
Введение
СМС Центр (https://smsc.ru/) - это сервис для отправки SMS через API (и множества др. функций).
Тарифы - https://smsc.ru/tariffs/
Здесь мы покажем как создать API исходящий запрос и как использовать его на форме отправки СМС.
Исходящий API
Создаем исходящий API на /asapi с кодом smsc (GET, json)
Создаем процедуру Request:
CREATE PROCEDURE [dbo].[api_smsc_request]
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(32)
AS
BEGIN
declare @login nvarchar(128) = isnull(dbo.as_setting('smsc.login', ''), '')
declare @psw nvarchar(128) = isnull(dbo.as_setting('smsc.psw', ''), '')
declare @phone nvarchar(128) = isnull((select value2 from @parameters where [key]='phone'), '')
declare @text nvarchar(max) = isnull((select value2 from @parameters where [key]='text'), '')
if(@login='') begin
select 0 Result, 'Не указан в настройках логин smsc.ru' Msg
return
end
if(@psw='') begin
select 0 Result, 'Не указан в настройках пароль smsc.ru' Msg
return
end
if(@phone='') begin
select 0 Result, 'Не указан номер телефона' Msg
return
end
if(@text='') begin
select 0 Result, 'Не указан текст СМС' Msg
return
end
-- SELECT 1
select '' Msg, 1 Result, 'https://smsc.ru/sys/send.php?login='+@login+'&psw='+@psw+'&phones='+@phone+'&mes='+ @text Url
END
В настройках мы должны прописать логин и пароль к сервису smsc.ru, перед этим необходимо создать на нем кабинет и пополнить баланс.
Процедура Response по умолчанию:
CREATE PROCEDURE [dbo].[api_smsc_response]
@response nvarchar(max),
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(32)
AS
BEGIN
-- SELECT 1
select '' Msg, 1 Result, @response Response
END
В целом метод готов к использованию. Его мы будем вызывать из формы отправки сообщения.
Страница и форма отправки СМС
Создаем страницу sms, помещаем на нее форму отправки СМС (не забываем проставить Роли для формы):
<div class="as-form" data-code="sms" data-itemid="kak-otpravlyat-sms-s-sayta-cherez-smsc-ru"></div>
В URL мы передаем телефон и текст по умолчанию в виде Телефон;Текст
В JS прописываем обработку вызова API после выполнения действия на форме:
$(function(){
as.formcallbacks["sms_saveItem"] = function(data){
var ad = JSON.parse(data.additionalData);
console.log(ad, "sms_saveItem");
if(ad){
var el = ad[0];
if(el.result){
var msg = el.msg;
if(!msg){
for(var i =0; i < el.items.length; i++)
{
if(el.items[i].key=="spCallbackResult") msg =el.items[i].title;
}
}
as.sys.bootstrapAlert(msg || "OK", {type: "success", hidePrev: true, delay: 10000000});
}else{
as.sys.bootstrapAlert(el.msg || "Operation error", {type: "danger", hidePrev: true});
}
}
}
});
Теперь создаем форму sms с 2 колонками phone, text (Многострочное поле). Оба поля обязательные.
GetItem формы sms:
CREATE PROCEDURE [dbo].[fm_sms_getItem]
@itemID nvarchar(512),
@username nvarchar(256)
AS
BEGIN
declare @phone nvarchar(256) = dbo.str_splitPart(@itemID, ';', 1)
declare @text nvarchar(256) = dbo.str_splitPart(@itemID, ';', 2)
-- SELECT 1
select @phone phone, isnull(@text , 'Falcon Space') text, '{"maxlength": 70}' options_text
-- SELECT 2
select 1 LineLabel
END
SaveItem формы SMS:
CREATE PROCEDURE [dbo].[fm_sms_saveItem]
@username nvarchar(256),
@itemID nvarchar(512),
@parameters ExtendedDictionaryParameter READONLY
AS
BEGIN
declare @pphone nvarchar(max)
select @pphone = Value2 from @parameters where [key]='phone'
declare @ptext nvarchar(max)
select @ptext = Value2 from @parameters where [key]='text'
-- SELECT 1
select 1 Result, ' ' Msg, '' SuccessUrl, 0 HideFormAfterSubmit, '' RefreshContainer
-- SELECT 2 Вызов внешнего действия
select 'apirequest' type, 'smsc' code, 'phone' p1_name, @pphone p1_value, 'text' p2_name, @ptext p2_value
END
Где-то на страницах указываем ссылку на страницу в виде:
/sms/79008007060;А это текст смс
Как выглядит форма отправки:
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем Настройка уведомлений для личного кабинета на сайте Как настроить чат помощи для пользователей Внедрение чата в личный кабинет пользователя Работа с комментариями к объектам Телеграм боты и отправка сообщений в Telegram в веб-платформе Falcon Space Как создать чат бот ВКонтакте. VK бот для обработки сообщений в группе. Как сделать push уведомление Как отправить Email, SMS или уведомление пользователю Как отправлять SMS с сайта через smsc.ru Отправка email с шаблоном письма Как сделать ежедневную отправку отчета по проекту в групповой чат Telegram? Настройки почты для отправки сообщений с сайта Видеочат. Интеграция с Vox Implant Базовая интеграция с Jitsi Meet (звонки с видео) Отправка СМС через targetsms.ru Как сделать механизм отправки различных писем по шаблону с возможностью редактирования перед отправкой Кастомизация разметки и работы компонента чат
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта