Довідка
Markdown статтіПовідомити про помилку

Дія register_client_context

System ID: action_register_client_context

Опис

Записує одну подію клієнта в Context API і, якщо треба, разом оновлює один простір імен стану. Запис збігається з тим, який робить інтеграція через Context API. Дія не викликає зовнішній HTTP і не змінює статус звернення, поля картки чи маршрутизацію.

Нода сценарію — це команда. Зареєстрована дія клієнта — окремий факт: «оформив замовлення», а не «крок сценарію виконався».

Події (гілки сценарію)

Подія Коли виникає
success Нову команду застосовано
replayed Повтор тієї самої команди повернув перший результат
conflict Версія стану вже змінилася
error Немає підтвердженого клієнта, перевірка не пройшла або сховище недоступне

Повний результат — у константі set_to (типово registered_client_context). Код помилки без чутливих даних — у error_to (типово register_client_context_error).

Параметри

Параметр Тип Обовʼязковий Типово Опис
operation select так record_action record_action — подія; set_state — лише заміна стану
client_id string ні з констант ID клієнта ConnectiveOne. Якщо немає — client.op_client_id або client.id
namespace string так Група даних інтеграції, наприклад commerce. Зарезервовані: operational, system
idempotency_key string так Стабільний ключ однієї логічної команди. Не генеруйте новий UUID на кожному повторі
external_event_id string ні Стабільний ID події в зовнішній системі
action_type string ні Тип події, наприклад checkout_submitted
occurred_at string ні Час події, ISO-8601
attributes object ні {} Короткі атрибути. Повний текст розмови сюди не кладіть
state object для set_state Заміна простору імен. Обовʼязкове expectedVersion
set_to string ні registered_client_context Константа результату
error_to string ні register_client_context_error Константа коду помилки

Приклад конфігурації

{
  "operation": "record_action",
  "namespace": "commerce",
  "idempotency_key": "checkout-{{order_id}}-{{event_id}}",
  "external_event_id": "checkout-{{order_id}}",
  "action_type": "checkout_submitted",
  "occurred_at": "{{event_time}}",
  "attributes": { "orderId": "{{order_id}}" },
  "state": {
    "expectedVersion": "{{commerce_version}}",
    "value": { "stage": "awaiting_payment", "orderId": "{{order_id}}" },
    "observedAt": "{{event_time}}"
  },
  "set_to": "registered_client_context"
}

Повтор з тим самим ключем і тим самим тілом повертає перший результат. Інше тіло з тим самим ключем відхиляється. Якщо expectedVersion не збігається, крок іде в гілку conflict і не записує ні подію, ні стан.

Повʼязані документи

Працюєте з власним ШІ-агентом?Встановіть відкритий skill, щоб ваш ШІ-агент працював з актуальною офіційною документацією ConnectiveOne.Отримати skillПотрібна підтримка?Не знайшли відповідь або потрібна допомога команди ConnectiveOne? Створіть запит у Client Portal.Створити запит