Анализ сайта
Вход

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

Смежные инструкции

Не нашли нужной информации? Напишите нам в тех.поддержку

🍪 Используя сайт, вы соглашаетесь с обработкой cookie и сбором технических данных для улучшения работы сайта согласно политике конфиденциальности.