ScriptCustomTableltem
Поиск записей
|
table.find(string $tableName, array|object $columns = [], array|object $where = [], array|object $orderBy = [], ?int $limit = null, ?int $offset = null): array
|
Подсчет количества записей
|
table.count(string $tableName, array|object $where = []): int
|
Подсчет суммы по полю
|
table.sum(string $tableName, string $column, array|object $where = []): int
|
Поиск максимального значения по полю
|
table.max(string $tableName, string $column, array|object $where = []): mixed|null
|
Обновление записи
|
item.update(array|object $data): bool
|
Удаление записи
|
item.delete(): bool
|
|
item.getDateFormatted(string $fieldName, string
|
Получить форматированную дату по названию поля
|
$format = 'Y-m-d H:i:s', ?string $timeZone = null): string|null
|
Получить форматированную дату из произвольной строки
|
item.getDateFormattedFromString(string $date, string
$format = 'Y-m-d H:i:s', ?string $timeZone = null):
string|null
|
Перезагрузить данные записи из БД
|
item.reload(): bool
|
Когда Боб запросил статус посылки, мы могли бы обратиться к таблице 'orders' и с помощью 'table.find' найти запись, например, с помощью следующего кода:
let id = lead.getAttr(' orderld' );
let items = table.find('orders', ['status'], [["orderld", "=", id]]);
Таким образом, мы получаем из таблицы 'orders' столбец 'status' заказа 'id', который был записан в атрибут 'orderld'.
Полный список функций и возможностей кастомных таблиц смотрите в разделе
Кастомные таблицы.
Интеграции API
Пример из предыдущей секции про поиск заказа во внутренней таблице вашего чат-бота, созданной на Metabot, справедлив только для случаев, когда вы реализовываете бизнес- приложение полностью на Metabot.
Допустим, в предыдущем примере с Бобом, который хотел узнать статус своей посылки, вам нужно было обратиться к внешней системе логистики. Это можно было бы сделать с помощью следующего кода:
let trackingNumber = lead.getAttr('trackingNumber');
let url = 'https://external-shipping-system.example.com/api/parcels/${trackingNumber}';
let jsonResponse = api.getJson(url);
let parcelStatus = jsonResponse['status'];
lead.setAttr(' parcelStatus' );
Этот код обращается к внешней RESTful системе и получает статус посылки Боба, используя его трекинг номер.
API (Application Programming Interface) — это набор правил и протоколов, которые позволяют одним программам взаимодействовать с другими. Если вы новичок в этой области, рекомендуем подробно изучитьчто такое API.
REST (Representational State Transfer) — это архитектурный стиль взаимодействия компонентов в сети. RESTful веб-сервисы используют стандартные HTTP-методы. Если вы не знакомы с REST, рекомендуем ознакомиться с этимруководством по REST.
В реальности вы часто будете сталкиваться с заказчиками, у которых уже есть ERP, Ecomm или любая другая система для учёта и хранения данных, к которой вам нужно будет обращаться по API запросу. Это может включать работу с системами, такими как 1С:Предприятия, AmoCRM, Bitrix24, Microsoft Dynamics, OTRS и другие.
Вам нужно будет уметь интегрировать ваши чат-боты с этими системами, чтобы создавать бесшовный и персонализированный диалоговый опыт для ваших пользователей. Это требует профессионализма, определенных технических навыков и мастерства, а также умения работать с различными сторонами, включая маркетологов и других сотрудников заказчика. Но не волнуйтесь, наша методология глубоких интеграций мессенджеров в бизнес-процессы и платформа Metabot, помогут вам в этом.
Интеграции с системами делаются с помощью конструктора API. Платформа позволяет создавать точки интеграции, называемые эндпоинтами (endpoints), которые описывают все точки взаимодействия вашего чат-бота с внешними системами и наоборот.
Интеграция сервисов осуществляется с помощью стандартных REST API интерфейсов. Если вы столкнулись с устаревшими системами и сервисами, вам, возможно, придется организовать обмен данными другим способом или работать с API в два шага (сперва авторизоваться под конкретным пользователем, а потом выполнять запросы от его имени).
Существует несколько способов вызова API, включая использование настроенных API endpoints и прямые вызовы объекта 'арі', как в примере выше.
Подробную информацию о том, как разрабатывать API интеграции с примерами, смотрите в разделе Конструктор API.
Исходящие коммуникации
Представьте себе ситуацию, где ваш чат-бот автоматически отправляет пользователю поздравительное сообщение по его дню рождения или напоминает о предстоящем мероприятии. Как это можно реализовать? Ответ на этот вопрос лежит в понимании триггеров, рассылок и заданий в контексте платформы Metabot.
Боты не только реагируют на команды пользователя, но и могут самостоятельно инициировать диалог, реагируя на определенные события или по расписанию. Давайте разберемся, как на Metabot создаются такие проактивные коммуникации.
Metabot имеет встроенный планировщик (scheduler), позволяющий добавлять отложенные задания (job) для будущего выполнения. Вы можете запланировать отправку контента после приветствия лида с ботом.
Также есть триггерная система, позволяющая создавать триггеры, которые автоматически выполняются при определенных событиях, например, при добавлении тега у лида.
Массовые рассылки сообщений называются рассылки (broadcast) и позволяют отправлять интерактивные скрипты выборке лидов. Таргетированная выборка осуществляется на JS, и если условие истинно, лид войдет в рассылку.
Все исходящие коммуникации добавляются в исходящую очередь заданий в планировщике cron scheduler, системном процессе платформы, отвечающем за обработку отложенных коммуникаций.
Этот раздел поможет вам понять, как использовать эти инструменты для создания динамичных и интерактивных чат-ботов, которые могут автоматически реагировать на различные события и взаимодействовать с пользователями в реальном времени.
Для разработки исходящих коммуникаций вам стоит овладеть следующими понятиями и функционалом:
|