Отправка СМС через targetsms.ru

Для отправки SMS используем внешнее действие apirequest

1. Создаем исходящий метод апи sms (json post) в /asapi.

Процедура Request: 

CREATE PROCEDURE [dbo].[api_sms_request]
	@parameters ExtendedDictionaryParameter READONLY,  -- (Key, Value2)
	@username nvarchar(32)  -- current site user
AS
BEGIN
	-- SELECT 1  Msg, Result, Url (outer request url)
	select '' Msg, 1 Result, 'https://sms.targetsms.ru/sendsmsjson.php' Url
    
    declare @json nvarchar(max);
    
    select @json = (
      select
      	[security.login] = (select value from as_settings where code='targetsms.login'),
      	[security.password] = (select value from as_settings where code='targetsms.password'),
        type = 'sms',
      	message = (
          select
            type = 'sms',
            sender = 'Biz_broker', --отправитель
            [text] = (select Value2 from @parameters where [Key]='text'),
            name_delivery = N'Рассылка 1', --название рассылки ?
            translite = '0',
            abonent = (
              select
                phone = (select Value2 from @parameters where [Key]='to'),
                number_sms = '1'
              for json path
            )
          for json path
        )
      for json path, without_array_wrapper
    );
    
    -- SELECT 2 PARAMETERS - request parameters
    -- form (send as POST form), header (in http headers), json (when you need set body for POST request), get parameters include in URL  
	select 'json' name, @json value, 'json' [type]
END

В настройках указываем targetsms.login и targetsms.password настройки для подключения к сервису. 

Процедура Response

CREATE PROCEDURE [dbo].[api_sms_response]
	@response nvarchar(max),
	@parameters ExtendedDictionaryParameter READONLY,  --(Key, Value2 - same as in request)
	@username nvarchar(32)
AS
BEGIN
	-- SELECT 1
	select '' Msg, 1 Result, @response Response

	-- SELECT 2 Outer actions
END

2. Как вызвать отправку созданного метода API: 

Если отправка идет через форму, то прописываем в SELECT 2 в SaveItem: 

select 'apirequest' type, 'sms' code, 
    'to' p1_name, '79008007060' p1_value,
    'text' p2_name, 'sms text...' 2_value

 Указываем код API метода SMS и передаем 2 параметра - to, text

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK