Publications et programmation

Obtenir une clé API

Une publication appartient à un établissement et part vers un ou plusieurs réseaux, ses cibles. Chaque cible a son propre texte, ses médias, son format et son état.

Le corps d’une publication

ChampSignification
establishmentIdL’établissement qui publie (GET /v1/establishments)
targets[]Une entrée par réseau : platform, text, et en option media, format et accountId
targets[].media[]Un média de la médiathèque par son id, ou une url https publique avec son type (image ou video)
targets[].accountIdLe compte à utiliser quand l’établissement en a plusieurs sur ce réseau
scheduledAtUne date-heure ISO 8601 future ; absente, la publication part tout de suite
statusdraft pour enregistrer un brouillon qui ne part pas (sans scheduledAt alors)

États

ÉtatSignification
draftEnregistrée, ne part pas
scheduledPartira à scheduledAt
publishingEn cours d’envoi au réseau
publishedEn ligne, avec son permalink
failedLe réseau l’a refusée ; error dit pourquoi
sent_to_inboxEnvoyée dans l’app du réseau, où le propriétaire la termine (TikTok)

Le status de la publication résume ses cibles. Il vaut partial quand un réseau a publié et qu’un autre a échoué.

Modifier avant le départ

PATCH /v1/posts/{id} réécrit les cibles, déplace scheduledAt ou change status : draft retire l’horaire et garde le contenu, scheduled la reprogramme. Une fois qu’un réseau a envoyé la publication, la réponse est 409 post_not_editable.

bash
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"}'

Supprimer

DELETE /v1/posts/{id} répond 204. Pendant qu’un réseau envoie la publication, la réponse est 409 post_in_flight : réessayez un instant plus tard.

Lister les publications

GET /v1/posts liste toutes les publications accessibles au jeton, les plus récentes d’abord, filtrées par establishmentId, status, from, to et createdBy (me ou app). Une publication correspond à status quand au moins un de ses réseaux est dans cet état. Voir la pagination.