Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:api:list:inserttimerevent [13.02.2026 05:52] Москвитина Алина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>
Строка 28: Строка 33:
  
 =====Возвращаемые параметры===== =====Возвращаемые параметры=====
-^Параметр^Описание^ +^Параметр^Название^Описание^Тип данных
-|InsertTimerEventResponse|Признак успешного создания вызова|+|InsertTimerEventResponse|Ответ на добавление событияодтверждение успешного создания события таймера|Контейнер| 
 +  
 +**Примечания:** 
 +  * Пустой элемент означает успешное выполнение операции (без дополнительных данных) 
 +  * Пространство имен XML: ''http://streamline/'' 
 +  * Код ответа ''HTTP 200 OK'' также подтверждает успешное выполнение
  
 +\\
 <code xml> <code xml>
 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
Строка 41: Строка 52:
    
  
-===== Создание сообщения через API «InsertTimerEvent» ===== 
-Для планирования запуска бизнес-операции на определённый день и время служит API-функция «InsertTimerEvent». Описание этой API можно найти на странице службы «APIScheduledEvents». Относительный путь к странице этой службы на вашем стенде ADVANTA: «/components/services/APIScheduledEvents.asmx».  
- 
-Формат тела запроса для вызова API «InsertTimerEvent» следующий: 
-<code> 
-<?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:Body> 
-    <InsertTimerEvent xmlns="http://streamline/"> 
-        <contract> 
-            <ASPNETSessionIdstring</ASPNETSessionId> 
-            <CallTime>dateTime</CallTime> 
-            <ObjectId>guid</ObjectId> 
-            <OperationCode>int</OperationCode> 
-            <Parameters>string</Parameters> 
-        </contract> 
-    </InsertTimerEvent> 
-  </soap:Body> 
-</soap:Envelope> 
- 
-</code> 
- 
-\\ 
-Описание параметров API-функции «InsertTimerEvent»: 
-^ Параметр ^ Описание ^ 
-|SessionID|ID сессии пользователя, полученное при авторизации| 
-|CallTime|Дата и время, когда событие должно быть помещено в шину| 
-|ObjectID|Идентификатор объекта ADVANTA, к которому будет привязано событие| 
-|OperationCode|Код операции в справочнике пользовательских бизнес-операций ADVANTA| 
-|Parameters|Дополнительные параметры, в формате JSON, которые будут прикреплены к событию и доступны триггеру для обработки| 
- 
-\\ 
 ===== Пример вызова API «InsertTimerEvent» в Postman ===== ===== Пример вызова API «InsertTimerEvent» в Postman =====
 Протестировать создание сообщения о выполнении бизнес-операции проще всего через систему Postman. Ниже приведены снимки настроек SOAP-запроса в ней:  Протестировать создание сообщения о выполнении бизнес-операции проще всего через систему Postman. Ниже приведены снимки настроек SOAP-запроса в ней: 
Строка 85: Строка 64:
 \\ \\
 ===== Пример триггера для обработки события ===== ===== Пример триггера для обработки события =====
-Проверить, что сообщение появилось в шине, можно с помощью триггера. Он должен реагировать на событие «Событие таймера, запланированное по подписке».+Обработать сообщение, которое появилось в шине, можно с помощью триггера. Он должен реагировать на событие «Событие таймера, запланированное по подписке».
 Общие настройки триггера: Общие настройки триггера:
  
Строка 93: Строка 72:
 \\ \\
 Код проверки «условия» запуска триггера: Код проверки «условия» запуска триггера:
-<code>+<code csharp>
 TriggerConsole.WriteLine($"Проверка условия: ID события - {Context.EventId}, отправлено - {Context.EventSentTime}"); TriggerConsole.WriteLine($"Проверка условия: ID события - {Context.EventId}, отправлено - {Context.EventSentTime}");
  
Строка 109: Строка 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}");