ПубликацииИзменить публикацию

Публикации

Изменить публикацию

Пока ни одна сеть не начала отправку, заменяет targets, задаёт scheduledAt или переводит публикацию между draft и scheduled. Пропущенное сохраняется.

PATCHhttps://api.sofia-post.com/api/v1/posts/{id}
PATCH/v1/posts/{id}

Этот запрос действует на ваш реальный аккаунт.

curl -X PATCH 'https://api.sofia-post.com/api/v1/posts/{id}' \
  -H "Authorization: Bearer $SOFIA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"scheduledAt":"2026-11-02T10:00:00.000Z"}'

Авторизации

  • Authorizationstringобязательно

    Ваш личный ключ или токен доступа OAuth, отправляется как Bearer <token>.

Параметры пути

  • idstringобязательно

    Идентификатор публикации.

Тело

application/json

  • targetsobject[]

    Все цели, переписанные (текст, медиа, формат, аккаунт); не указано: сохраняются

    Показать дочерние атрибуты
    • platformstringобязательно

      Целевая сеть

      Допустимые значения: instagramfacebookxlinkedintiktok

    • textstringобязательно

      Подпись, публикуемая в этой сети

    • mediaobject[]

      Прикреплённые медиа

      Показать дочерние атрибуты
      • idstring

        Идентификатор медиа из медиатеки заведения (иначе url и type)

      • urlstring

        Публичный адрес медиа (https в live); без идентификатора

      • typestring

        Тип медиа, заданного адресом

        Допустимые значения: imagevideo

    • formatstring

      Формат (post, reel, story, carousel...); по умолчанию тот, что выдала бы сеть

    • accountIdstring

      Live: подключённый аккаунт, который публикует, если у заведения их несколько в этой сети (GET /v1/establishments/:id/accounts)

  • scheduledAtstring<date-time>

    Новая дата в будущем: публикация планируется на эту дату

  • statusstring

    draft: назад в черновик (содержимое сохраняется, время теряется); scheduled: запланировать на scheduledAt или на прежнее время

    Допустимые значения: draftscheduled

Ответ

200application/json

Публикация после изменения.

  • idstringобязательно

    Идентификатор публикации

  • statusstringобязательно

    По всем сетям; partial: опубликовано в одной, ошибка в другой

    Допустимые значения: draftscheduledpublishingpublishedsent_to_inboxfailedpartial

  • establishmentIdstringобязательно

    Заведение публикации

  • createdAtstring<date-time>обязательно

    Когда публикация была создана

  • targetsobject[]обязательно

    Одна запись на сеть и аккаунт: два аккаунта в одной сети дают две записи

    Показать дочерние атрибуты
    • platformstringобязательно

      Сеть цели

    • accountIdstringобязательно

      Аккаунт, который публикует (GET /v1/establishments/:id/accounts)

    • statestringобязательно

      Состояние цели в её сети

      Допустимые значения: draftscheduledpublishingpublishedsent_to_inboxfailed

    • publishedAtstring<date-time>

      Когда цель была опубликована

    • permalinkstring

      Ссылка на опубликованную публикацию в сети

    • errorstring

      Почему сеть отклонила

  • scheduledAtstring<date-time>

    Когда публикация запланирована к выходу

402

subscription_required.

403

live_mode_required для тестового приложения или нет разрешения posts:write.

404

post_not_found: вне доступа токена.

409

post_not_editable: сеть уже отправила публикацию или отправляет её.

422application/json

post_refused: сеть, заведение или Publishing отказало бы изменённой публикации. duplicate_platform для двух целей в одной сети.

4XXapplication/json

Любая другая ошибка в конверте ошибки.