---
title: "Дія load_external_context"
description: "Підтягує контекст клієнта з дозволеної зовнішньої системи і зберігає його для Context API."
---

# Дія `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.

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

```json
{
  "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"
}
```

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

- [Дія register_client_context](/uk/actionjail/reference/actions/register_client_context.md)
- [Дія send_request](/uk/actionjail/reference/actions/send_request.md)
- [Про те, як Context API збирає контекст](/uk/integrations/explanation/what-is-context-api.md)
- [Довідник Context API](/uk/integrations/reference/context-api.md)
- [Довідник actions](/uk/actionjail/reference/actions-reference.md)
