API: Мои ИИ-Ассистенты
API запускает готовые ИИ-инструменты PR-CY: ассистентов (ИИ-психолог, переговорщик, переводчик по фото) и инструменты-приложения с заданным промптом. От обычного чата отличается тем, что системное сообщение, промпт и база знаний уже настроены внутри инструмента — вы присылаете только сообщение пользователя.
Перед началом: получите API-ключ в настройках.
Шаг 1. Найти нужный инструмент
curl 'https://apis.pr-cy.ru/api/v2.1.0/ai-tools?page[limit]=20' \
--header 'Api-Key: ВАШ_КЛЮЧ'
Инструмент можно открыть и по адресу из каталога:
curl 'https://apis.pr-cy.ru/api/v2.1.0/ai-tools/psychologist' \
--header 'Api-Key: ВАШ_КЛЮЧ'
id записи состоит из двух частей: 240-1.0.0 — это aiToolId 240 и aiToolVersion «1.0.0». Оба значения нужны для запуска. В attributes.model видно, на какой модели работает инструмент.
Шаг 2. Создать задачу
POST:
https://apis.pr-cy.ru/api/v2.1.0/tool-tasks/
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
toolName |
✅ | string | Всегда "aiTools" |
aiToolId |
✅ | int | Идентификатор инструмента, например 240 — ИИ-психолог |
aiToolVersion |
✅ | string | Версия инструмента, например "1.0.0" |
messages |
❌ | array | Сообщения диалога: [{"role": "user", "text": "..."}] |
userInputs |
❌ | array | Значения переменных инструмента: [{"name": "topic", "value": "..."}] |
model |
❌ | string | Переопределяет модель инструмента. Список — GET /api/v2.1.0/ai-models |
maxTokens |
❌ | int | Ограничение длины ответа в токенах |
maxContext |
❌ | int | Сколько символов контекста передаём модели. По умолчанию 10 000 |
⚠️ maxContext считается в символах, а не в сообщениях. Если поставить слишком мало, системное сообщение инструмента не поместится и запрос вернёт ошибку вида «Системное сообщение не помещается в контекст вместе с сообщением пользователя». Если не уверены — не передавайте параметр вовсе.
curl 'https://apis.pr-cy.ru/api/v2.1.0/tool-tasks/' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Api-Key: ВАШ_КЛЮЧ' \
--data-raw '{
"data": {
"type": "toolTasks",
"attributes": {
"toolName": "aiTools",
"params": {
"aiToolId": 240,
"aiToolVersion": "1.0.0",
"messages": [
{"role": "user", "text": "привет, давай поговорим"}
]
}
}
}
}'
Ответ — ID задачи:
{
"data": {
"type": "toolTasks",
"id": "86543dbef6bdff984214bb3d4570ea91",
"attributes": {..}
}
}
Шаг 3. Получить результат
curl 'https://apis.pr-cy.ru/api/v2.1.0/tool-tasks/86543dbef6bdff984214bb3d4570ea91?include=tests' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Api-Key: ВАШ_КЛЮЧ'
Повторяйте запрос, пока isUpdating не станет false.
Что приходит в ответе
Тест называется aiTool, результат — в attributes.results:
| Поле | Что означает |
|---|---|
messages |
Массив сообщений. Ответ инструмента — последнее сообщение с ролью assistant, текст в text |
model |
Модель, на которой считали |
status |
success — ответ получен |
{
"name": "aiTool",
"status": "info",
"results": {
"messages": [
{
"role": "assistant",
"text": "Привет! Конечно, давай поговорим. Что сейчас у тебя на душе?",
"model": "gpt-5.6-luna",
"date": "2026-09-21 14:22:05"
}
],
"status": "success"
}
}
Чтобы продолжить диалог, отправьте новый запрос, добавив в messages предыдущие реплики пользователя и ассистента.
Сколько спишется лимитов
Стоимость зависит от модели инструмента и объёма контекста. Проверить до запуска:
curl 'https://apis.pr-cy.ru/api/v2.1.0/tool-tasks/cost' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Api-Key: ВАШ_КЛЮЧ' \
--data-raw '{
"data": {
"type": "toolTasks",
"attributes": {
"toolName": "aiTools",
"params": {
"aiToolId": 240,
"aiToolVersion": "1.0.0",
"messages": [{"role": "user", "text": "привет, давай поговорим"}]
}
}
}
}'
В ответе attributes.cost — сколько лимитов спишется.
Итого
1. GET /ai-tools → нашли id и версию инструмента (например 240-1.0.0)
2. POST /tool-tasks/ toolName "aiTools" + aiToolId + aiToolVersion → получили id задачи
3. GET /tool-tasks/{id}?include=tests → ждём isUpdating: false
4. Читаем results.messages → последнее сообщение assistant
Смежные инструкции
Не нашли нужной информации? Напишите нам в тех.поддержку