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

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

Формат действий и триггеров

Действия и триггеры возвращаются в той же форме, что и встроенные шаги конструктора — конструктор рисует их единообразно.

Действия и триггеры возвращаются в той же форме, что и встроенные шаги конструктора — конструктор рисует их единообразно.

#Действие

php
['type' => 'telegram.send', 'label' => 'Сообщение в Telegram', 'icon' => 'send',
 'connector' => 'telegram', 'hint' => 'Через подключённый бот',
 'config' => [
     ['key' => 'chatId', 'type' => 'text', 'label' => 'Chat id', 'optional' => true],
     ['key' => 'text', 'type' => 'longtext', 'label' => 'Текст', 'tokens' => true],
 ]]

#Триггер

php
['type' => 'telegram.message.received', 'label' => 'Получено сообщение', 'scope' => 'connector',
 'connector' => 'telegram', 'icon' => 'send', 'hint' => 'Клиент написал в бот',
 'config' => [
     ['key' => 'keyword', 'type' => 'text', 'label' => 'Только если текст содержит', 'optional' => true],
 ]]

#Дескриптор поля config

  • key — имя параметра (по нему значение придёт в $config).
  • type — text, longtext, number, select, field, stage, user, collection, fieldmap.
  • source — варианты активной коллекции: fields, userFields, dateFields, stages, employees, collections.
  • options — для select: [[value,label], …].
  • default, optional, anyLabel, when (условный показ), tokens (поддержка токенов).

#Рантайм-токены

Поля с tokens: true и всё, что прогоняется через ActionContext::render(), поддерживают подстановки (когда в контексте есть запись):

  • {{title}} — заголовок записи;
  • {{stage}} — название этапа;
  • {{collection}} — название коллекции;
  • {{link}} — ссылка на карточку;
  • {{field:<fieldId>}} — значение поля по id.