Endpoint
Генерация поста
/api/content/createСоздаёт черновик поста из темы, цели и контекста бренда.
Проверка connect
Кнопка отправляет тестовый запрос и показывает реальный ответ. Если backend ещё не готов — можно вывести рыбный пример.
Тестовый request body
{
"brandId": "brand_123",
"channel": "telegram",
"topic": "как AI экономит время на контенте",
"goal": "lead_generation"
}Что сайт отправляет
- brandId
- channel: telegram | instagram | linkedin
- topic
- goal
- optional assets
Frontend логика
- Отправить brief
- Показать состояние генерации
- Положить caption/mediaPlan в редактор
- Дать regenerate
Backend логика
- Собрать brand context
- Передать brief в AI
- Сохранить draft post
- Вернуть postId и текст
Input
- brandId
- channel
- topic
- goal
- optional toneOverride
- Bearer accessToken
Success
- postId
- caption
- mediaPlan
- hashtags
- status: draft
Errors
- brief_too_short
- brand_context_missing
- generation_failed
- moderation_required
Пример curl
curl -X POST http://localhost:3000/api/content/create \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"brandId":"brand_123","channel":"telegram","topic":"как AI экономит время","goal":"lead_generation"}'Пример fetch
const res = await fetch("/api/content/create", {
method: "POST",
headers: {
Authorization: `Bearer ${accessToken}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
brandId: "brand_123",
channel: "telegram",
topic: "как AI экономит время",
goal: "lead_generation",
}),
});
const data = await res.json();
console.log(res.ok, data.postId, data.caption);