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>

MultipleText

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

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

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

<MultipleText Value="False" />

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

Approximately

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

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

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

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

<Approximately Value="False" />

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

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>

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

Variables

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

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

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

Тэг <Variable>

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

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

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

TitleVariable

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

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

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

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

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

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