GetCostCommand

Команда взаимодействия с СМС-сервером "СМС-Центр"; возвращает стоимость СМС-рассылки.

Шаблон GetCostCommand

<Command Name="" Type="GetCostCommand" Assembly="SMSCenterEngine">
  <UserSqlQuery>
    <Text></Text>
  </UserSqlQuery>
  <PasswordSqlQuery>
    <Text></Text>
  </PasswordSqlQuery>
  <Background Value="True" />
  <MultipleText Value="True" />
  <Approximately Value="" />
  <PhonesSqlQuery>
    <Text></Text>
  </PhonesSqlQuery>
  <NormalizePhones Type="Full" />
  <Variables>
    <Variable Name="VariableName" Value="[переменная]" />
  </Variables>
  <TitleVariable Value="" />
  <CommonTextSqlQuery>
    <Text></Text>
  </CommonTextSqlQuery>
  <MaleTextSqlQuery>
    <Text></Text>
  </MaleTextSqlQuery>
  <FemaleTextSqlQuery>
    <Text></Text>
  </FemaleTextSqlQuery>
</Command>

Описание GetCostCommand

<Command Name="GetCostCommandName" Type="GetCostCommand" Assembly="SMSCenterEngine">
  <!--Тэги, общие для всех команд-->
  <!--Тэги, общие для всех команд сборки SMSCenterEngine-->
  <!--Тэги, специфичные для определенной команды (зависит от типа) сборки SMSCenterEngine-->
</Command>

Тэги, специфичные для GetCostCommand

Background

Признак, определяющий, будет ли отправка СМС происходить в фоновом режиме (в отдельном потоке, то есть без задержки для приложения, вызвавшего данную команду).

Необязательный тэг. Значение тэга <Background>: не ожидается.

Если тэг <Background> отсутствует, то для атрибута Value используется значение False.

<Background Value="False" />

Атрибуты тэга <Background>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

MultipleText

Признак, определяющий, определяющий, будет ли отправка СМС происходить с разным текстом для разных адресатов.

Необязательный тэг. Значение тэга <MultipleText>: не ожидается.

Если тэг <MultipleText> отсутствует, то для атрибута Value используется значение False.

<MultipleText Value="False" />

Атрибуты тэга <MultipleText>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

Approximately

Признак, определяющий, будет ли вычисление стоимости происходить приблизительно.

Приблизительное вычисление стоимости основано на том, что все сообщения по длине считаются равными самому длинному. Применяется для ускорения ответа от сервера в том случае, когда рассылка достаточно большая.

Необязательный тэг. Значение тэга <Approximately>: не ожидается.

Если тэг <Approximately> отсутствует, то для атрибута Value используется значение False.

<Approximately Value="False" />

Атрибуты тэга <Approximately>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

PhonesSqlQuery

Sql-запрос, возвращающий список телефонов, переменных для автозамены в тексте сообщений, имена, а также пол владельцев, которым следует отправить сообщение через систему "СМС-Центр".

Обязательный тэг. Значение тэга <PhonesSqlQuery>: тэг <Text>.

<PhonesSqlQuery>
  <Text>
    SELECT
    sms_phone_id AS "Id",
    phone AS "Phone",
    title AS "Title",
    sex AS "Sex",
    text_id AS "TextId",
    variable_value AS "VariableName"
    FROM
    sms_phone
  </Text>
</PhonesSqlQuery>

Тэг <Text>

Содержит sql-запрос.

Обязательный тэг. Значение тэга <Text>: текст sql-запроса.

Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):

  1. Id - произвольный идентификатор, соответствующий телефону для отправки СМС, который будет использоваться в Post-запросе (сам Post-запрос пока не реализован для данной команды).

  2. Phone - телефон для отправки СМС.

  3. Title - имя адресата СМС, которое будет подставлено в текст сообщения через переменную TitleVariable (или через переменную с именем Title, описанную в тэге <Variables>).

  4. Sex - пол адресата СМС.

  5. TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, указываемого в запросе из тэга <MaleTextSqlQuery> или <FemaleTextSqlQuery> (в зависимости от значения в поле "Sex").

+ любые другие столбцы с произвольными именами переменных для замены, которые описаны в тэге <Variables> команды.

Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями передаваемых клиентом параметров с соответствующими названиями.

NormalizePhones

Способ, которым номера телефонов, полученные из поля Phone запроса PhonesSqlQuery, будут приводиться к нормальному виду перед отправкой в систему "СМС-Центр".

Необязательный тэг. Значение тэга <NormalizePhones>: не ожидается.

<NormalizePhones Type="Full" />

Атрибуты тэга <NormalizePhones>

Type

Тип нормализации.

Обязательный атрибут. Ожидается название одного из типов нормализации номеров телефонов.

Типы нормализации номеров телефонов

None

Нормализация не выполняется

Trim

Из телефона удаляются все символы, за исключением цифр

Full

Из телефона удаляются все символы, за исключением цифр, в 11-значных номерах начальная 8-ка меняется на 7, в 10-значных в начало дописывается 7 (нормализация для российских номеров)

Variables

Список переменных для замены в тексте сообщения. При отсутствии замен производиться не будет.

Необязательный тэг. Значение тэга <Variables>: список тэгов <Variable>.

<Variables>
  <Variable Name="VariableName" Value="[переменная]" />
</Variables>

Тэг <Variable>

Переменная для замены в тексте сообщения. В исходном сообщении все текстовые строки Value будут заменены на значения, полученные из поля Name запроса PhonesSqlQuery.

Обязательный тэг. Значение тэга <Variable>: не ожидается.

Атрибуты тэга <Variable>

Name

Имя переменной для подстановки.

Обязательный атрибут. Ожидается название одного из полей, возвращаемых в запросе PhonesSqlQuery.

Value

Текстовая строка, которая будет заменяться в исходном сообщении.

Необязательный атрибут. Ожидается любое значение.

TitleVariable

Текстовая строка, которая будет заменена в исходном тексте сообщения на имя адресата СМС. При отсутствии переменная заменяться не будет.

Устаревшая реализация подстановки переменной в текст сообщения. Вместо элемента рекомендуется использовать описание переменных в тэге <Variables> команды.

Необязательный тэг. Значение тэга <TitleVariable>: не ожидается.

<TitleVariable Value="[имя]" />

Атрибуты тэга <TitleVariable>

Value

Значение.

Обязательный атрибут. Ожидается любое значение.

CommonTextSqlQuery

Sql-запрос, возвращающий текст сообщения.

Необязательный тэг. Значение тэга <CommonTextSqlQuery>: тэг <Text>.

<CommonTextSqlQuery>
  <Text>
    SELECT
    text_id AS "TextId",
    'Уважаемый, [имя]! Номер вашего заказа – [переменная]' AS "Text"
    FROM
    male_text
  </Text>
</CommonTextSqlQuery>

Тэг <Text>

Содержит sql-запрос.

Обязательный тэг. Значение тэга <Text>: текст sql-запроса.

Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):

  1. TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, на который будет ссылаться запрос из тэга <PhonesSqlQuery>.

  2. Text - текст сообщения, возможно, содержащий текстовую строку TitleVariable, а также строки переменных, описанных в тэге <Variables> команды.

Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями передаваемых клиентом параметров с соответствующими названиями.

MaleTextSqlQuery

Sql-запрос, возвращающий текст сообщения для лиц мужского пола.

Необязательный тэг. Значение тэга <MaleTextSqlQuery>: тэг <Text>.

<MaleTextSqlQuery>
  <Text>
    SELECT
    text_id AS "TextId",
    'Уважаемый, [имя]! Номер вашего заказа – [переменная]' AS "Text"
    FROM
    male_text
  </Text>
</MaleTextSqlQuery>

Тэг <Text>

Содержит sql-запрос.

Обязательный тэг. Значение тэга <Text>: текст sql-запроса.

Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):

  1. TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, на который будет ссылаться запрос из тэга <PhonesSqlQuery>.

  2. Text - текст сообщения, возможно, содержащий текстовую строку TitleVariable, а также строки переменных, описанных в тэге <Variables> команды.

Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями передаваемых клиентом параметров с соответствующими названиями.

FemaleTextSqlQuery

Sql-запрос, возвращающий текст сообщения для лиц женского пола.

Необязательный тэг. Значение тэга <FemaleTextSqlQuery>: тэг <Text>.

<FemaleTextSqlQuery>
  <Text>
    SELECT
    text_id AS "TextId",
    'Уважаемая, [имя]! Номер вашего заказа – [переменная]' AS "Text"
    FROM
    female_text
  </Text>
</FemaleTextSqlQuery>

Тэг <Text>

Содержит sql-запрос.

Обязательный тэг. Значение тэга <Text>: текст sql-запроса.

Sql-запрос должен возвращать список полей со следующими заголовками (алиасами):

  1. TextId (столбец обязателен только при истинном значении атрибута Value в тэге <Multiple>) - идентификатор отправляемого текста, на который будет ссылаться запрос из тэга <PhonesSqlQuery>.

  2. Text - текст сообщения, возможно, содержащий текстовую строку TitleVariable, а также строки переменных, описанных в тэге <Variables> команды.

Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями передаваемых клиентом параметров с соответствующими названиями.

Last updated