Дія load_external_context
System ID:
action_load_external_context
Опис
Надсилає POST із JSON на дозволену адресу і зберігає знімок, дії, сесії або повідомлення в контекст клієнта. Після успішного застосування дані можна читати через Context API з наступного кроку сценарію.
Дія не перезаписує поля картки CRM. Схожа назва поля в JSON сама по собі не стає платежем чи зміною тікета. URL має лишатися під префіксом підключення, яке задає адміністратор. Клієнт у відповіді має збігатися з клієнтом поточного сценарію.
На відміну від send_request, ця дія ще зберігає відповідь у контекст клієнта.
Події (гілки сценарію)
| Подія | Коли виникає |
|---|---|
| applied | Збережено зіставлені елементи |
| no_change | У відповіді не було чого зберігати |
| pending_import | Відповідь більша за синхронний ліміт; пакет імпорту — в константі результату |
| conflict | Клієнт сценарію змінився під час виклику або це виконання вже не актуальне |
| invalid_response | Тіло, зіставлення, клієнт або розмір некоректні, або частина елементів не записалась |
| unavailable | Підключення, облікові дані або зовнішня система недоступні |
Результат — у set_to (типово external_context_result). Код і причина помилки — у error_to (типово external_context_error).
Параметри
| Параметр | Тип | Обовʼязковий | Типово | Опис |
|---|---|---|---|---|
connection_ref |
string | так | — | ID дозволеного підключення з налаштувань інстансу |
url |
string | так | — | Адреса POST. Схема, хост і шлях мають лишатися під префіксом підключення |
execution_id |
string | так | — | Стабільний ID цього виконання, до 128 символів. Той самий на повторі. Якщо порожній — дія бере idempotency_key |
idempotency_key |
string | ні | — | Запасний ID виконання |
client_id |
string | ні | з констант | Має збігатися з поточним клієнтом сценарію (client.op_client_id або client.id) |
body |
object | ні | {} |
Тіло запиту, до 64 KiB |
credentials_ref |
string | ні | типове для підключення | ID дозволених облікових даних |
mapping_ref |
string | ні | — | ID правил, які перетворюють відповідь постачальника на формат контексту |
timeout_ms |
number | ні | 5000 |
Таймаут HTTP, 100–15000 мс |
required |
boolean | ні | true |
Позначка в константі помилки, чи виклик був обовʼязковим |
set_to |
string | ні | external_context_result |
Константа результату |
error_to |
string | ні | external_context_error |
Константа помилки |
Якщо зіставлена відповідь має понад 20 дій, 10 повідомлень, 100 елементів або 64 KiB елементів — гілка pending_import. Дія не підставляє неповний пакет як повний контекст. Дія не йде за HTTP-перенаправленнями. Розмір відповіді — до 256 KiB.
Приклад конфігурації
{
"connection_ref": "crm",
"url": "https://example.com/context/query",
"execution_id": "{{scenario_execution_id}}",
"body": { "client": "{{client.op_client_id}}" },
"mapping_ref": "crm-order.v1",
"timeout_ms": 5000,
"set_to": "external_context_result"
}