spirkzИнтеграции
Публикуй в spirkz из любого планировщика
Integrations API позволяет сторонним планировщикам — Zapier, Metricool, Buffer и подобным — отправлять видео в spirkz от имени автора. Видео, отправленное этим способом, проходит те же правила и ту же очередь проверки, что и загруженное в приложении.
- Базовый URL
- https://server.spirkz.com/api/v1/integrations
Как это работает
- 1
Автор создаёт API-ключ в приложении spirkz и вставляет его в планировщик.
- 2
Планировщик вызывает
POST /videosс публичнымvideoUrlи данными. spirkz сразу отвечает 202. - 3
spirkz скачивает файл в фоне, сохраняет его и создаёт для автора заявку в статусе pending.
- 4
Команда spirkz проверяет её. Если видео одобрено и
scheduledAtещё впереди, оно выходит в это время; иначе — сразу. - 5
Планировщик опрашивает
GET /videos/:id, чтобы следить за ходом.
Аутентификация
Передавай ключ автора в каждом запросе. Отсутствующий, неизвестный или отозванный ключ получит 401. Ключи действуют от имени автора, который их выпустил.
Authorization: Bearer spk_...Лимиты запросов на ключ
600
запросов в час, всего
30
вызовов POST /videos в час
Эндпоинты
Проверка подключения. Вызывай сразу после того, как автор вставил свой ключ.
{ "user": { "id", "name", "username" }, "keyName" }Данные для твоих списков выбора: допустимые categoryIds (активные категории; ?locale= для названий) и значения languageSlug.
Отправить видео. Тело запроса — JSON:
| Поле | Правила | |
|---|---|---|
| videoUrl | Обязательно | https, общедоступный, ≤ 2000 симв. mp4 / mov / webm / avi, ≤ 500 МБ. Приватные и внутренние адреса отклоняются. |
| source | Обязательно | Кто отправляет, например "zapier", "metricool". ≤ 50 симв., хранится в нижнем регистре. |
| name | Обязательно | ≤ 150 симв. |
| categoryIds | Обязательно | 1–5 id из GET /categories. |
| description | Необязательно | ≤ 500 симв. |
| languageSlug | Необязательно | Из GET /languages. По умолчанию en. |
| tag | Необязательно | Массив строк, до 10 тегов, каждый ≤ 40 симв. |
| duration | Необязательно | Секунды, неотрицательное целое число. |
| scheduledAt | Необязательно | ISO 8601. Не раньше чем через 10 минут и не позже чем через 60 дней. Не указано или null = выход сразу после одобрения. |
- 202 —
data.videoсоstatus: "received". - 400 / 404 — какое-то поле недопустимо. Ничего не сохраняется.
- 409 — у автора уже есть 10 видео, ожидающих отправки или проверки (включая те, что ещё скачиваются).
Видео автора, загруженные через интеграции, сначала новые (?limit, ?offset), или одно по id.
{
"id": "...",
"source": "zapier",
"video_url": "https://...",
"status": "submitted",
"error": null,
"created_at": "...",
"updated_at": "...",
"userVideo": {
"id": "...",
"name": "...",
"status": "pending",
"scheduled_at": "2026-10-10T09:00:00.000Z",
"decline_reason": null,
"publishedVideoId": null
}
}Отслеживание видео
Скачивание — status
При failed причина указана в error.
Проверка — userVideo.status
publishedVideoId появляется, когда видео опубликовано. У отклонённого видео есть decline_reason.
Пример
curl -X POST https://server.spirkz.com/api/v1/integrations/videos \
-H "Authorization: Bearer spk_..." \
-H "Content-Type: application/json" \
-d '{
"videoUrl": "https://example.com/clip.mp4",
"source": "zapier",
"name": "Morning routine",
"categoryIds": ["<category id>"],
"description": "Day 1",
"scheduledAt": "2026-10-10T09:00:00Z"
}'Нативная поддержка
Любой планировщик может интегрироваться через эндпоинты выше. Эти инструменты уже поддерживают spirkz из коробки:
Делаешь интеграцию?
Расскажи, что ты создаёшь, и мы поможем довести это до релиза.
Написать нам