Перейти к основному содержимому

$agentPlatform.callProject

Сервис $agentPlatform позволяет взаимодействовать с Agent Platform.

к сведению

Agent Platform от Just AI — это платформа для автоматизации процессов и коммуникаций с помощью AI-агентов. Подробнее об Agent Platform можно узнать на нашем сайте или в документации.

Функция $agentPlatform.callProject() позволяет вызывать процесс Agent Platform из сценария JAICP. Такой вызов работает как запрос к внешнему сервису: ответ вызываемого процесса не отправляется пользователю, а возвращается в сценарий JAICP и используется в нем.

Таким образом, с помощью функции вы можете создавать мультипроектные системы и делегировать сложные вопросы AI-агенту.

Синтаксис

$agentPlatform.callProject(token, query, customData)

Метод принимает следующие аргументы:

АргументТипОбязательныйОписание
tokenstringДаТокен входящего канала Chat API вызываемого проекта: часть URL вебхука после https://bot.jaicp.com/chatapi/.
querystringДаТекстовый запрос для отправки.
customDataobjectНетПроизвольные данные (по умолчанию {}).

Пример вызова

$agentPlatform.callProject(
"LyZ…456",
"Расскажи про новости космоса",
{ "customDataKey": "customDataValue" }
);

Какие данные получает вызываемый процесс

к сведению

Вызываемый процесс получает изолированный контекст и не имеет доступа к сессии родительского сценария.

Процессу в Agent Platform доступны следующие данные:

ПараметрКак получить
Идентификатор клиентаContext.getClientInfo().id
queryContext.getRawRequest().query или Context.getMessageContent().text
customDataContext.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
}

Особенности и ограничения

  • Отправка ответов: чтобы родительский сценарий мог получить ответ, все реакции в дочернем процессе не уходят в канал пользователю, а возвращаются в теле ответа.
  • Защита от циклических вызовов: если проект А вызывает проект Б, а проект Б снова вызывает проект А, процесс прервется с ошибкой.