API de publicación y mensajería en redes socialespara agentes de IA

Un único conjunto de endpoints REST para publicar en 18 destinos y responder a cada mensaje directo, comentario y mención desde una sola bandeja de entrada. Autenticación por clave de API, publicación en cola con reintentos, webhooks firmados y ningún OAuth por plataforma que escribir.

URL base https://api.so-me.studio/v1 · Autenticación X-API-Key · JSON de entrada, JSON de salida

Dos trabajos, un espacio de trabajo

La mayoría de las APIs sociales se quedan en la publicación. Un agente que publica pero no puede responder a las respuestas es solo medio agente, así que ambas cosas viven detrás de la misma clave y sobre las mismas cuentas conectadas.

Publicación

Publica en cualquier parte con una sola llamada

Crea una publicación una vez, apunta a cualquier destino conectado y deja que la cola se ocupe del formato por plataforma, la subida de material, los límites de tasa y los reintentos. Tu agente nunca toca el SDK de una plataforma.

  • POST /v1/posts
  • POST /v1/posts/:id/schedule
  • POST /v1/posts/:id/retry
  • POST /v1/media/presign-upload
  • POST /v1/drafts/:id/convert
Mensajería

Lee y responde a cada conversación

Los mensajes directos, comentarios y menciones de todas las cuentas conectadas llegan a una bandeja unificada. Recupera el hilo, publica una respuesta y márcalo como resuelto, todo con JSON plano y en el mismo espacio de trabajo que tus publicaciones.

  • GET /v1/inbox/conversations
  • GET /v1/inbox/conversations/:id/messages
  • POST /v1/inbox/conversations/:id/reply
  • POST /v1/whatsapp/templates/send
  • GET /v1/inbox/saved-replies

Así son las llamadas

Sin SDK. Tres peticiones cubren el bucle que un agente ejecuta todo el día: publicar, escuchar, responder.

Programar una publicación
curl -X POST \
  https://api.so-me.studio/v1/posts \
  -H "X-API-Key: $SOME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Ship day 🚀",
    "socialMedia": "LINKEDIN",
    "postType": "TEXT",
    "scheduledAt":
      "2026-08-04T09:00:00Z"
  }'
Responder a un mensaje directo
const { data } = await api(
  '/v1/inbox/conversations'
);

for (const c of data) {
  const reply = await agent.answer(c);

  await api(
    `/v1/inbox/conversations/${c.id}`
      + '/reply',
    { method: 'POST',
      body: { message: reply } }
  );
}
Escuchar el resultado
await fetch(
  BASE + '/v1/webhooks/subscriptions',
  {
    method: 'POST',
    headers: {
      'X-API-Key': KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      url: 'https://my-agent.dev/hook',
      events: [
        'post.published',
        'post.failed'
      ]
    })
  }
);

Todo el producto, en forma de endpoints

Todo lo que puedes hacer en el panel tiene una ruta. Nada está reservado a la interfaz.

Publicaciones

/v1/posts

Crea, actualiza, programa, desprograma, borra en lote, reintenta y reenvía publicaciones. Consulta el calendario y gestiona los comentarios de cada publicación.

Borradores

/v1/drafts

Aparca contenido en curso y convierte después un borrador en una publicación programada real con una sola llamada.

Bandeja de entrada

/v1/inbox

Lista conversaciones, lee hilos de mensajes, responde, archiva y gestiona respuestas guardadas de todas las cuentas conectadas.

WhatsApp

/v1/whatsapp

Crea y lista plantillas de mensaje aprobadas, sube material para plantillas y envía mensajes de plantilla a tus clientes.

Multimedia

/v1/media

Subidas prefirmadas, carpetas, búsqueda, renombrado, movimiento y borrado en lote. Adjunta por id cualquier recurso subido a una publicación.

Analítica

/v1/analytics

Métricas por cuenta y por publicación, además de desgloses nativos de cada plataforma para Facebook, Instagram, LinkedIn, YouTube, X y WhatsApp.

IA

/v1/ai

Genera textos, imágenes y vídeo UGC desde tu agente y envía el resultado directamente a una publicación.

Aprobaciones

/v1/approvals

Lista todo lo que está pendiente de revisión y apruébalo o recházalo, para que un agente redacte mientras una persona da el visto bueno.

Cuentas

/v1/accounts

Enumera las cuentas sociales conectadas y sus identificadores: las claves sobre las que se apoyan todas las publicaciones y conversaciones.

Webhooks

/v1/webhooks

Gestiona suscripciones, reenvía entregas, envía cargas de prueba y consulta el catálogo completo de eventos.

Bio-links

/v1/biolinks

Crea páginas de enlace en la bio de forma programática: botones, publicaciones incrustadas, temas, publicación y analítica de clics.

Equipos y ajustes

/v1/teams · /v1/settings

Invita miembros, asigna roles, rota claves de API, cambia de espacio de trabajo y consulta el consumo actual de tu plan.

Los esquemas completos de petición y respuesta, además de la especificación OpenAPI, están en la referencia de la API.

Hasta dónde llega

Conecta una cuenta una vez en el panel; la API la hereda en todas partes.

Publicar

18 destinos

Twitter/X, Instagram, LinkedIn (personal y de Página), Facebook, TikTok, YouTube, Threads, Pinterest, Bluesky, Mastodon, Reddit, Google Business Profile, WordPress, Dev.to, Dribbble, Discord y Slack, todos desde un único POST /v1/posts. WhatsApp envía mediante plantillas aprobadas.

Mensajería

Bandeja unificada

Ingesta por webhooks en tiempo real para Facebook, Instagram, WhatsApp y Twitter/X, además de hilos consultados por sondeo para Bluesky, Mastodon, Reddit, Telegram, Discord y Slack. Un único modelo de conversación para todos ellos.

Conectar

20 plataformas

El OAuth se gestiona una sola vez en el panel. La API lee los identificadores de cuenta resultantes: nunca almacenas, renuevas ni rotas un token de plataforma.

Diseñada para un cliente que nunca duerme

Un agente reintenta, se ejecuta en paralelo y lee los cuerpos de error al pie de la letra. La API está diseñada en torno a eso.

Una clave para tres superficies

La misma X-API-Key sirve para la API REST, la CLI instalada por npm y el servidor MCP. Emítela una vez en Settings → API Keys; tu agente nunca ve un token OAuth de plataforma.

La publicación va en cola, no se lanza y se olvida

Una llamada de creación responde de inmediato y la publicación entra en una cola de workers con control de límites de tasa por plataforma y reintentos automáticos. Los fallos se pueden relanzar con POST /v1/posts/:id/retry.

Más de 150 eventos firmados

Suscríbete a post.published, post.failed, eventos de mensajes de la bandeja de entrada, decisiones de aprobación, desconexiones de cuentas y más. Las cargas van firmadas con HMAC-SHA256 para que tu agente pueda confiar en ellas.

Limitada al espacio de trabajo por diseño

Cada clave está vinculada a un único espacio de trabajo. Usa una clave por cliente y un agente no podrá, físicamente, leer ni publicar en las cuentas de otro inquilino.

Límites de tasa documentados y aplicados

Las cuotas por minuto y por mes se publican para cada plan y se devuelven como un 429 limpio: sin throttling silencioso que un bucle de reintentos pueda malinterpretar.

No solo REST

¿Prefieres herramientas antes que endpoints? El mismo espacio de trabajo se expone como más de 200 herramientas MCP y una CLI que imprime JSON y devuelve códigos de salida reales.

Los límites, claros desde el principio

La API se desbloquea en Team. Si superas una cuota recibes un 429, nunca una pérdida silenciosa.

PlanLlamadas de APILímite de tasaEntregas de webhook
Free y SoloSin acceso a la API
Team10.000 llamadas / mes60 llamadas / min25.000 entregas / mes
ScaleIlimitadas300 llamadas / minIlimitadas

Consulta los precios para ver las tarifas actuales de cada plan, o la visión general de agentes si prefieres usar herramientas MCP en lugar de endpoints en crudo.

La primera llamada en tres pasos

Sin llamada comercial, sin solicitar un sandbox y sin cuenta de desarrollador en cada plataforma.

1

Conecta tus cuentas

Regístrate y conecta cualquiera de los 20 destinos en el panel. A partir de ahí, el OAuth, la renovación de tokens y los avisos de reautorización corren de nuestra cuenta.

2

Genera una clave de API

Settings → API Keys. Envíala como X-API-Key. Una clave por espacio de trabajo mantiene aislados a los clientes; esa misma clave también mueve la CLI y el servidor MCP.

3

Publica y luego escucha

POST /v1/posts para publicar o programar, suscríbete a post.published y post.failed y consulta GET /v1/inbox/conversations para empezar a responder.

Dos cosas, con una sola clave. Publicación: crea, programa, publica, reintenta y elimina contenido en 18 destinos, con subidas de material prefirmadas y generación de textos e imágenes con IA en el mismo espacio de trabajo. Mensajería: lista conversaciones de la bandeja unificada, lee un hilo, responde a mensajes directos y comentarios y envía plantillas aprobadas de WhatsApp. Alrededor de eso están la analítica, las aprobaciones, los bio-links, los equipos, las plantillas y los webhooks, todo bajo https://api.so-me.studio/v1.

Genera una clave en Settings → API Keys y envíala como cabecera X-API-Key en cada petición. Las claves están limitadas a un único espacio de trabajo, así que usar una clave por cliente mantiene aislados a los agentes entre sí. La misma clave autentica la CLI (npm i -g @social-media-scheduler/cli) y el servidor MCP.

No. Conectas las cuentas una vez en el panel y los tokens de plataforma se quedan de nuestro lado, cifrados. GET /v1/accounts devuelve los identificadores de cuenta que usarás al publicar o responder. La renovación de tokens, los avisos de reautorización y las peculiaridades de cada plataforma son cosa nuestra, no tuya.

Sí. GET /v1/inbox/conversations lista los hilos de todas las cuentas conectadas, GET /v1/inbox/conversations/:id/messages devuelve el historial de mensajes para dar contexto y POST /v1/inbox/conversations/:id/reply envía la respuesta. Facebook, Instagram, WhatsApp y Twitter/X llegan por webhooks en tiempo real; Bluesky, Mastodon, Reddit, Telegram, Discord y Slack se incorporan al mismo modelo de conversación.

WhatsApp funciona con plantillas en lugar de texto libre: POST /v1/whatsapp/templates crea una plantilla para su aprobación, POST /v1/whatsapp/templates/upload-media adjunta el material de cabecera y POST /v1/whatsapp/templates/send la entrega. Los mensajes entrantes de WhatsApp llegan a la misma bandeja unificada que todo lo demás.

No, y es algo deliberado. POST /v1/posts responde en cuanto se acepta la publicación; la publicación real pasa por una cola con control de límites de tasa por plataforma y reintentos automáticos. Escucha los webhooks post.published y post.failed —o consulta GET /v1/posts/:id— en lugar de bloquear un hilo de petición por una plataforma que está teniendo una mala tarde.

Más de 150, repartidos entre publicaciones, borradores, reutilización de contenido, aprobaciones, la bandeja de entrada, multimedia, cuentas, facturación y equipos: post.published, post.failed, post.approval.requested, desconexiones de cuentas y más. Gestiona las suscripciones con POST /v1/webhooks/subscriptions, lanza una entrega de prueba, reenvía una fallida y verifica la firma HMAC-SHA256 al recibirla.

La API es una función del plan Team en adelante; Free y Solo no tienen acceso a la API. Team incluye 10.000 llamadas al mes a 60 llamadas/min y 25.000 entregas de webhook al mes. Scale elimina los topes mensuales y sube el techo a 300 llamadas/min. Superar un límite devuelve 429 Too Many Requests.

El mismo espacio de trabajo, tres formas. Usa REST desde cualquier backend o framework (LangChain, CrewAI, AutoGen, Vertex AI, un simple worker de cron). Usa la CLI en shells, CI y tareas programadas. Usa el servidor MCP cuando el agente deba descubrir por su cuenta más de 200 herramientas tipadas: ese es el camino de Claude, Cursor y Windsurf.

En docs.so-me.studio, incluida la especificación OpenAPI para que generes un cliente tipado en cualquier lenguaje. Esta página es la visión general; la referencia contiene los esquemas de petición y respuesta de cada ruta.

Programa una vez.
Publica en todas partes.

Deja de hacer malabares con pestañas: redacta, adapta y publica en 20 plataformas desde un único calendario.