Документация iSZN

pkSmsNotify.sql

Сообщения об ошибках

Error_NoSmsDeliveryStatus

PROCEDURE Error_NoSmsDeliveryStatus(iID PLS_INTEGER);

Описание

Вызывает ошибку «Статус доставки СМС-уведомления не существует».

Error_InvalidSmsTemplate

PROCEDURE Error_InvalidSmsTemplate(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает ошибку «Шаблон СМС-уведомления не существует».

Error_NoSmsNotification

PROCEDURE Error_NoSmsNotification(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает ошибку «СМС-уведомление не существует».

Error_SmsNotificationIsLocked

PROCEDURE Error_SmsNotificationIsLocked(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает ошибку «СМС-уведомление заблокировано».

Справочники

GetSmsDeliveryStatusName

FUNCTION GetSmsDeliveryStatusName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование статуса доставки СМС-уведомления.
Параметры:

  • iID - ID статуса доставки;
  • iStrict - определяет поведение при отсутствии статуса.

GetSmsTemplateKindName

FUNCTION GetSmsTemplateKindName(iKindID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование вида шаблона СМС-сообщения.
Параметры:

  • iKindID - ID вида шаблона;
  • iStrict - определяет поведение при некорректном виде шаблона.

GetSmsTemplateName

FUNCTION GetSmsTemplateName(iRegionID PLS_INTEGER, iID PLS_INTEGER, iDisplayMode PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование шаблона СМС-уведомления.
Параметры:

  • iRegionID, iID - ключ шаблона;
  • iDisplayMode - способ вывода результата (см. uszn.pkGen.FormatNameWithRKey);
  • iStrict - определяет поведение при отсутствии шаблона.

Создание и обработка СМС-уведомлений

AllocateNewSmsNotifyID

FUNCTION AllocateNewSmsNotifyID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый ID записи СМС-уведомления в заданном районе.

GetSmsText

FUNCTION GetSmsText(
  iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iPDocID PLS_INTEGER, iAssignedID PLS_INTEGER, iPayoutDocID PLS_INTEGER,
  iTemplateRgnID PLS_INTEGER, iTemplateID PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает текст СМС-сообщения, формируемый на основании шаблона.
Параметры:

  • iRegionID, iPCID - ключ получателя СМС;
  • iPDocID - ID экземпляра документа с данными для СМС (при формировании текста СМС на основе данных персонального документа);
  • iAssignedID - ID назначения (при формировании СМС на основании документа об оплате);
  • iPayoutDocID - ID документа об оплате (при формировании СМС на основании документа об оплате);
  • iTemplateRgnID, iTemplateID - ключ шаблона СМС.

Если не хватает необходимых данных для формирования текста СМС или шаблон содержит ошибки, возникает exception.

GetSmsTextPreview_PayoutDoc

FUNCTION GetSmsTextPreview_PayoutDoc(
  iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iAssignedID PLS_INTEGER,
  iPayoutDocKindID PLS_INTEGER, iPayoutDocNum PLS_INTEGER, dPayoutDocDate DATE,
  iiPKItemKeys uszn.TIntegerList, iiPKSubitemKeys uszn.TIntegerList,
  iTemplateRgnID PLS_INTEGER, iTemplateID PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает текст СМС-сообщения, как если бы он формировался на основании шаблона на основании документа оплаты.
Параметры:

  • iRegionID, iPCID - ключ получателя СМС;
  • iAssignedID - ID назначения;
  • iPayoutDocKindID - ID вида документа оплаты;
  • iPayoutDocNum - номер документа оплаты;
  • dPayoutDocDate - дата документа оплаты;
  • iTemplateRgnID, iTemplateID - ключ шаблона СМС.

Если не хватает необходимых данных для формирования текста СМС или шаблон содержит ошибки, возникает exception.

AddSmsNotification_PDoc

FUNCTION AddSmsNotification_PDoc(
  iRegionID PLS_INTEGER, iPCID PLS_INTEGER, sPhoneNum VARCHAR2, iPDocID PLS_INTEGER,
  iTemplateRgnID PLS_INTEGER, iTemplateID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER, iRcpRgnID PLS_INTEGER, iRcpID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Создаёт СМС-уведомление на основании персонального документа.
Параметры:

  • iRegionID, iPCID - ключ получателя СМС-уведомления;
  • sPhoneNum - номер телефона;
  • iPDocID - ID экземпляра персонального документа;
  • iTemplateRgnID, iTemplateID - ключ шаблона СМС-сообщения;
  • iSenderRgnID, iSenderID - ключ системы-отправителя;
  • iRcpRgnID, iRcpID - ключ системы-СМС-шлюза.

Возвращает ID созданного уведомления.
Если не хватает необходимых данных для формирования текста СМС, возникает exception.

AddSmsNotification_PayoutDoc

FUNCTION AddSmsNotification_PayoutDoc(
  iRegionID PLS_INTEGER, iPCID PLS_INTEGER, sPhoneNum VARCHAR2, iAssignedID PLS_INTEGER, iPayoutDocID PLS_INTEGER,
  iTemplateRgnID PLS_INTEGER, iTemplateID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER, iRcpRgnID PLS_INTEGER, iRcpID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Создаёт СМС-уведомление на основании документа об оплате сумм.
Параметры:

  • iRegionID, iPCID - ключ получателя СМС-уведомления;
  • sPhoneNum - номер телефона;
  • iAssignedID - ID назначения;
  • iPayoutDocID - ID документа об оплате сумм;
  • iTemplateRgnID, iTemplateID - ключ шаблона СМС-сообщения;
  • iSenderRgnID, iSenderID - ключ системы-отправителя;
  • iRcpRgnID, iRcpID - ключ системы-СМС-шлюза.

Возвращает ID созданного уведомления.
Если не хватает необходимых данных для формирования текста СМС, возникает exception.

DeleteSmsNotification

PROCEDURE DeleteSmsNotification(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Удаляет неотправленное СМС-уведомление.
Параметры:

  • iRegionID, iID - ключ СМС-уведомления.

Если уведомление ставилось в очередь сервиса на отправку, заблокировано или пользователь не имеет необходимывх
привилегий, возникает exception.

Отправка уведомлений через СМС-шлюз Теле2

Tele2_SendSms

PROCEDURE Tele2_SendSms(
  iRegionID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER, sSenderName VARCHAR2,
  iTotalCount IN OUT NOCOPY PLS_INTEGER, iSentSmsCount IN OUT PLS_INTEGER, iOutMsgCount IN OUT PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER,
  iTaskRecID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel PLS_INTEGER);
 
-- Отправляет запрос для получения статуса отправки СМС-уведомлений через СМС-шлюз Теле2 (SMS Target).
-- Параметры:
--   iRegionID               - ID обрабатываемого рабочего района;
--   iSenderRgnID, iSenderID - ключ системы-отправителя;
--   iTotalCount             - общее количество обработанных записей;
--   iCheckedSmsCount        - количество СМС-уведомлений, по которым запрошен статус доставкеи;
--   iOutMsgCount            - количество исходящих сообщений веб-сервиса, поставленных в очередь для отправки;
--   iErrorCount             - количество сбоев при обработке;
--   iTaskRecID              - ID записи серверной операции; null, если серверная операция не используется;
--   Log                     - протокол отправки;
--   iLogLevel               - уровень отступа в протоколе.
PROCEDURE Tele2_GetSmsStatus(
  iRegionID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER,
  iTotalCount IN OUT NOCOPY PLS_INTEGER, iCheckedSmsCount IN OUT PLS_INTEGER, iOutMsgCount IN OUT PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER,
  iTaskRecID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel PLS_INTEGER);

Описание

Отправляет неотправленные СМС-уведомления через СМС-шлюз Теле2 (SMS Target).
Параметры:

  • iRegionID - ID обрабатываемого рабочего района;
  • iSenderRgnID, iSenderID - ключ системы-отправителя;
  • sSenderName - имя отправителя, которое будет передаваться получателям СМС;
  • iTotalCount - общее количество обработанных записей;
  • iSentSmsCount - количество СМС-уведомлений, поставленных в очередь для отправки через сервис;
  • iOutMsgCount - количество исходящих сообщений веб-сервиса, поставленных в очередь для отправки;
  • iErrorCount - количество сбоев при обработке;
  • iTaskRecID - ID записи серверной операции; null, если серверная операция не используется;
  • Log - протокол отправки;
  • iLogLevel - уровень отступа в протоколе.

Tele2_GetSmsStatus

PROCEDURE Tele2_GetSmsStatus(
  iRegionID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER,
  iTotalCount IN OUT NOCOPY PLS_INTEGER, iCheckedSmsCount IN OUT PLS_INTEGER, iOutMsgCount IN OUT PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER,
  iTaskRecID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel PLS_INTEGER);
 
/*********************************************************************************************************************
 Отправка уведомлений через СМС-шлюз МТС
*********************************************************************************************************************/
 
-- Отправляет неотправленные СМС-уведомления через СМС-шлюз МТС (МТС-Рассылка PRO).
-- Параметры:
--   iRegionID               - ID обрабатываемого рабочего района;
--   iSenderRgnID, iSenderID - ключ системы-отправителя;
--   sSenderName             - имя отправителя, которое будет передаваться получателям СМС;
--   iTotalCount             - общее количество обработанных записей;
--   iSentSmsCount           - количество СМС-уведомлений, поставленных в очередь для отправки через сервис;
--   iOutMsgCount            - количество исходящих сообщений веб-сервиса, поставленных в очередь для отправки;
--   iErrorCount             - количество сбоев при обработке;
--   iTaskRecID              - ID записи серверной операции; null, если серверная операция не используется;
--   Log                     - протокол отправки;
--   iLogLevel               - уровень отступа в протоколе.

Описание

Отправляет запрос для получения статуса отправки СМС-уведомлений через СМС-шлюз Теле2 (SMS Target).
Параметры:

  • iRegionID - ID обрабатываемого рабочего района;
  • iSenderRgnID, iSenderID - ключ системы-отправителя;
  • iTotalCount - общее количество обработанных записей;
  • iCheckedSmsCount - количество СМС-уведомлений, по которым запрошен статус доставкеи;
  • iOutMsgCount - количество исходящих сообщений веб-сервиса, поставленных в очередь для отправки;
  • iErrorCount - количество сбоев при обработке;
  • iTaskRecID - ID записи серверной операции; null, если серверная операция не используется;
  • Log - протокол отправки;
  • iLogLevel - уровень отступа в протоколе.

Отправка уведомлений через СМС-шлюз МТС

Mts_SendSms

PROCEDURE Mts_SendSms(
  iRegionID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER, sSenderName VARCHAR2,
  iTotalCount IN OUT NOCOPY PLS_INTEGER, iSentSmsCount IN OUT PLS_INTEGER, iOutMsgCount IN OUT PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER,
  iTaskRecID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel PLS_INTEGER);
 
-- Отправляет запрос для получения статуса отправки СМС-уведомлений через СМС-шлюз МТС (МТС-Рассылка PRO).
-- Параметры:
--   iRegionID               - ID обрабатываемого рабочего района;
--   iSenderRgnID, iSenderID - ключ системы-отправителя;
--   iTotalCount             - общее количество обработанных записей;
--   iCheckedSmsCount        - количество СМС-уведомлений, по которым запрошен статус доставкеи;
--   iOutMsgCount            - количество исходящих сообщений веб-сервиса, поставленных в очередь для отправки;
--   iErrorCount             - количество сбоев при обработке;
--   iTaskRecID              - ID записи серверной операции; null, если серверная операция не используется;
--   Log                     - протокол отправки;
--   iLogLevel               - уровень отступа в протоколе.
PROCEDURE Mts_GetSmsStatus(
  iRegionID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER,
  iTotalCount IN OUT NOCOPY PLS_INTEGER, iCheckedSmsCount IN OUT PLS_INTEGER, iOutMsgCount IN OUT PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER,
  iTaskRecID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel PLS_INTEGER);

Описание

Отправляет неотправленные СМС-уведомления через СМС-шлюз МТС (МТС-Рассылка PRO).
Параметры:

  • iRegionID - ID обрабатываемого рабочего района;
  • iSenderRgnID, iSenderID - ключ системы-отправителя;
  • sSenderName - имя отправителя, которое будет передаваться получателям СМС;
  • iTotalCount - общее количество обработанных записей;
  • iSentSmsCount - количество СМС-уведомлений, поставленных в очередь для отправки через сервис;
  • iOutMsgCount - количество исходящих сообщений веб-сервиса, поставленных в очередь для отправки;
  • iErrorCount - количество сбоев при обработке;
  • iTaskRecID - ID записи серверной операции; null, если серверная операция не используется;
  • Log - протокол отправки;
  • iLogLevel - уровень отступа в протоколе.

Mts_GetSmsStatus

PROCEDURE Mts_GetSmsStatus(
  iRegionID PLS_INTEGER, iSenderRgnID PLS_INTEGER, iSenderID PLS_INTEGER,
  iTotalCount IN OUT NOCOPY PLS_INTEGER, iCheckedSmsCount IN OUT PLS_INTEGER, iOutMsgCount IN OUT PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER,
  iTaskRecID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel PLS_INTEGER);
 
END;
 
/
CREATE OR REPLACE PACKAGE BODY uszn.pkSmsNotify IS
 
Resource_Busy EXCEPTION;
PRAGMA exception_init(Resource_Busy, -54);
 
-- Ключи СМС-шлюзов
-- -- Теле2
IRcpRgnID_Tele2                CONSTANT PLS_INTEGER := 0;
IRcpID_Tele2                   CONSTANT PLS_INTEGER := 36;
-- -- МТС
IRcpRgnID_Mts                  CONSTANT PLS_INTEGER := 0;
IRcpID_Mts                     CONSTANT PLS_INTEGER := 38;

Описание

Отправляет запрос для получения статуса отправки СМС-уведомлений через СМС-шлюз МТС (МТС-Рассылка PRO).
Параметры:

  • iRegionID - ID обрабатываемого рабочего района;
  • iSenderRgnID, iSenderID - ключ системы-отправителя;
  • iTotalCount - общее количество обработанных записей;
  • iCheckedSmsCount - количество СМС-уведомлений, по которым запрошен статус доставкеи;
  • iOutMsgCount - количество исходящих сообщений веб-сервиса, поставленных в очередь для отправки;
  • iErrorCount - количество сбоев при обработке;
  • iTaskRecID - ID записи серверной операции; null, если серверная операция не используется;
  • Log - протокол отправки;
  • iLogLevel - уровень отступа в протоколе.