Для ИИ-агентов
Документация Перевала рассчитана на то, что интеграцию может писать ИИ-агент (Claude Code, Cursor, Copilot, Codex и другие). Дайте ему контекст и чёткую задачу — остальное он найдёт сам.
Файлы для контекста
| Файл | Что внутри |
|---|---|
/llms.txt |
Короткая карта документации со ссылками — по стандарту llms.txt |
/llms-full.txt |
Вся документация и спецификация одним текстом — удобно положить в контекст целиком |
/openapi.yaml |
OpenAPI 3.1: все запросы, поля, ограничения, ошибки и вебхуки |
POST /mcp |
MCP JSON-RPC с тем же Bearer-ключом — инструменты вместо обёртки вокруг OpenAPI |
На каждой странице документации есть кнопка «Копировать для ИИ-агента» — она копирует исходный текст страницы.
MCP
Укажите агенту https://api.pereval.dating/mcp с Authorization: Bearer <ключ>. После initialize (протокол 2024-11-05) — tools/list / tools/call. Те же лимиты и ошибки, что у REST; сбой инструмента — isError: true и текстовый код (invalid, not_found, …).
Для суперлайка с расходным аккаунтом вызовите like с super: true и action_ref. При повторе передавайте тот же идентификатор и те же данные. Заказ на право суперлайка оформляется через REST. Как работают заказы и повторы.
Готовая постановка задачи
Скопируйте и дополните описанием своего проекта:
Задача: подключить наше приложение знакомств к сети Перевал (pereval.dating) как площадку.
Контекст: прочитай https://pereval.dating/llms-full.txt и спецификацию https://pereval.dating/openapi.yaml.
Наш стек: <язык, фреймворк, база>. Пользователи хранятся в <таблица/модель>.
Сделай:
1. Настройки: два переключателя согласий — «показывать меня в сети Перевал» (выключен по умолчанию,
рядом ссылка на pereval.dating) и «готов общаться на других языках» — с текстами из раздела
«Анкеты и согласия». Храни время и версию согласия.
2. Синхронизацию анкеты: PUT /v1/members/{наш id} при включении участия и любом изменении анкеты;
выключил участие — тот же PUT с consent.network: false (скрыт, переписки живут); удалил данные из сети
или аккаунт — DELETE (или deactivate/restore, если даём 30 дней на восстановление). Первую загрузку — пачками PUT /v1/members.
Сохраняй network_id. На 409 location_change_limited — понятное сообщение пользователю.
3. Ленту бери из старта под тип продукта, не из этого списка:
листалка — /ru/docs/guide-app/ (пропуск = дизлайк),
сайт с поиском — /ru/docs/guide-site/ (страницы = cursor, дизлайк только на явный отказ),
бот — /ru/docs/guide-bot/ (события через GET /v1/events).
Отметьте на карточке, что анкета из сети «Перевал». Для переведённого описания добавьте пометку «переведено ИИ». Лимит — remaining_today, 200 разных людей в сутки.
4. Лайки: POST /v1/likes для анкет из сети; входящие лайки — из события like.received,
сверка — GET /v1/members/{id}/likes.
5. Разговоры: по match.created создавай разговор (идемпотентно по match_id); сообщения — POST /v1/matches/{id}/messages
и событие message.created, при suspicious: true — предупреждение по flags; прочитано — POST /v1/matches/{id}/read
и событие message.read; на 429 first_messages_limit — понятное сообщение; закрытие — match.closed
(разговор закрыт, история остаётся; при peer_deleted — без имени и фото); match.erased — удали переписку;
match.frozen / match.unfrozen — заморозь и разморозь разговор.
6. Активность: POST /v1/activity пачкой раз в несколько минут для тех, кто заходил.
7. Приём событий: вебхук с проверкой подписи X-Network-Signature (HMAC-SHA256 сырого тела), защитой от повторов по id,
ответ 2xx; 503, если сообщение пришло раньше неизвестного мэтча; известное удаление подтверждай как no-op, не восстанавливай стёртую переписку. Если адреса для вебхуков нет — забирай события
GET /v1/events?after=<next_after> по расписанию и храни next_after.
8. Блокировку и жалобу на анкеты из сети: POST /v1/blocks, POST /v1/reports. На member.suspended — скрой человека
у себя до разбора жалоб, всё в порядке — POST /v1/members/{id}/reinstate; на member.rejected — попроси
поправить анкету. Суперлайки (super, message) и ленту «Весь мир» (scope=world, consent.world) — по желанию.
9. Тесты на приём событий (подпись, повтор, порядок событий).
Не делай: хранение ключа API в клиентском коде.
Ключи: PEREVAL_API_KEY и PEREVAL_WEBHOOK_SECRET — из переменных окружения (выпускаются в кабинете площадки).
Советы
- Просите агента сначала прочитать разделы События и вебхуки и Ошибки и лимиты: чаще всего ошибаются в проверке подписи (HMAC от разобранного JSON вместо сырого тела) и в повторах.
- Для типизированного клиента пусть агент сгенерирует его из
openapi.yaml, а не пишет руками. - Проверяйте результат на тестовом контуре с песочницей — по шагам из раздела Тестирование.
Необязательная коммерческая интеграция
Не включайте её без решения площадки. Изучите услуги сети, проверьте capabilities, реализуйте REST-заказы и права до явного подключения расходного аккаунта. Отдельный X-Commerce-Key остаётся на backend; не добавляйте его в браузер или конфигурацию общего ИИ-агента. Нулевая цена не отменяет авторизацию и устойчивые external_order_ref/X-Action-Ref. TEST не конвертируется в RUB.