Признак, определяющий, будет ли отправка СМС происходить в фоновом режиме (в отдельном потоке, то есть без задержки для приложения, вызвавшего данную команду).
Необязательный тэг. Значение тэга <Background>: не ожидается.
Если тэг <Background> отсутствует, то для атрибута Value используется значение False.
Атрибуты тэга <Background>
Value
Значение.
Обязательный атрибут. Ожидается логическое значение.
MultipleText
Признак, определяющий, будет ли отправка СМС происходить с разным текстом для разных адресатов.
Необязательный тэг. Значение тэга <MultipleText>: не ожидается.
Если тэг <MultipleText> отсутствует, то для атрибута Value используется значение False.
Атрибуты тэга <MultipleText>
Value
Значение.
Обязательный атрибут. Ожидается логическое значение.
PhonesSqlQuery
Sql-запрос, возвращающий список телефонов, переменных для автозамены в тексте сообщений, имена, а также пол владельцев, которым следует отправить сообщение через систему "СМС-Центр".
Обязательный тэг. Значение тэга <PhonesSqlQuery>: тэг <Text>.
Тэг <Text>
Содержит sql-запрос.
Обязательный тэг. Значение тэга <Text>: текст sql-запроса.
Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):
Id - произвольный идентификатор, соответствующий телефону для отправки СМС, который будет использоваться в Post-запросе и UpdateStatus-запросе.
Phone - телефон для отправки СМС.
Title - имя адресата СМС, которое будет подставлено в текст сообщения через переменную TitleVariable (или через переменную с именем Title, описанную в тэге <Variables>).
DateSend - дата, когда сообщение будет передано от СМС-сервера оператору.
Sex - пол адресата СМС.
TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, указываемого в запросе из тэга <MaleTextSqlQuery> или <FemaleTextSqlQuery> (в зависимости от значения в поле "Sex").
+ любые другие столбцы с произвольными именами переменных для замены, которые описаны в тэге <Variables> команды.
Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями передаваемых клиентом параметров с соответствующими названиями.
NormalizePhones
Способ, которым номера телефонов, полученные из поля Phone запроса PhonesSqlQuery, будут приводиться к нормальному виду перед отправкой в систему "СМС-Центр".
Необязательный тэг. Значение тэга <NormalizePhones>: не ожидается.
Если тэг <NormalizePhones> отсутствует, то для атрибута Type используется значение Full.
Из телефона удаляются все символы, за исключением цифр
Full
Из телефона удаляются все символы, за исключением цифр, в 11-значных номерах начальная 8-ка меняется на 7, в 10-значных в начало дописывается 7 (нормализация для российских номеров)
Variables
Список переменных для замены в тексте сообщения. При отсутствии замен производиться не будет.
Необязательный тэг. Значение тэга <Variables>: список тэгов <Variable>.
Тэг <Variable>
Переменная для замены в тексте сообщения. В исходном сообщении все текстовые строки Value будут заменены на значения, полученные из поля Name запроса PhonesSqlQuery.
Обязательный тэг. Значение тэга <Variable>: не ожидается.
Атрибуты тэга <Variable>
Name
Имя переменной для подстановки.
Обязательный атрибут. Ожидается название одного из полей, возвращаемых в запросе PhonesSqlQuery.
Value
Текстовая строка, которая будет заменяться в исходном сообщении.
Необязательный атрибут. Значение атрибута Value: любое значение.
TitleVariable
Текстовая строка, которая будет заменена в исходном тексте сообщения на имя адресата СМС. При отсутствии переменная заменяться не будет.
Необязательный тэг. Значение тэга <TitleVariable>: не ожидается.
Атрибуты тэга <TitleVariable>
Value
Значение.
Обязательный атрибут. Значение атрибута Value: любое значение.
CommonTextSqlQuery
Sql-запрос, возвращающий текст сообщения.
Обязательный тэг. Значение тэга <CommonTextSqlQuery>: тэг <Text>.
Тэг <Text>
Содержит sql-запрос.
Обязательный тэг. Значение тэга <Text>: текст sql-запроса.
Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):
TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, на который будет ссылаться запрос из тэга <PhonesSqlQuery>.
Text - текст сообщения, возможно, содержащий текстовую строку TitleVariable, а также строки переменных, описанных в тэге <Variables> команды.
Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями параметров с соответствующими названиями, передаваемых клиентом.
MaleTextSqlQuery
Sql-запрос, возвращающий текст сообщения для лиц мужского пола.
Обязательный тэг. Значение тэга <MaleTextSqlQuery>: тэг <Text>.
Тэг <Text>
Содержит sql-запрос.
Обязательный тэг. Значение тэга <Text>: текст sql-запроса.
Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):
TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, на который будет ссылаться запрос из тэга <PhonesSqlQuery>.
Text - текст сообщения, возможно, содержащий текстовую строку TitleVariable, а также строки переменных, описанных в тэге <Variables> команды.
Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями параметров с соответствующими названиями, передаваемых клиентом.
FemaleTextSqlQuery
Sql-запрос, возвращающий текст сообщения для лиц женского пола.
Обязательный тэг. Значение тэга <FemaleTextSqlQuery>: тэг <Text>.
Тэг <Text>
Содержит sql-запрос.
Обязательный тэг. Значение тэга <Text>: текст sql-запроса.
Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):
TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, на который будет ссылаться запрос из тэга <PhonesSqlQuery>.
Text - текст сообщения, возможно, содержащий текстовую строку TitleVariable, а также строки переменных, описанных в тэге <Variables> команды.
Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями параметров с соответствующими названиями, передаваемых клиентом.
PostSqlQuery
Sql-запрос, выполняющийся при успешной отправке каждого СМС.
Необязательный тэг. Значение тэга <PostSqlQuery>: тэг <Text>.
Тэг <Text>
Содержит sql-запрос.
Обязательный тэг. Значение тэга <Text>: текст sql-запроса.
Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):
Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями параметров с соответствующими названиями, передаваемых клиентом.
Текст sql-запроса поддерживает переменную {MessageId}, заменяемые при его выполнении значением идентификатора СМС в системе "СМС-Центра".
Текст sql-запроса поддерживает переменную {Cost}, заменяемые при его выполнении значением стоимости отправки СМС в системе "СМС-Центра".
Текст sql-запроса поддерживает переменную {Id}, заменяемую при его выполнении значением, возвращенным для очередного телефона в запросе, указанном в тэге <PhonesSqlQuery>.
Текст sql-запроса поддерживает переменную {Text}, заменяемую при его выполнении значением текста, который был отправлен в СМС.
Текст sql-запроса поддерживает переменную {Sex}, заменяемую при его выполнении значением пола адресата СМС, указанном в тэге <PhonesSqlQuery>.
UpdateStatusSqlQuery
Sql-запрос, выполняющийся после отправки всех сообщений с задержкой в 10 секунд после отправки последнего из них.
Необязательный тэг. Значение тэга <UpdateStatusSqlQuery>: тэг <Text>.
Тэг <Text>
Содержит sql-запрос.
Обязательный тэг. Значение тэга <Text>: текст sql-запроса.
Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):
Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями параметров с соответствующими названиями, передаваемых клиентом.
Текст sql-запроса поддерживает переменную {SMSStatusId}, заменяемые при его выполнении значением статуса отправки в системе "СМС-Центра".
Текст sql-запроса поддерживает переменную {Id}, заменяемую при его выполнении значением, возвращенным для очередного телефона в запросе, указанном в тэге <PhonesSqlQuery>.
Возможные статусы отправки СМС в системе "СМС-Центр"
<Command Name="SendCommandName" Type="SendCommand" Assembly="SMSCenterEngine">
<!--Тэги, общие для всех команд-->
<!--Тэги, общие для всех команд сборки SMSCenterEngine-->
<!--Тэги, специфичные для определенной команды (зависит от типа) сборки SMSCenterEngine-->
</Command>
<Background Value="False" />
<PhonesSqlQuery>
<Text>
SELECT
sms_phone_id AS "Id",
phone AS "Phone",
title AS "Title",
{Now} AS "DateSend",
sex AS "Sex",
text_id AS "TextId",
variable_value AS "VariableName"
FROM
sms_phone
</Text>
</PhonesSqlQuery>
<CommonTextSqlQuery>
<Text>
SELECT
text_id AS "TextId",
'Уважаемый, [имя]! Номер вашего заказа – [переменная]' AS "Text"
FROM
male_text
</Text>
</CommonTextSqlQuery>
<MaleTextSqlQuery>
<Text>
SELECT
text_id AS "TextId",
'Уважаемый, [имя]! Номер вашего заказа – [переменная]' AS "Text"
FROM
male_text
</Text>
</MaleTextSqlQuery>
<FemaleTextSqlQuery>
<Text>
SELECT
text_id AS "TextId",
'Уважаемая, [имя]! Номер вашего заказа – [переменная]' AS "Text"
FROM
female_text
</Text>
</FemaleTextSqlQuery>
<PostSqlQuery>
<Text>
UPDATE
sms_phone
SET
message_id = {MessageId},
text = {Text},
sex = {Sex},
cost = {Cost}
WHERE
sms_phone_id = {Id}
</Text>
</PostSqlQuery>
<UpdateStatusSqlQuery>
<Text>
UPDATE
sms_phone
SET
sms_status_id = {SMSStatusId}
WHERE
sms_phone_id = {Id}
</Text>
</UpdateStatusSqlQuery>