К содержанию
База CRMДокументация

Разработка коннекторов

Исполнение действия

ActionRunner вызывает runAction($type, $config, $context) для любого действия, чей тип не встроенный. Контекст события уже разрешён.

ActionRunner вызывает runAction($type, $config, $context) для любого действия, чей тип не встроенный. Контекст события уже разрешён.

php
final class ActionContext {
    public readonly Automation  $automation;
    public readonly ?Workspace  $workspace;
    public readonly ?Record     $record;
    public readonly ?Collection $collection;
    public readonly array       $ctx;          // сырой контекст события
    public function render(?string $s): string; // разворот токенов {{…}}
}

#Правила

  • Возвращайте человекочитаемую строку — она попадёт в журнал запуска (виден в UI и тест-прогоне).
  • При ошибке бросайте исключение — движок поймает, залогирует и продолжит остальные действия; запуск пометится failed.
  • Действие best-effort и по возможности идемпотентное: авто-ретрая джобы нет (tries=1).
  • Токены рендерьте через $context->render() — семантика та же, что у встроенных действий.
  • Учётные данные читайте из IntegrationConnection (модель сама расшифровывает credentials()), не из конфига шага.