Referencia de la API
Obtener una clave de APICada endpoint de Sofia API v1 con sus parámetros, scopes y ejemplos, y un playground para probar cada uno con tu propia clave de API.
URL base https://api.sofia-post.com/api · Documento OpenAPI
OAuth
GET
/v1/oauth/authorizeIniciar una autorizaciónÁbrela en el navegador. Un cliente desconocido o una redirect_uri no registrada da un 400; si no, redirige a la pantalla de consentimiento de Sofia.GET/.well-known/oauth-authorization-server/api/v1/oauthObtener metadatos del servidorDevuelve los metadatos del servidor de autorización OAuth 2.0 de Sofia API (RFC 8414), para que un cliente descubra los endpoints y las opciones admitidas.POST/v1/oauth/tokenEmitir un token de accesoCanjea client_credentials, un authorization_code con PKCE o un refresh_token de un solo uso por un token opaco de 3600 s para un Workspace.Cuenta
Plataformas
Establecimientos
GET
/v1/establishmentsListar los establecimientosLista los establecimientos del Workspace del token. Usa sus identificadores como establishmentId para publicar, listar medios o leer estadísticas.GET/v1/establishments/{id}/accountsListar las cuentas conectadasLista las redes conectadas a un establecimiento, sin token ni secreto de red, solo lo necesario para nombrar una cuenta y elegirla como accountId.POST/v1/establishments/{id}/connection-linksCrear un enlace de conexiónDevuelve un enlace alojado donde la persona autoriza una red con Sofia, sin que ningún token de red llegue a tu app. Válido 30 minutos; solo apps live.GET/v1/establishments/{id}/insightsObtener estadísticasDevuelve las últimas cifras válidas que Sofia recopiló de cada cuenta conectada. Una cuenta aún no recopilada muestra awaiting, nunca cero.Medios
GET
/v1/mediaListar los mediosLista la biblioteca de medios de un establecimiento, los más recientes primero, por páginas, con URL firmadas para la ventana actual. Vale en prueba y en live.POST/v1/mediaImportar o subir un medioAñade a la biblioteca de medios de un establecimiento un archivo (multipart) o una URL https que Sofia descarga. Requiere una app live y suscripción activa.GET/v1/media/{id}Obtener un medioDevuelve un medio de la biblioteca con una URL firmada válida para la ventana actual, para que puedas reutilizar su identificador en una publicación.DELETE/v1/media/{id}Retirar un medioRetira un medio de la biblioteca de su establecimiento, como lo hace la app. El archivo no se destruye y una publicación programada conserva su imagen.Publicaciones
GET
/v1/postsListar las publicacionesLista las publicaciones de los establecimientos accesibles al token, las más recientes primero, filtrables por establecimiento, estado, fechas y autor.POST/v1/postsPublicar una publicaciónLas apps live publican al instante, programan o guardan un borrador; las de prueba solo simulan. Con ?dry_run=true se comprueba todo y no se escribe nada.GET/v1/posts/{id}Obtener una publicaciónDevuelve una publicación con el estado de cada red, su enlace una vez publicada y su error. En live, cualquiera del Workspace; en prueba, una simulada.PATCH/v1/posts/{id}Editar una publicaciónMientras ninguna red haya empezado a enviar, reemplaza targets, fija scheduledAt o pasa entre draft y scheduled. Los campos omitidos se conservan.DELETE/v1/posts/{id}Eliminar una publicaciónElimina una publicación como la app: no se envía nada programado y una ya publicada se retira de su red. En prueba no hay nada real que eliminar.Webhooks
GET
/v1/webhooksListar los webhooksLista los webhooks de la aplicación sin su secreto de firma, que solo se devuelve cuando se registra el webhook.POST/v1/webhooksRegistrar un webhookRegistra una URL https a la que Sofia llama con un evento JSON firmado, reintentado hasta cinco veces si falla. Secreto visible una vez; máximo 10 webhooks.DELETE/v1/webhooks/{id}Eliminar un webhookElimina un webhook. Ya no recibe nada, ni siquiera los envíos que esperaban un reintento, y la llamada no devuelve cuerpo.POST/v1/webhooks/{id}/testEnviar un evento de pruebaEntrega un evento webhook.test firmado como cualquier otro, sin esperar al receptor, para que compruebes tu firma. Como máximo cinco por minuto.