Publicaciones y programación

Obtener una clave de API

Una publicación pertenece a un establecimiento y va a una o varias redes, sus destinos (targets). Cada destino tiene su propio texto, sus medios, su formato y su propio estado.

El cuerpo de una publicación

CampoSignificado
establishmentIdEl establecimiento que publica (GET /v1/establishments)
targets[]Una entrada por red: platform, text, y opcionalmente media, format y accountId
targets[].media[]Un medio de la biblioteca por su id, o una url https pública con su type (image o video)
targets[].accountIdLa cuenta que se usará cuando el establecimiento tiene varias en esa red
scheduledAtUna fecha y hora ISO 8601 futura; si falta, la publicación sale ahora
statusdraft para guardar un borrador que no sale (entonces sin scheduledAt)

Estados

EstadoSignificado
draftGuardada, no sale
scheduledSaldrá en scheduledAt
publishingEnviándose a la red
publishedEn línea, con su permalink
failedLa red la rechazó; error dice por qué
sent_to_inboxEnviada a la app de la red, donde el propietario la termina (TikTok)

El status de la publicación resume sus destinos. Es partial cuando una red publicó y otra falló.

Editar antes de la salida

PATCH /v1/posts/{id} reescribe los destinos, mueve scheduledAt o cambia status: draft quita la hora y conserva el contenido, scheduled la vuelve a programar. Una vez que una red ha enviado la publicación, responde 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"}'

Eliminar

DELETE /v1/posts/{id} responde 204. Mientras una red está enviando la publicación, responde 409 post_in_flight: reintenta un momento después.

Listar publicaciones

GET /v1/posts lista todas las publicaciones a las que el token puede acceder, las más recientes primero, filtradas por establishmentId, status, from, to y createdBy (me o app). Una publicación coincide con status cuando al menos una de sus redes está en ese estado. Consulta la paginación.