Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:api:list:inserttimerevent [13.02.2026 05:41] Москвитина Алинаproduct:api:list:inserttimerevent [02.03.2026 06:39] (текущий) Москвитина Алина
Строка 1: Строка 1:
 ====== Создание вызова в очереди событий ====== ====== Создание вызова в очереди событий ======
 Метод: **InsertTimerEvent** Метод: **InsertTimerEvent**
 +
 +Позволяет запланировать запуск бизнес-операции на определённый день и время. 
 +
 +**Примечание:**
 +Информацию о способе вызова также можно найти на странице «APIScheduledEvents» (относительный путь для установленной системы ADVANTA: «/components/services/APIScheduledEvents.asmx»).
  
 =====Передаваемые параметры===== =====Передаваемые параметры=====
-^Параметр^Описание^ +^Параметр^Тип^Назначение^ 
-|SessionID|ID сессии пользователя+|**ASPNETSessionId**|string|Идентификатор сессии пользователяот имени которой создается событие| 
-|CallTime|обязательный параметр типа DateTime в котором содержится дата и время, когда необходимо послать сообщение на шину.+|**CallTime**|DateTime|**Обязательный**. Дата и время планируемого отправки сообщения на шину| 
-|ObjectID|GUID объекта, идентификатор, смысл которого будет известен при создании логики обработкиможет быть идентификатором объекта дерева, записи справочника, пользователя и т.ппараметр не обязательный, если он не требуется, то вместо него должен допускаться null| +|**ObjectId**|Guid|Идентификатор объекта (GUID)к которому привязано событие. Смысл идентификатора определяется логикой обработчика (может быть ID записи таблицы, элемента дерева, пользователя и т.д.). Необязательный. Допускается значение null| 
-|OperationCode|обязательный целочисленный параметр с кодом операции. Код должен быть зарегистрирован в справочнике кодов операций, если его там нет, то ошибка «Код операции не зарегистрирован»| +|**OperationCode**|int|**Обязательный**. Целочисленный код операции. Код должен быть предварительно зарегистрирован в соответствующем справочнике кодов операций. В противном случае метод вернет ошибку «Код операции не зарегистрирован»| 
-|Parameters|объект типа JSON, в котором вызывающий может сохранить дополнительные параметры, которые будут необходимы при последующей обработке.|+|**Parameters**|string|Строка в формате **JSON**, содержащая произвольные дополнительные параметры, необходимые для последующей обработки события|
  
 <code xml> <code xml>
Строка 27: Строка 32:
 </code> </code>
  
 +=====Возвращаемые параметры=====
 +^Параметр^Название^Описание^Тип данных^
 +|InsertTimerEventResponse|Ответ на добавление события|Подтверждение успешного создания события таймера|Контейнер|
 + 
 +**Примечания:**
 +  * Пустой элемент означает успешное выполнение операции (без дополнительных данных)
 +  * Пространство имен XML: ''http://streamline/''
 +  * Код ответа ''HTTP 200 OK'' также подтверждает успешное выполнение
  
-===== Создание сообщения через API «InsertTimerEvent» ===== +\\ 
-Для планирования запуска бизнес-операции на определённый день и время служит API-функция «InsertTimerEvent». Описание этой API можно найти на странице службы «APIScheduledEvents». Относительный путь к странице этой службы на вашем стенде ADVANTA: «/components/services/APIScheduledEvents.asmx».  +<code xml>
- +
-Формат тела запроса для вызова API «InsertTimerEvent» следующий: +
-<code>+
 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
-<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> +<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
-  <soap:Body> +    <soap:Body> 
-    <InsertTimerEvent xmlns="http://streamline/"+        <InsertTimerEventResponse xmlns="http://streamline/" /> 
-        <contract> +    </soap:Body>
-            <ASPNETSessionIdstring</ASPNETSessionId> +
-            <CallTime>dateTime</CallTime> +
-            <ObjectId>guid</ObjectId> +
-            <OperationCode>int</OperationCode> +
-            <Parameters>string</Parameters> +
-        </contract+
-    </InsertTimerEvent> +
-  </soap:Body>+
 </soap:Envelope> </soap:Envelope>
- 
 </code> </code>
 + 
  
-\\ 
-Описание параметров API-функции «InsertTimerEvent»: 
-^ Параметр ^ Описание ^ 
-|SessionID|ID сессии пользователя, полученное при авторизации| 
-|CallTime|Дата и время, когда событие должно быть помещено в шину| 
-|ObjectID|Идентификатор объекта ADVANTA, к которому будет привязано событие| 
-|OperationCode|Код операции в справочнике пользовательских бизнес-операций ADVANTA| 
-|Parameters|Дополнительные параметры, в формате JSON, которые будут прикреплены к событию и доступны триггеру для обработки| 
- 
-\\ 
 ===== Пример вызова API «InsertTimerEvent» в Postman ===== ===== Пример вызова API «InsertTimerEvent» в Postman =====
 Протестировать создание сообщения о выполнении бизнес-операции проще всего через систему Postman. Ниже приведены снимки настроек SOAP-запроса в ней:  Протестировать создание сообщения о выполнении бизнес-операции проще всего через систему Postman. Ниже приведены снимки настроек SOAP-запроса в ней: 
Строка 72: Строка 64:
 \\ \\
 ===== Пример триггера для обработки события ===== ===== Пример триггера для обработки события =====
-Проверить, что сообщение появилось в шине, можно с помощью триггера. Он должен реагировать на событие «Событие таймера, запланированное по подписке».+Обработать сообщение, которое появилось в шине, можно с помощью триггера. Он должен реагировать на событие «Событие таймера, запланированное по подписке».
 Общие настройки триггера: Общие настройки триггера:
  
Строка 80: Строка 72:
 \\ \\
 Код проверки «условия» запуска триггера: Код проверки «условия» запуска триггера:
-<code>+<code csharp>
 TriggerConsole.WriteLine($"Проверка условия: ID события - {Context.EventId}, отправлено - {Context.EventSentTime}"); TriggerConsole.WriteLine($"Проверка условия: ID события - {Context.EventId}, отправлено - {Context.EventSentTime}");
  
Строка 96: Строка 88:
 \\ \\
 Код «скрипта». В данном примере просто выводим в консоль ID и время сообщения, а также параметры, переданные в API-функции «InsertTimerEvent»: Код «скрипта». В данном примере просто выводим в консоль ID и время сообщения, а также параметры, переданные в API-функции «InsertTimerEvent»:
-<code>+<code csharp>
 TriggerConsole.WriteLine($"ID события = {Context.EventId}"); TriggerConsole.WriteLine($"ID события = {Context.EventId}");
 TriggerConsole.WriteLine($"Дата и время = {Context.EventSentTime}"); TriggerConsole.WriteLine($"Дата и время = {Context.EventSentTime}");