Для отправки 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