Документация 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 - уровень отступа в протоколе.