Как отправлять 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
- Основные компоненты
- Возможности
- Коммуникация с пользователем Настройка уведомлений для личного кабинета на сайте HOWTO. Как настроить чат помощи для пользователей Внедрение чата в личный кабинет пользователя Работа с комментариями к объектам Телеграм боты и отправка сообщений в 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
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы