Перейти к содержимому страницы
Документация
Документация Make Agent Fast

Справочник API

Найдите каждый публичный ресурс, метод, требуемую область, правило пагинации и контракт мутации.

Кратко

Найдите каждый публичный ресурс, метод, требуемую область, правило пагинации и контракт мутации.

Путь запроса APIОграниченный ключ → версионированный ресурс → подписанный ответ
Приложение / SDKКлюч Bearermaf_live_…/api/v1/…РесурсJSON
v160 операцийJSON

Канонический машиночитаемый контракт — 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-key

Content-Type обязателен для тел JSON POST и PATCH, включая {}. Idempotency-Key опционален, но настоятельно рекомендуется для каждого POST, PATCH и DELETE.

Аккаунт и сайты#

МетодПутьОбластьНазначение
GET/meaccount:readЧитать аккаунт, тариф, права и сводку кошелька
GET/sitessites:readПеречислить принадлежащие сайты
POST/sitessites:writeСоздать сайт и его агента по умолчанию
GET/sites/{site_id}sites:readПолучить один принадлежащий сайт
PATCH/sites/{site_id}sites:writeОбновить безопасные поля сайта
DELETE/sites/{site_id}sites:writeУдалить сайт и зависимые ресурсы
POST/sites/{site_id}/publishsites:writeОпубликовать или отменить публикацию с { "published": boolean }
GET/sites/{site_id}/agentagents:readЧитать настройки агента
PATCH/sites/{site_id}/agentagents:writeОбновить характер, инструкции, голос, языки, состояние встраивания или origin

Создание сайта требует title и content.headline. Опциональные поля включают slug, type, template, дополнительный контент, persona_mode и от одного до четырёх языков из en, ko, uz и ru.

Знания и FAQ#

МетодПутьОбластьНазначение
GET/sites/{site_id}/knowledgeknowledge:readПеречислить источники знаний
POST/sites/{site_id}/knowledgeknowledge:writeПринять { "name", "text" }; текст должен быть 5–200 000 символов
DELETE/sites/{site_id}/knowledge/{source_id}knowledge:writeУдалить один источник из будущего поиска
GET/sites/{site_id}/faqsknowledge:readПеречислить структурированные FAQ
POST/sites/{site_id}/faqsknowledge: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}/conversationsconversations:readПеречислить ветки диалогов
GET/sites/{site_id}/conversations/{conversation_id}conversations:readПолучить ветку и пагинированные сообщения
GET/sites/{site_id}/leadsleads:readПеречислить собранные заявки
POST/sites/{site_id}/leadsleads: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}/acceptleads:writeПринять заявку в воронку возможностей
GET/sites/{site_id}/analyticsanalytics:readПеречислить события аналитики
GET/sites/{site_id}/usageusage:readПеречислить учитываемые события использования

Эти коллекции событий и активностей принимают limit и cursor. Возвращённые записи могут содержать персональные данные; храните и экспортируйте их согласно вашим обязательствам приватности.

Отправка сообщений посетителей и публикация ответов владельца — не операции публичного API. Мутация заявок поддерживается; не устанавливайте consent_status: granted, если у вашей системы нет защитимой записи согласия. Неизвестное согласие исключается из рассылок.

Воронка возможностей и результаты CRM#

МетодПутьОбластьНазначение
GET / POST/sites/{site_id}/pipeline/stagespipeline:read / pipeline:writeПеречислить или настроить стадии
GET / POST/sites/{site_id}/pipeline/accountspipeline:read / pipeline:writeПеречислить или создать бизнес-аккаунты
GET/sites/{site_id}/pipeline/accounts/{account_id}pipeline:readПолучить бизнес-аккаунт
GET / POST/sites/{site_id}/pipeline/opportunitiespipeline:read / pipeline:writeПеречислить или создать возможности
GET / PATCH/sites/{site_id}/pipeline/opportunities/{opportunity_id}pipeline:read / pipeline:writeЧитать активность или обновить назначение, ценность, стадию, следующее действие и ответ человека
POST/sites/{site_id}/pipeline/outcomespipeline:writeИдемпотентно импортировать результат CRM выиграно или проиграно
GET/sites/{site_id}/pipeline/sync-recordspipeline:readПеречислить статус синхронизации, попытки и ошибки
POST/sites/{site_id}/pipeline/sync-records/{sync_record_id}/retrypipeline:writeПовторить неудачный результат из его хранимой полезной нагрузки

Предоставленные provider CRM, внешний ID и ключ идемпотентности остаются в аудиторском следе. Повтор захватывает только неудачную запись и никогда не превращает внешнюю запись в процессе в ложный успех.

Коннекторы#

МетодПутьОбластьНазначение
GET/sites/{site_id}/connectorsconnectors:readПеречислить состояние коннекторов без секретов
POST/sites/{site_id}/connectorsconnectors: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}/domainsdomains:readУдалено — возвращает 409. Собственные домены не предлагаются
POST/sites/{site_id}/domainsdomains:writeУдалено — возвращает 409
PATCH/sites/{site_id}/domains/{domain_id}domains:writeУдалено — возвращает 409
POST/sites/{site_id}/domains/{domain_id}/verifydomains:writeУдалено — возвращает 409
DELETE/sites/{site_id}/domains/{domain_id}domains:writeУдалено — возвращает 409

Создание коннектора использует тело с дискриминацией по каналу. Поля учётных данных различаются для telegram, whatsapp, messenger, instagram, discord и kakao; используйте соответствующий гайд коннектора перед отправкой секретов.

Рассылки, уведомления и монетизация#

МетодПутьОбластьНазначение
GET/sites/{site_id}/broadcastsbroadcasts:readПеречислить рассылки
POST/sites/{site_id}/broadcastsbroadcasts:writeСоздать черновик рассылки Kakao
POST/sites/{site_id}/broadcasts/{broadcast_id}/sendbroadcasts:writeПоставить в очередь существующий черновик; возвращает 202
GET/sites/{site_id}/notificationsnotifications:readПеречислить уведомления владельца
PATCH/sites/{site_id}/notifications/{notification_id}notifications:writeОтметить прочитанным или непрочитанным с { "read": boolean }
GET/sites/{site_id}/monetization/productsmonetization:readПеречислить продукты сайта
POST/sites/{site_id}/monetization/productsmonetization: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-endpointswebhooks:readПеречислить состояние конечных точек без секретов подписи
POST/webhook-endpointswebhooks: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 для копируемых процессов.