La API de redes sociales para publicar, programar y recibir webhooks

Publica y programa en 13 redes con una sola API REST. Lee analíticas, responde comentarios y DMs y recibe un webhook firmado en cuanto una publicación sale, falla o se aprueba.

REST y JSON Claves API Bearer Webhooks firmados También servidor MCP
REST/api/v1+webhooks
  1. Programas una publicación Tú → RobinReachPOST /api/v1/posts
    Authorization: Bearer YOUR_API_KEY
    {"content":"Our autumn menu lands on Friday.","social_profile_ids":[101,102],"publish_time":"2026-11-13T09:00","timezone":"America/New_York","status":"scheduled"}
  2. RobinReach la pone en el calendario RobinReach → TúRespuesta
    {"id":18342,"status":"scheduled","publish_time":"2026-11-13T09:00:00-05:00","timezone":"America/New_York","social_profiles":[{"name":"Northwind Instagram","platform":"instagram","status":"pending"},{"name":"Northwind LinkedIn","platform":"linkedin","status":"pending"}]}
  3. El viernes a las 9:00 sale y te enteras RobinReach → Tu servidorPOST https://your-app.com/webhooks
    X-RobinReach-Event: post.published
    X-RobinReach-Signature: t=1794150000,v1=5257a869e7…
    {"id":"evt_1c626cf6bcb5","type":"post.published","data":{"post":{"id":18342,"status":"published","summary":{"total":2,"published":2,"failed":0}}}}

Un intercambio de ejemplo con IDs inventados. Los webhooks llegan como un POST firmado a tu endpoint HTTPS.

Inicio rápido

Programa tu primera publicación con una petición

Envía el texto, los perfiles y la hora. RobinReach comprueba la publicación con las reglas de cada red, la pone en el calendario y la publica a tiempo.

  1. Genera una clave API en la página Integraciones de tu panel.
  2. Llama a GET /api/v1/social_profiles para obtener los IDs de las cuentas en las que quieres publicar.
  3. Envía esta petición. La hora se lee en el timezone que indiques, así que 09:00 son las 9:00 para tu audiencia.

¿No sabes si una publicación pasará? POST /api/v1/posts/validate hace las mismas comprobaciones sin guardar nada.

Terminal
curl -X POST https://robinreach.com/api/v1/posts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "Our autumn menu lands on Friday.",
  "social_profile_ids": [
    101,
    102
  ],
  "publish_time": "2026-11-13T09:00",
  "timezone": "America/New_York",
  "status": "scheduled"
}'
Endpoints

Todo RobinReach, por HTTP

La API cubre el trabajo que tu equipo hace en el panel, para que tu código también pueda hacerlo.

  • Publicaciones y programación

    Crea, valida, publica ya, reprograma y elimina publicaciones, con las opciones propias de cada red.

    /posts/posts/validate/posts/{id}/posts/{id}/publish_now/posts/{id}/reschedule
  • Biblioteca de medios

    Sube imágenes, vídeos y PDF, ordénalos en carpetas y reutilízalos en tus publicaciones.

    /attachments/attachments/{id}/folders/folders/{id}
  • Marcas y perfiles

    Lista las marcas y los perfiles conectados, además de tableros de Pinterest, audio de Instagram, categorías y etiquetas de WordPress, ubicaciones y grupos de hashtags.

    /brands/brands/{id}/social_profiles/social_profiles/{id}/social_profiles/{id}/pinterest_boards/locations/hashtag_groups
  • Analíticas

    La interacción por perfil y por publicación, tus mejores publicaciones, esta semana frente a la anterior y el calendario.

    /analytics/summary/analytics/top_posts/posts/{id}/analytics/social_profiles/{id}/analytics/calendar
  • Comentarios y mensajes

    Lee los hilos de comentarios, los DMs de Facebook e Instagram y las reseñas de Google de tus perfiles, y responde como la marca.

    /comment_threads/comment_threads/{id}/reply
  • Automatizaciones

    Crea, pausa y reanuda automatizaciones de Comment to DM, feeds RSS y tareas de reutilización. Comprueba un feed antes de añadirlo y ejecuta una tarea cuando quieras.

    /comment_automations/comment_automations/{id}/pause/rss_feeds/rss_feeds/validate/rss_feeds/{id}/sync/repurposing_tasks/repurposing_tasks/{id}/run
  • Página bio

    Edita la página bio de la marca y sus bloques, ordénalos, consulta las analíticas de la página y obtén su código QR.

    /bio_page/bio_page/blocks/bio_page/blocks/{id}/bio_page/blocks/reorder/bio_page/analytics/bio_page/qr
  • Enlaces para clientes

    Con los Connect Links los clientes añaden sus propias cuentas. Con los Approval Links revisan publicaciones sin iniciar sesión.

    /connect_links/connect_links/{id}/approval_links/approval_links/{id}
  • Webhooks

    Añade endpoints, envía eventos de prueba, rota los secretos de firma y consulta el registro de entregas.

    /webhook_endpoints/webhook_endpoints/{id}/webhook_endpoints/{id}/test/webhook_endpoints/{id}/rotate_secret/webhook_endpoints/{id}/enable/webhook_endpoints/{id}/deliveries
Webhooks

Deja de consultar. Entérate cuando pasa.

Añade un endpoint HTTPS y RobinReach envía un POST firmado para los eventos que elijas. Avisa a tu equipo, sincroniza tu CRM o responde un comentario o un DM en el segundo en que llega.

8 eventos a los que suscribirte

  • post.publishedUna publicación salió en todos los perfiles seleccionados.
  • post.partially_publishedUna publicación salió en algunos perfiles y falló en otros.
  • post.failedUna publicación falló en todos los perfiles seleccionados, con el motivo de cada uno.
  • post.approvedUna publicación se aprobó en el panel o mediante un Approval Link.
  • post.rejectedUna publicación se rechazó, con la nota de quien la revisó.
  • comment.receivedOtra persona comentó en un perfil conectado. Tus propias respuestas nunca lo activan.
  • review.receivedLlegó una reseña nueva al Perfil de Empresa de Google.
  • message.receivedAlguien envió un mensaje directo a una página de Facebook o una cuenta de Instagram conectada.

Hasta 10 endpoints por marca. Con la clave maestra, un endpoint en tu marca predeterminada puede escuchar todas las marcas a la vez.

Lo que llega

POST a tu endpoint
{
  "id": "evt_1c626cf6bcb54613a8053e24d5361527",
  "type": "post.published",
  "created_at": "2026-11-13T14:00:00Z",
  "api_version": "2026-11-01",
  "data": {
    "brand": {
      "id": "northwind",
      "name": "Northwind Coffee"
    },
    "post": {
      "id": 18342,
      "status": "published",
      "content": "Our autumn menu lands on Friday.",
      "social_profiles": [
        {
          "id": 101,
          "platform": "instagram",
          "status": "published",
          "remote_url": "https://www.instagram.com/p/C9xYz12AbCd/"
        },
        {
          "id": 102,
          "platform": "linkedin",
          "status": "published",
          "remote_url": "https://www.linkedin.com/feed/update/urn:li:share:7392018841650188288/"
        }
      ],
      "summary": {
        "total": 2,
        "published": 2,
        "failed": 0
      }
    }
  }
}

Verifica cada petición

Cada petición lleva X-RobinReach-Signature: t=…,v1=…, un HMAC-SHA256 de la marca de tiempo y el cuerpo sin procesar, firmado con el secreto de tu endpoint. Compruébalo antes de fiarte del contenido y rechaza marcas de tiempo de más de cinco minutos.

robinreach_webhooks_controller.rb
class RobinreachWebhooksController < ActionController::API
  def create
    body = request.raw_post
    return head :unauthorized unless valid_signature?(body, request.headers["X-RobinReach-Signature"])

    event = JSON.parse(body)
    # Skip event["id"] if you have seen it, then queue the work.
    head :ok
  end

  private

  def valid_signature?(body, header, tolerance: 300)
    parts = header.to_s.split(",").map { |p| p.split("=", 2) }.select { |kv| kv.size == 2 }.to_h
    t = Integer(parts["t"].to_s, exception: false)
    return false unless t && parts["v1"] && (Time.now.to_i - t).abs <= tolerance

    expected = OpenSSL::HMAC.hexdigest("SHA256", ENV.fetch("ROBINREACH_WEBHOOK_SECRET"), "#{t}.#{body}")
    ActiveSupport::SecurityUtils.secure_compare(expected, parts["v1"])
  end
end
Fiable de serie

Hecho para el día en que tu servidor se cae

  • Reintentos durante un día

    Una entrega fallida se reintenta 7 veces durante unas 28 horas, con intervalos cada vez más largos.

  • En pausa, nunca en silencio

    Tras 10 entregas fallidas seguidas, el endpoint se pausa y el administrador de la marca recibe un email. Reanúdalo con un clic.

  • Seguro si llega dos veces

    Cada evento tiene un ID único, para que tu código pueda ignorar el raro duplicado.

  • Un registro de entregas

    Cada intento, código de estado y cuerpo de respuesta se guarda 30 días, y puedes enviar un evento de prueba cuando quieras.

Los detalles

Lo que toda integración necesita saber

URL base
https://robinreach.com/api/v1. Todas las rutas de esta página son relativas a ella.
Autenticación
Envía tu clave como Authorization: Bearer YOUR_API_KEY. Un parámetro api_key en la URL también funciona, pero puede acabar en los registros del servidor, así que mejor usa la cabecera.
Claves maestras y de marca
Una clave maestra llega a todas las marcas de la cuenta; elige una con brand_id. Una clave de marca solo llega a una marca, así que puedes dársela sin riesgo a un cliente o a una herramienta con un solo uso.
Formato
JSON de entrada y de salida. Las horas van en ISO 8601, leídas en la zona horaria IANA que indiques, como America/New_York, o en la de la marca si no indicas ninguna.
Errores
401 si falta la clave o es incorrecta, 404 para todo lo que queda fuera del alcance de la clave, 422 con un mensaje claro cuando una publicación incumple las reglas de una red.
Límites de peticiones
Las peticiones tienen un límite por clave. Una petición limitada recibe 429 con las cabeceras Retry-After y X-RateLimit-*, para que tu cliente pueda frenar por sí solo.
Versiones
La API REST se versiona en la ruta, /api/v1, y cada webhook indica la versión de su contenido en api_version.
Planes
Incluida en Bloom, Thrive y Scale. Genera las claves en la página Integraciones de tu panel.
Qué construye la gente

Una API, 13 redes

Cada red conserva sus propias opciones, como los Reels de Instagram, los títulos de YouTube, los tableros de Pinterest o las publicaciones de documento de LinkedIn, definidas por publicación en platform_options.

  • Programación dentro de tu producto

    Dales a tus usuarios publicación en 13 redes sin construir ni mantener tú la API de cada red.

  • Trabajo con clientes a escala

    Gestiona cada marca cliente desde una cuenta, con una clave de marca y sus propios webhooks para cada cliente.

  • Publicaciones a partir de tus datos

    Convierte productos, anuncios, artículos o eventos nuevos en publicaciones programadas en cuanto existen.

  • Alertas e informes

    Envía las publicaciones fallidas a Slack, lleva los resultados a tu CRM y trae las analíticas a tus propios paneles.

Otras formas de entrar

¿Sin código, o con un agente de IA? La misma plataforma.

  • Servidor MCP para agentes de IA

    Claude, ChatGPT, Cursor y tus propios agentes obtienen las mismas acciones como herramientas, con una URL y la misma clave.

    Ver el servidor MCP
  • Nodo comunitario de n8n

    Instala n8n-nodes-robinreach y programa publicaciones desde cualquier flujo de n8n.

    Ver en GitHub
  • Zapier y Make

    Llama a la API desde un paso de webhook en Zapier o un módulo HTTP en Make. La página Integraciones tiene los ajustes listos para copiar.

    Abrir Integraciones
FAQ

Lo que preguntan los desarrolladores

¿Qué es la API de RobinReach?

Una API REST para publicar en redes sociales. Con una clave creas, programas y publicas en 13 redes, subes medios, lees analíticas, respondes comentarios y DMs, gestionas automatizaciones y recibes webhooks, con las cuentas que conectas en RobinReach.

¿Qué redes sociales admite la API?

Instagram, Facebook, TikTok, LinkedIn, YouTube, X (Twitter), Threads, Pinterest, Bluesky, Mastodon, Perfil de Empresa de Google, Telegram y WordPress. Cada una conserva sus propias opciones, como los Reels, los títulos de YouTube o los tableros de Pinterest.

¿Cómo me autentico?

Genera una clave en la página Integraciones de tu panel y envíala como Authorization: Bearer YOUR_API_KEY. Un parámetro api_key en la URL también funciona, pero la cabecera mantiene la clave fuera de los registros del servidor.

¿Puedo limitar una clave API a una marca?

Sí. La clave maestra funciona en todas las marcas de tu cuenta y eliges una con brand_id. Cada marca puede tener además su propia clave de marca, que solo funciona en esa marca: no necesita brand_id, no ve tus otras marcas y no puede crear ni eliminar marcas.

¿Cómo programo una publicación con la API?

Envía POST /api/v1/posts con el content, los social_profile_ids, un publish_time en ISO 8601, un timezone como America/New_York y status en scheduled. Llama antes a POST /api/v1/posts/validate para comprobarla con las reglas de cada red sin guardarla.

¿La API admite webhooks?

Sí. Añade hasta 10 endpoints HTTPS por marca y elige entre 8 eventos: publicación publicada, publicada en parte, fallida, aprobada y rechazada, comentario recibido, reseña recibida y mensaje de Facebook o Instagram recibido. Cada petición va firmada con HMAC-SHA256, y las entregas fallidas se reintentan durante un día aproximadamente.

¿Cómo verifico la firma de un webhook?

Lee t y v1 de la cabecera X-RobinReach-Signature, calcula un HMAC-SHA256 de t.raw_body con tu secreto de firma y compara ambos en tiempo constante. Rechaza marcas de tiempo de más de cinco minutos. Los ejemplos de arriba lo hacen en Ruby, Node y Python.

¿Puedo responder comentarios y DMs con la API?

Sí. GET /api/v1/comment_threads lista los hilos de comentarios, las conversaciones de Facebook e Instagram y las reseñas de Google, y POST /api/v1/comment_threads/{id}/reply responde uno como la marca: bajo el comentario, en privado si es un DM o en público en Google si es una reseña. Combínalo con los webhooks comment.received y message.received para responder en cuanto llega algo.

¿Qué planes incluyen acceso a la API?

Bloom, Thrive y Scale. La misma clave también funciona con el servidor MCP. Consulta la página de precios para ver los límites de cada plan.

¿Puedo usarla sin código o desde un agente de IA?

Sí. El servidor MCP da a Claude, ChatGPT y otros agentes las mismas acciones como herramientas, el nodo comunitario de n8n funciona en cualquier flujo de n8n, y Zapier y Make pueden llamar a la API desde un paso de webhook o HTTP.

¿Puedo gestionar las automatizaciones y la página bio con la API?

Sí. Hay endpoints para las automatizaciones de Comment to DM, los feeds RSS (con un paso de validación y una sincronización a demanda), las tareas de reutilización (pausar, reanudar o ejecutar una ya) y la página bio con sus bloques, analíticas y código QR. Pausar y reanudar se pueden llamar dos veces sin riesgo, así que un reintento no puede revertir un ajuste.

Lanza tu integración esta semana

Genera una clave, programa una publicación con una petición y añade un webhook. La referencia tiene todos los campos.

El acceso a la API está incluido en Bloom, Thrive y Scale.