Desarrolladores de productos
Añade publicación a tu producto.
Una aplicación ficticia de diario añade una acción confirmada por el usuario para programar publicaciones sociales y mostrar resultados.
TU PRODUCTO + SOSOAPI
Flujo ilustrativo de integración- Tu productoPrepara y confirma
- SosoAPIPrograma una publicación confirmada
- Cuenta socialSigue el resultado
Tres pasos
Prepara el contenido
Recopila texto e imágenes dentro de tu producto.
Deja que los usuarios confirmen
Muestra la cuenta, el contenido y la hora antes de programar.
Trae los resultados de vuelta
Muestra el progreso y el resultado final de publicación.
La publicación social pasa a formar parte de tu producto.
Ver la guía práctica completa
Escenario
Añade una acción deliberada y revisable de «programar esta actualización» a un producto ficticio de diario. Mantén visibles el espacio de trabajo del usuario y la cuenta conectada exacta, y muestra el estado devuelto sin insinuar publicación por el proveedor.

Antes de empezar
- Crea y verifica tu cuenta SosoAPI y selecciona el espacio de trabajo previsto.
- Crea una clave API en App Settings → Agents & API Access. Guárdala como SOSOAPI_API_KEY en el entorno de tu servidor; estos ejemplos JavaScript usan Node.js 20+ y no requieren el repositorio de código de SosoAPI.
- Elige un UUID real de espacio de trabajo y un UUID de cuenta social de Threads solo del alcance autorizado actual. La cuenta debe ser elegible para una publicación de texto de Threads.
- El propietario de la clave API necesita acceso editor u owner al espacio elegido. Mantén la clave en el servidor, fuera del código del navegador, JSON de solicitud y registros.
Datos de entrada de ejemplo
- Producto ficticio
- Harborlight Journal · concepto de aplicación de diario privado; no se afirma ninguna integración real.
- Intención del usuario
- Programa una nota de producto revisada para una cuenta elegida de Threads a una hora local futura.
- Texto de ejemplo
- «Una pequeña nota para después: Harborlight Journal está dejando espacio para reflexiones diarias más breves. Quédate con una idea; deja el resto para mañana».
- Alcance requerido en ejecución
- <workspace-uuid> y <threads-social-account-uuid> del alcance autorizado actualmente por el usuario; nunca deduzcas IDs.
- Programar
- <future ISO-8601 instant with offset>, con display_timezone configurado en Asia/Hong_Kong.
- Identidad de reintento
- <unique stable idempotency key for this one user intent>; reutilízala solo al reintentar de forma segura la misma solicitud.
Guía práctica
Diseña la confirmación del producto antes de la llamada API
Abrir esta sección en SosoAPIEn la aplicación SosoAPI, selecciona el espacio de trabajo previsto y revisa su cuenta conectada. En el prototipo de tu producto, muestra ese mismo espacio y cuenta elegidos por el usuario en vez de seleccionarlos silenciosamente.
Muestra el texto exacto, la cuenta, la hora local y la zona horaria en un paso de confirmación. Exige que la persona elija Schedule; abrir el formulario no debe enviar nada.
Qué puedes esperar
Una persona puede ver el destino y el horario antes de la escritura. El prototipo de producto ficticio es un ejercicio de diseño, no una integración instalada de un cliente.
Consulta las publicaciones programadas actuales desde tu servidor
Sustituye <workspace-uuid> por el ID de espacio elegido y ejecuta esta solicitud de solo lectura en tu servidor:
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/list", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({"workspace_id":"<workspace-uuid>"}) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.Usa los datos devueltos para actualizar la lista de tu producto. Mantén la confirmación del usuario separada de esta lectura.
Qué puedes esperar
Recibes las publicaciones actuales del espacio de trabajo o un error de autorización/validación. Esta solicitud de solo lectura no crea publicaciones.
Envía solo tras la confirmación explícita del usuario
Abre Calendar y elige New Post para comparar el paso de revisión con la misma acción en la aplicación.
Sustituye cada marcador por tus IDs autorizados, una fecha ISO futura con desplazamiento y una clave de idempotencia única. Revisa la cuenta, el texto y la hora antes de ejecutar esta solicitud en el servidor.
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/create", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({ "workspace_id": "<workspace-uuid>", "social_account_id": "<threads-social-account-uuid>", "caption": "A small note for later: Harborlight Journal is making room for shorter daily reflections. Keep one thought; leave the rest for tomorrow.", "hashtags": [], "media": [], "provider_payload": {"platform": "threads", "publish_options": {"post_type": "TEXT"}}, "scheduled_at": "<future ISO-8601 instant with offset>", "display_timezone": "Asia/Hong_Kong", "idempotency_key": "<unique-stable-key-for-this-intent>" }) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.Esta solicitud crea una programación real. Envíala solo tras la confirmación del usuario y nunca expongas la clave API al navegador.
Qué puedes esperar
Una respuesta válida de aceptación identifica la publicación programada resultante; no demuestra que el proveedor la haya publicado. Una capacidad denegada, alcance/cuenta no válidos, payload no admitido o programación rechazada deben mostrarse como error, no como éxito.
Muestra el estado devuelto y ofrece al usuario un siguiente paso seguro
Abrir esta sección en SosoAPIGuarda el ID devuelto de publicación programada y muestra su estado actual, destino y programación en el producto.
Enlaza al usuario con el detalle de la publicación programada correspondiente. Si la entrega necesita una persona, enlaza el elemento de Requiere atención en vez de reenviar silenciosamente.
No etiquetes la solicitud como publicada hasta registrar el estado final confirmado por el proveedor.
Qué puedes esperar
El producto distingue un comprobante de solicitud de las observaciones de programado, publicando, publicado, fallido y desconocido. Los resultados desconocidos se concilian con la publicación existente antes de una nueva escritura.
Un comprobante de solicitud. Después, un resultado de publicación.
Los ejemplos siguientes muestran campos seleccionados de respuestas API con valores ficticios. Tras crear una programación, guarda post.id y úsalo para consultar el resultado de esa publicación.
1. Respuesta de creación
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "scheduled",
"scheduled_at": "2100-01-05T10:00:00+08:00",
"published_at": null,
"permalink": null
},
"deduped": false
}2. Consultar la misma publicación
POST /studio-api/scheduled-posts/get
{
"id": "10000000-0000-4000-8000-000000000001"
}Tras la confirmación del proveedor, la respuesta de detalle puede incluir:
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "published",
"published_at": "2100-01-05T02:00:08Z",
"permalink": "https://www.threads.net/@example/post/EXAMPLE"
},
"delivery": {
"stage": "terminal",
"message": "Published on Threads."
}
}post.status- Usa el estado real, como scheduled, publishing, published o failed. Si se pierde la conexión, consulta la misma publicación antes de determinar qué ocurrió.
post.permalink- El enlace a la publicación del proveedor cuando esté disponible; puede ser null. La URL anterior es un ejemplo.
delivery / outcomes- La respuesta de detalle muestra el progreso de publicación y los resultados de plataforma disponibles para la publicación. Si falla, consulta esos datos y Requiere atención antes de decidir qué hacer después.
Son ejemplos de campos, no un comprobante real de publicación. Esta página no realiza llamadas API.
Qué significa cada estado
SubmittedRespuesta a la solicitud- Se recibió tu solicitud. Consulta el estado actual de la publicación antes de considerarla programada o publicada.
ScheduledDetalles de publicación- La publicación programada se acepta para una hora futura. Mantén visibles su destino y hora programada mientras espera.
PublishingDetalles de publicación- La entrega está en curso. Espera un resultado definitivo; un estado en curso no significa éxito.
PublishedDetalles de publicación- Úsalo solo cuando SosoAPI registre confirmación definitiva del proveedor para la publicación programada.
FailedDetalles de publicación- Un fallo definitivo requiere revisión. Consulta el detalle y la acción disponible antes de decidir qué cambiar o reintentar.
UnknownQué muestra la aplicación- Si se pierde una conexión y el resultado no está claro, consulta las publicaciones programadas y Requiere atención antes de volver a enviar.
Guías relacionadas
La guía incluye ejemplos API para el servidor. Configura tus IDs autorizados y tu clave API antes de ejecutarlos; la página no hace solicitudes.
Prueba tu primer flujo de trabajo.
Crea tu cuenta y empieza con Free.