Справочник API
Найдите каждый публичный ресурс, метод, требуемую область, правило пагинации и контракт мутации.
Найдите каждый публичный ресурс, метод, требуемую область, правило пагинации и контракт мутации.
Канонический машиночитаемый контракт — OpenAPI JSON. Эта страница — человекочитаемый индекс операций и объясняет правила, общие для каждой конечной точки.
Базовый URL и версия#
https://makeagent.fast/api/v1Мажорная версия — часть пути. Добавочные поля могут появляться без смены мажорной версии, поэтому игнорируйте неизвестные поля ответа. Все запросы управления используют HTTPS и ключ API bearer или токен доступа OAuth.
Общие заголовки#
Authorization: Bearer maf_live_...
Accept: application/json
Content-Type: application/json
Idempotency-Key: your-stable-operation-keyContent-Type обязателен для тел JSON POST и PATCH, включая {}. Idempotency-Key опционален, но настоятельно рекомендуется для каждого POST, PATCH и DELETE.
Аккаунт и сайты#
| Метод | Путь | Область | Назначение |
|---|---|---|---|
GET | /me | account:read | Читать аккаунт, тариф, права и сводку кошелька |
GET | /sites | sites:read | Перечислить принадлежащие сайты |
POST | /sites | sites:write | Создать сайт и его агента по умолчанию |
GET | /sites/{site_id} | sites:read | Получить один принадлежащий сайт |
PATCH | /sites/{site_id} | sites:write | Обновить безопасные поля сайта |
DELETE | /sites/{site_id} | sites:write | Удалить сайт и зависимые ресурсы |
POST | /sites/{site_id}/publish | sites:write | Опубликовать или отменить публикацию с { "published": boolean } |
GET | /sites/{site_id}/agent | agents:read | Читать настройки агента |
PATCH | /sites/{site_id}/agent | agents:write | Обновить характер, инструкции, голос, языки, состояние встраивания или origin |
Создание сайта требует title и content.headline. Опциональные поля включают slug, type, template, дополнительный контент, persona_mode и от одного до четырёх языков из en, ko, uz и ru.
Знания и FAQ#
| Метод | Путь | Область | Назначение |
|---|---|---|---|
GET | /sites/{site_id}/knowledge | knowledge:read | Перечислить источники знаний |
POST | /sites/{site_id}/knowledge | knowledge:write | Принять { "name", "text" }; текст должен быть 5–200 000 символов |
DELETE | /sites/{site_id}/knowledge/{source_id} | knowledge:write | Удалить один источник из будущего поиска |
GET | /sites/{site_id}/faqs | knowledge:read | Перечислить структурированные FAQ |
POST | /sites/{site_id}/faqs | knowledge:write | Создать { "question", "answer", "approved" } |
PATCH | /sites/{site_id}/faqs/{faq_id} | knowledge:write | Обновить вопрос, ответ или состояние утверждения |
DELETE | /sites/{site_id}/faqs/{faq_id} | knowledge:write | Удалить FAQ |
Публичный API принимает вставленный текст. Используйте панель для сканирования URL, загрузки файлов, YouTube, подкастов и процессов лент.
Диалоги, заявки, аналитика и использование#
| Метод | Путь | Область | Назначение |
|---|---|---|---|
GET | /sites/{site_id}/conversations | conversations:read | Перечислить ветки диалогов |
GET | /sites/{site_id}/conversations/{conversation_id} | conversations:read | Получить ветку и пагинированные сообщения |
GET | /sites/{site_id}/leads | leads:read | Перечислить собранные заявки |
POST | /sites/{site_id}/leads | leads:write | Создать каноническую заявку с явным согласием и предпочтениями контакта |
GET | /sites/{site_id}/leads/{lead_id} | leads:read | Получить одну заявку |
PATCH | /sites/{site_id}/leads/{lead_id} | leads:write | Обновить, квалифицировать или изменить политику контакта заявки |
POST | /sites/{site_id}/leads/{lead_id}/accept | leads:write | Принять заявку в воронку возможностей |
GET | /sites/{site_id}/analytics | analytics:read | Перечислить события аналитики |
GET | /sites/{site_id}/usage | usage:read | Перечислить учитываемые события использования |
Эти коллекции событий и активностей принимают limit и cursor. Возвращённые записи могут содержать персональные данные; храните и экспортируйте их согласно вашим обязательствам приватности.
Отправка сообщений посетителей и публикация ответов владельца — не операции
публичного API. Мутация заявок поддерживается; не устанавливайте
consent_status: granted, если у вашей системы нет защитимой записи согласия.
Неизвестное согласие исключается из рассылок.
Воронка возможностей и результаты CRM#
| Метод | Путь | Область | Назначение |
|---|---|---|---|
GET / POST | /sites/{site_id}/pipeline/stages | pipeline:read / pipeline:write | Перечислить или настроить стадии |
GET / POST | /sites/{site_id}/pipeline/accounts | pipeline:read / pipeline:write | Перечислить или создать бизнес-аккаунты |
GET | /sites/{site_id}/pipeline/accounts/{account_id} | pipeline:read | Получить бизнес-аккаунт |
GET / POST | /sites/{site_id}/pipeline/opportunities | pipeline:read / pipeline:write | Перечислить или создать возможности |
GET / PATCH | /sites/{site_id}/pipeline/opportunities/{opportunity_id} | pipeline:read / pipeline:write | Читать активность или обновить назначение, ценность, стадию, следующее действие и ответ человека |
POST | /sites/{site_id}/pipeline/outcomes | pipeline:write | Идемпотентно импортировать результат CRM выиграно или проиграно |
GET | /sites/{site_id}/pipeline/sync-records | pipeline:read | Перечислить статус синхронизации, попытки и ошибки |
POST | /sites/{site_id}/pipeline/sync-records/{sync_record_id}/retry | pipeline:write | Повторить неудачный результат из его хранимой полезной нагрузки |
Предоставленные provider CRM, внешний ID и ключ идемпотентности остаются в
аудиторском следе. Повтор захватывает только неудачную запись и никогда не
превращает внешнюю запись в процессе в ложный успех.
Коннекторы#
| Метод | Путь | Область | Назначение |
|---|---|---|---|
GET | /sites/{site_id}/connectors | connectors:read | Перечислить состояние коннекторов без секретов |
POST | /sites/{site_id}/connectors | connectors:write | Создать или заменить коннектор канала и обеспечить его вебхук |
PATCH | /sites/{site_id}/connectors/{connector_id} | connectors:write | Установить status или reply_with_voice |
DELETE | /sites/{site_id}/connectors/{connector_id} | connectors:write | Деобеспечить и удалить коннектор |
GET | /sites/{site_id}/domains | domains:read | Удалено — возвращает 409. Собственные домены не предлагаются |
POST | /sites/{site_id}/domains | domains:write | Удалено — возвращает 409 |
PATCH | /sites/{site_id}/domains/{domain_id} | domains:write | Удалено — возвращает 409 |
POST | /sites/{site_id}/domains/{domain_id}/verify | domains:write | Удалено — возвращает 409 |
DELETE | /sites/{site_id}/domains/{domain_id} | domains:write | Удалено — возвращает 409 |
Создание коннектора использует тело с дискриминацией по каналу. Поля учётных данных различаются для telegram, whatsapp, messenger, instagram, discord и kakao; используйте соответствующий гайд коннектора перед отправкой секретов.
Рассылки, уведомления и монетизация#
| Метод | Путь | Область | Назначение |
|---|---|---|---|
GET | /sites/{site_id}/broadcasts | broadcasts:read | Перечислить рассылки |
POST | /sites/{site_id}/broadcasts | broadcasts:write | Создать черновик рассылки Kakao |
POST | /sites/{site_id}/broadcasts/{broadcast_id}/send | broadcasts:write | Поставить в очередь существующий черновик; возвращает 202 |
GET | /sites/{site_id}/notifications | notifications:read | Перечислить уведомления владельца |
PATCH | /sites/{site_id}/notifications/{notification_id} | notifications:write | Отметить прочитанным или непрочитанным с { "read": boolean } |
GET | /sites/{site_id}/monetization/products | monetization:read | Перечислить продукты сайта |
POST | /sites/{site_id}/monetization/products | monetization:write | Создать продукт доступа, консультации, чаевых или цифровой |
PATCH | /sites/{site_id}/monetization/products/{product_id} | monetization:write | Обновить поля продукта и состояние активности |
DELETE | /sites/{site_id}/monetization/products/{product_id} | monetization:write | Удалить продукт |
Создание рассылки сейчас принимает только канал kakao. Постановка в очередь не работает с 409 conflict, когда нет достижимых получателей или рассылка больше не черновик.
Вебхуки разработчика#
| Метод | Путь | Область | Назначение |
|---|---|---|---|
GET | /webhook-endpoints | webhooks:read | Перечислить состояние конечных точек без секретов подписи |
POST | /webhook-endpoints | webhooks:write | Зарегистрировать публичный HTTPS URL и один раз раскрыть его секрет подписи |
DELETE | /webhook-endpoints/{endpoint_id} | webhooks:write | Удалить конечную точку и остановить будущую доставку |
URL вебхуков должны использовать HTTPS, не могут включать учётные данные или пользовательский порт и должны разрешаться только в публичные IP-адреса.
Пагинация#
Пагинированные коллекции принимают limit от 1 до 100; по умолчанию 50. Используйте возвращённый непрозрачный next_cursor только с той же коллекцией и фильтрами.
{
"data": [],
"has_more": false,
"next_cursor": null
}Некоторые малые коллекции конфигурации возвращают ту же оболочку с has_more: false и не нуждаются в курсоре.
Идемпотентность#
Ключ идемпотентности должен содержать 8–200 символов из букв, цифр, ., _, : и -. Результаты хранятся 24 часа и привязаны к владельцу учётных данных.
- Тот же ключ и тот же метод, путь, запрос и тело: возвращает сохранённый ответ с
x-idempotent-replayed: true. - Тот же ключ с другим вводом: возвращает
409 conflict. - Тот же ключ, пока первый запрос обрабатывается: возвращает
409 conflictиRetry-After: 2.
Сохраняйте ключ перед отправкой мутации и используйте повторно только для повторов этой логической операции.
Ответы и ошибки#
Успешные ответы оборачивают свой ресурс в data. Операции создания обычно возвращают 201; поставленные в очередь отправки рассылок возвращают 202; другие успешные операции возвращают 200. Каждый ответ включает x-request-id и использует Cache-Control: no-store для данных API.
См. Области и ошибки для полной таблицы кодов ошибок и Рецепты API для копируемых процессов.