Публикации и планирование
Получить ключ APIПубликация принадлежит заведению и уходит в одну или несколько сетей. Каждая сеть получает свою цель (target) со своим текстом, медиа, форматом и состоянием.
Тело публикации
| Поле | Значение |
|---|---|
establishmentId | Заведение, которое публикует (GET /v1/establishments) |
targets[] | Одна запись на сеть: platform, text, а также необязательные media, format и accountId |
targets[].media[] | Медиа из медиатеки по id или публичный https-url с type (image или video) |
targets[].accountId | Аккаунт, который нужно использовать, если у заведения их несколько в этой сети |
scheduledAt | Будущие дата и время в формате ISO 8601; если поля нет, публикация уходит сразу |
status | draft: сохранить черновик, который не уходит (тогда без scheduledAt) |
Состояния
| Состояние | Значение |
|---|---|
draft | Сохранена, не уходит |
scheduled | Уйдёт в момент scheduledAt |
publishing | Отправляется в сеть |
published | Опубликована, с permalink |
failed | Сеть отклонила её; error объясняет почему |
sent_to_inbox | Отправлена в приложение сети, где владелец завершает публикацию (TikTok) |
status публикации подводит итог по её целям. Он равен partial, когда одна сеть опубликовала, а другая завершилась ошибкой.
Редактирование до отправки
PATCH /v1/posts/{id} переписывает цели, переносит scheduledAt или меняет status: draft убирает время и сохраняет содержимое, scheduled планирует публикацию снова. Если сеть уже отправила публикацию, он отвечает 409 post_not_editable.
curl -X PATCH https://api.sofia-post.com/api/v1/posts/$POST_ID \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"status":"scheduled","scheduledAt":"2026-11-20T09:00:00Z"}'Удаление
DELETE /v1/posts/{id} отвечает 204. Пока сеть отправляет публикацию, он отвечает 409 post_in_flight: повторите чуть позже.
Список публикаций
GET /v1/posts возвращает все публикации, доступные токену, сначала новые, с фильтрами establishmentId, status, from, to и createdBy (me или app). Публикация подходит под status, если хотя бы одна её сеть находится в этом состоянии. См. пагинацию.