Короткий ответ: REST-workflow состоит из триггера, получения presigned URL, PUT исходного файла и вызова документированного endpoint площадки с
fileId. Для публикации позже используйте Wait node или платформенный MCP schedule tool.Название MCP-инструмента нельзя просто вставить в HTTP Request как URL. REST и MCP — разные интерфейсы.
REST-процесс
- Триггер: расписание, webhook, Google Drive или Airtable.
POST https://dohoo.ai/api/upload/presigned-url.PUTисходных байтов на полученныйuploadUrl.- Проверка
/api/upload/status/{fileId}. - Вызов платформенного publish endpoint.
Данные доступа
Header name: X-API-Key
Header value: dh_live_xxxxxxxxxxxxxxxxxxxxxxxx
Добавляйте credential к запросам DOHOO, но не к presigned S3 PUT.
Пример HTTP Request
{
"method": "POST",
"url": "https://dohoo.ai/api/upload/presigned-url",
"jsonBody": {
"filename": "={{ $binary.data.fileName }}",
"contentType": "={{ $binary.data.mimeType }}"
}
}
{
"method": "POST",
"url": "https://dohoo.ai/api/v2/instagram/publish",
"jsonBody": {
"connectionId": "={{ $json.instagramConnectionId }}",
"fileId": "={{ $json.fileId }}",
"caption": "={{ $json.caption }}"
}
}
Два корректных варианта расписания
- REST: n8n ждёт до целевого времени и вызывает endpoint немедленной публикации.
- MCP: MCP-capable node вызывает платформенный schedule tool с
scheduledAtиtimezone.
Обработка ошибок
Разделяйте ветки загрузки, обработки и публикации. Сохраняйте HTTP-код, тело ответа, ID подключения и исходной записи. Повторяйте только неудачное назначение.
Частые вопросы
n8n Cloud или self-hosted?
Оба варианта подходят.
Какой тариф DOHOO нужен?
Business или Agency для REST API и MCP.
Можно публиковать в несколько сетей?
Да. После одной загрузки создайте отдельную ветку для каждой площадки и контролируйте результаты независимо.
Как избежать дублей при retry?
Сохраняйте ID публикации и повторяйте только неудачную ветку с устойчивым ID исходной записи.