Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:api:creating_bus_events [04.12.2025 05:25] Москвитина Алинаproduct:api:creating_bus_events [05.12.2025 09:49] (текущий) Москвитина Алина
Строка 37: Строка 37:
 Перечень «бизнес-операций» и расписание регулярного таймера для их запуска можно найти в панели администратора ADVANTA, на странице «Дополнительные сервисы / Расписание пользовательских бизнес-операций»: Перечень «бизнес-операций» и расписание регулярного таймера для их запуска можно найти в панели администратора ADVANTA, на странице «Дополнительные сервисы / Расписание пользовательских бизнес-операций»:
  
-{{ :product:api:picture_1.png?800nolink&400 |}} +{{ :product:api:picture_1.png?600direct&400 |}} 
-// Рисунок 1. Запуск справочника пользовательских бизнес-операций //+<TEXT align="center">//Рисунок 1. Запуск справочника пользовательских бизнес-операций//</text>
  
 \\ \\
Строка 45: Строка 45:
 \\ \\
  
-{{ :product:api:picture_2.png?500nolink&400 |}} +{{ :product:api:picture_2.png?600direct&400 |}} 
-//Рисунок 2. Переход в справочник бизнес-операций//+<TEXT align="center">//Рисунок 2. Переход в справочник бизнес-операций//</text>
  
 \\ \\
Строка 52: Строка 52:
 На странице справочника «бизнес-операций» нажмите кнопку «Добавить»: На странице справочника «бизнес-операций» нажмите кнопку «Добавить»:
  
-{{ :product:api:picture_3.png?500nolink&400 |}} +{{ :product:api:picture_3.png?600direct&400 |}} 
-//Рисунок 3. Добавление бизнес-операции//+<TEXT align="center">//Рисунок 3. Добавление бизнес-операции//</text>
  
 \\ \\
Строка 59: Строка 59:
 Введите название новой бизнес-операции и нажмите «Сохранить»: Введите название новой бизнес-операции и нажмите «Сохранить»:
  
-{{ :product:api:picture_4.png?500nolink&400 |}} +{{ :product:api:picture_4.png?600direct&400 |}} 
-//Рисунок 4. Создание новой бизнес-операции//+<TEXT align="center">//Рисунок 4. Создание новой бизнес-операции//</text>
  
 \\ \\
Строка 66: Строка 66:
 Операция появится в справочнике. Ей будет присвоен внутренний код, который потребуется при вызове API «InsertTimerEvent»: Операция появится в справочнике. Ей будет присвоен внутренний код, который потребуется при вызове API «InsertTimerEvent»:
  
-{{ :product:api:picture_5.png?500nolink&400 |}} +{{ :product:api:picture_5.png?600direct&400 |}} 
-//Рисунок 5. Новая операция в справочнике бизнес-операций//+<TEXT align="center">//Рисунок 5. Новая операция в справочнике бизнес-операций//</text>
  
 \\ \\
Строка 112: Строка 112:
 Протестировать создание сообщения о выполнении бизнес-операции проще всего через систему Postman. Ниже приведены снимки настроек SOAP-запроса в ней:  Протестировать создание сообщения о выполнении бизнес-операции проще всего через систему Postman. Ниже приведены снимки настроек SOAP-запроса в ней: 
  
-{{ :product:api:picture_6.png?500nolink&400 |}} +{{ :product:api:picture_6.png?600direct&400 |}} 
-//Рисунок 6. Настройки заголовков запроса (закладка «Headers»)//+<TEXT align="center">//Рисунок 6. Настройки заголовков запроса (закладка «Headers»)//</text>
 \\ \\
 \\ \\
-{{ :product:api:picture_7.png?500nolink&400 |}} +{{ :product:api:picture_7.png?600direct&400 |}} 
-//Рисунок 7. Настройки тела запроса (закладка «Body»)//+<TEXT align="center">//Рисунок 7. Настройки тела запроса (закладка «Body»)//</text>
  
 \\ \\
Строка 124: Строка 124:
 Общие настройки триггера: Общие настройки триггера:
  
-{{ :product:api:picture_8.png?500nolink&400 |}} +{{ :product:api:picture_8.png?600direct&400 |}} 
-//Рисунок 8. Настройки триггера//+<TEXT align="center">//Рисунок 8. Настройки триггера//</text> 
 + 
 +\\ 
 +Код проверки «условия» запуска триггера: 
 +<code> 
 +TriggerConsole.WriteLine($"Проверка условия: ID события - {Context.EventId}, отправлено - {Context.EventSentTime}"); 
 + 
 +// Реагируем только на бизнес-операцию с кодом №1 
 +if (Event.BusinessOperationCode == 1){ 
 +    TriggerConsole.WriteLine($"ID cобытия таймера: {Event.BusinessOperationCode}"); 
 +} else { 
 +    return false; // Если это не операция с кодом №1, не запускаем триггер 
 +
 + 
 +return true; 
 + 
 +</code> 
 + 
 +\\ 
 +Код «скрипта». В данном примере просто выводим в консоль ID и время сообщения, а также параметры, переданные в API-функции «InsertTimerEvent»: 
 +<code> 
 +TriggerConsole.WriteLine($"ID события = {Context.EventId}"); 
 +TriggerConsole.WriteLine($"Дата и время = {Context.EventSentTime}"); 
 + 
 +// Код бизнес-операции: 
 +TriggerConsole.WriteLine($"BusinessOperationCode = {Event.BusinessOperationCode}"); 
 + 
 +// UID объекта, указанный при вызове API InsertTimerEvent: 
 +TriggerConsole.WriteLine($"ObjectId = {Event.ObjectId}"); 
 + 
 +// Параметры, переданные через API InsertTimerEvent: 
 +TriggerConsole.WriteLine($"Parameters = {Event.Parameters}"); 
 + 
 +</code> 
 + 
 +\\ 
 +В результате, в логе триггера будут видны переданные через API значения: 
 + 
 +{{ :product:api:picture_9.png?600direct&400 |}} 
 +<TEXT align="center">//Рисунок 9. Лог триггера//</text> 
 + 
 +\\ 
 +===== Просмотр очереди через API «CheckTimerEvent» ===== 
 +Увидеть всю очередь сообщений бизнес-операции можно с помощью API-функции «CheckTimerEvent». Информацию о способе её вызова также можно найти на странице службы «APIScheduledEvents» (относительный путь на стенде ADVANTA: «/components/services/APIScheduledEvents.asmx»). 
 + 
 +Формат вызова API «CheckTimerEvent»: 
 +<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> 
 +    <CheckTimerEvent xmlns="http://streamline/"> 
 +        <contract> 
 +            <ASPNETSessionId>string</ASPNETSessionId> 
 +            <ObjectId>guid</ObjectId> 
 +            <OperationCode>int</OperationCode> 
 +        </contract> 
 +    </CheckTimerEvent> 
 +  </soap:Body> 
 +</soap:Envelope> 
 + 
 +</code> 
 + 
 +\\ 
 +Пример настройки POST-запроса для вызова «CheckTimerEvent» в Postman: 
 + 
 +{{ :product:api:picture_10.png?600direct&400 |}} 
 +<TEXT align="center">//Рисунок 10. Настройки заголовков вызова API «CheckTimerEvent»//</text> 
 + 
 +\\ 
 +{{ :product:api:picture_11.png?600direct&400 |}} 
 +<TEXT align="center">//Рисунок 11. Настройки тела запроса API «CheckTimerEvent»//</text> 
 + 
 +\\ 
 +Если запрос настроен верно, в Postman появится перечень сообщений указанной бизнес-операции. Пример: 
 + 
 +{{ :product:api:picture_12.png?600direct&400 |}} 
 +<TEXT align="center">//Рисунок 12. Пример списка запланированных сообщений//</text>