$agentPlatform.callProject
Сервис $agentPlatform позволяет взаимодействовать с Agent Platform.
Agent Platform от Just AI — это платформа для автоматизации процессов и коммуникаций с помощью AI-агентов. Подробнее об Agent Platform можно узнать на нашем сайте или в документации.
Функция $agentPlatform.callProject() позволяет вызывать процесс Agent Platform из сценария JAICP.
Такой вызов работает как запрос к внешнему сервису: ответ вызываемого процесса не отправляется пользователю, а возвращается в сценарий JAICP и используется в нем.
Таким образом, с помощью функции вы можете создавать мультипроектные системы и делегировать сложные вопросы AI-агенту.
Синтаксис
- ECMAScript 5
- ECMAScript 6
$agentPlatform.callProject(token, query, customData)
В среде ECMAScript 6 метод является асинхронным:
await $agentPlatform.callProject(token, query, customData);
Метод принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
token | string | Да | Токен входящего канала Chat API вызываемого проекта: часть URL вебхука после https://bot.jaicp.com/chatapi/. |
query | string | Да | Текстовый запрос для отправки. |
customData | object | Нет | Произвольные данные (по умолчанию {}). |
Пример вызова
$agentPlatform.callProject(
"LyZ…456",
"Расскажи про новости космоса",
{ "customDataKey": "customDataValue" }
);
Какие данные получает вызываемый процесс
Вызываемый процесс получает изолированный контекст и не имеет доступа к сессии родительского сценария.
Процессу в Agent Platform доступны следующие данные:
| Параметр | Как получить |
|---|---|
| Идентификатор клиента | Context.getClientInfo().id |
| query | Context.getRawRequest().query или Context.getMessageContent().text |
| customData | Context.getRawRequest().data.customData |
Возвращаемые данные
Функция возвращает ответ в формате, аналогичном ответу Chat API.
Пример:
{
"token": "LyZ…456",
"clientId": "e53c71c1-7dd0-ff2e-40d1-6d90d751e49d",
"questionId": "652151ed-537c-451d-99bf-edda71394540",
"data": {
"analytics": {
"comment": "Фраза обработана тегом AIAgent"
},
"replies": [{
"type": "text",
"text": "За последние дни в мире космоса произошло несколько…"
}
],
"agentId": "Агент",
"stayInAgent": "false",
"newSessionStarted": false,
"transitionHistory": ["/state_6", "/state_2", "/AIAgent2/Main", "/AIAgent2/Main/ProcessQuestion", "/AIAgent2/Main/ProcessLLMAnswer", "/"],
"isNewClient": false,
"isNeedToSaveToReporter": true,
"endSession": false,
"messageTimestamp": 1772442553973,
"answer": ""
},
"timestamp": "2026-03-02T09:09:13.978",
"blockForm": false
}
Особенности и ограничения
- Отправка ответов: чтобы родительский сценарий мог получить ответ, все реакции в дочернем процессе не уходят в канал пользователю, а возвращаются в теле ответа.
- Защита от циклических вызовов: если проект А вызывает проект Б, а проект Б снова вызывает проект А, процесс прервется с ошибкой.