Una API para construir en LinkedIn, Instagram, WhatsApp, Email y Tu Agente de IA
Unipile le da a tu aplicación o agente de IA una única integración para mensajes, publicaciones y comentarios, correo electrónico y calendario, en LinkedIn, Instagram, WhatsApp, Telegram, Gmail, Outlook, IMAP, Google Calendar y Outlook Calendar. Un modelo de datos, un conjunto de puntos de acceso, sin SDK por proveedor que mantener.
Responder a cualquier cuenta vinculada, cualquier proveedor
const formulario = new DatosDeFormulario();formulario.añadir(texto, '¡En ello, gracias!');await fetch(`https://${DSN}/api/v1/chats/${chatId}/messages`, { método: POST, cabeceras: { 'X-API-KEY': TOKEN_DE_ACCESO }, cuerpo: formulario});Lo que realmente puedes construir con Unipile
Unipile no es un widget de mensajería adherido a un solo canal. Es una interfaz de API completa en tres categorías de productos, cada una mapeada a integraciones de proveedores reales: vincular una cuenta, enviar un mensaje, publicar una publicación, responder a un comentario, sincronizar una bandeja de entrada o programar una reunión. Aquí tienes la imagen completa.
LinkedIn es la superficie más profunda de la API
34 características específicas de LinkedIn en 6 categorías, además de la capa principal de mensajería: prospección, contenido, perfiles, reclutamiento y búsqueda.
Esto es solo una parte de lo que expone la API. Consulta la lista completa y actualizada de funciones de cada proveedor en la documentación para desarrolladores.
Ver la lista completa de funciones11 cosas que los desarrolladores construyen realmente con Unipile
Haz clic en cualquier caso de uso para ver los endpoints reales y un fragmento de código funcional. Estos son patrones extraídos directamente de cómo los clientes de Unipile usan la API hoy en día, no son ejemplos teóricos.
Un cliente potencial responde a tu mensaje en LinkedIn. Unipile envía el nuevo mensaje a tu webhook en tiempo real, tú lo muestras en la interfaz de tu propia bandeja de entrada y tu comercial responde sin necesidad de abrir LinkedIn.
Puntos finales utilizados// Responder dentro de una conversación existente en LinkedIn
const formulario = new DatosDeFormulario();
formulario.añadir(texto, '¡Gracias por tu respuesta!');await fetch(`https://${DSN}/api/v1/chats/${chatId}/messages`, {
método: POST,
encabezados: { 'X-API-KEY': ACCESS_TOKEN },
body: form // multipart/form-data, no se necesita encabezado JSON});Un representante encuentra un prospecto que encaja bien a través de la búsqueda de LinkedIn y envía una solicitud de conexión directamente desde su aplicación, con una nota personalizada corta en lugar de una invitación en blanco. Unipile devuelve un invitation_id que puede verificar contra la lista de invitaciones pendientes, o capturar el momento en que se convierte en una conexión aceptada a través de un webhook.
Puntos finales utilizados// Enviar una invitación de conexión personalizada de LinkedIn
const invitar await fetch(`https://${DSN}/api/v1/users/invite`, {
método: POST,
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO, tipo de contenido: aplicación/json },
cuerpo: JSON.stringifyaccount_id: accountId,
provider_id: prospectProviderId,
message: 'Disfruté tu charla sobre outbound, me encantaría conectar.'})
}).entonces(r => r.json());// invite.invitation_id: encuestas GET /users/invite/sent, o escucha la webhook "new_relation"Dirige los mensajes directos de Instagram de una cuenta de empresa vinculada directamente a tu herramienta de soporte o CRM. Los agentes leen y responden desde tu propia interfaz, Unipile mantiene ambos lados de la conversación sincronizados.
Puntos finales utilizados// List all conversations for an account
const res = await fetch(`https://${DSN}/api/v1/chats?account_id=${igAccountId}`, {
encabezados: { 'X-API-KEY': ACCESS_TOKEN }
});const { elementos: conversaciones } = await res.json();// las conversaciones ahora se renderizan directamente en la bandeja de entrada de su CRMRecupera los comentarios de tus publicaciones de Instagram, responde públicamente desde tu panel y reacciona, para que tu equipo de redes sociales nunca tenga que cambiar a la aplicación de Instagram para gestionar la interacción.
Puntos finales utilizados// Obtener comentarios de una publicación, luego publicar una respuesta
const comentarios = await fetch(`https://${DSN}/api/v1/posts/${postId}/comments`, {
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO }
}).entonces(r => r.json());await fetch(`https://${DSN}/api/v1/posts/${postId}/comments`, {
método: POST,
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO, tipo de contenido: aplicación/json },
cuerpo: JSON.stringify({ texto: '¡Gracias! Te enviaré un mensaje directo.' })
});Ejecuta una búsqueda de personas en LinkedIn con los mismos filtros que ya utiliza tu equipo, luego integra los resultados directamente en tu CRM o en una secuencia de prospección, una cuenta vinculada, sin exportación manual.
Puntos finales utilizadosEjecutar una búsqueda de personas en LinkedIn
const resultados = await fetch(`https://${DSN}/api/v1/linkedin/search`, {
método: POST,
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO, tipo de contenido: aplicación/json },
cuerpo: JSON.stringify({ id_cuenta: accountId, categoría: 'gente', palabras clave: 'VP de Ventas, París' })
}).entonces(r => r.json());Programa una publicación desde tu propio calendario de contenido, recupera los comentarios que genera y reacciona ante la interacción, todo ello sin que un humano inicie sesión en LinkedIn para publicar.
Puntos finales utilizadosPublicar una entrada en LinkedIn en nombre de una cuenta vinculada
await fetch(`https://${DSN}/api/v1/posts`, {
método: POST,
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO, tipo de contenido: aplicación/json },
cuerpo: JSON.stringify({account_id: accountId, texto: 'Acabamos de enviar...' })
});Tu llamada finaliza, tu aplicación activa un mensaje de WhatsApp con un resumen y los próximos pasos, enviado desde el mismo número que tu equipo ya utiliza para chatear con ese contacto.
Puntos finales utilizados// Iniciar una nueva conversación de WhatsApp con un resumen
const formulario = new DatosDeFormulario();
formulario.añadir('id_cuenta', whatsappAccountId);
formulario.añadir(texto, 'Genial hablar contigo hoy, aquí está el resumen...');
formulario.añadir('attendees_ids', contactPhoneId);await fetch(`https://${DSN}/api/v1/chats`, método: POST, encabezados: { 'X-API-KEY': ACCESS_TOKEN }, cuerpo: formulario });Vincula una cuenta de Telegram y trátala exactamente como cualquier otra bandeja de entrada: lista chats, recibe mensajes nuevos instantáneamente a través de webhook y responde desde tu propia herramienta.
Puntos finales utilizados// Lista chats de Telegram para una cuenta vinculada
const chats = await fetch(`https://${DSN}/api/v1/chats?account_id=${tgAccountId}`, {
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO }
}).entonces(r => r.json());Integra un buzón en tu producto conservando los hilos, independientemente del proveedor que conecte tu usuario: Gmail, Outlook o IMAP. Un modelo de datos único, sin lógica separada para Gmail o Outlook en tu aplicación.
Puntos finales utilizados// Recuperar los últimos correos electrónicos de un buzón vinculado, ordenados por hilo
const bandeja de entrada = await fetch(`https://${DSN}/api/v1/mails?account_id=${mailboxId}`, {
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO }
}).entonces(r => r.json());// Misma forma independientemente de si mailboxId apunta a Gmail, Outlook o IMAPUna vez que un prospecto acepta una llamada en un hilo de LinkedIn o correo electrónico, verifica la disponibilidad y crea el evento en su calendario de Google u Outlook, sin salir de tu aplicación.
Puntos finales utilizadosCrear un evento de calendario una vez que se confirme una reunión
await fetch(`https://${DSN}/api/v1/calendars/${calendarId}/events`, {
método: POST,
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO, tipo de contenido: aplicación/json },
cuerpo: JSON.stringify({ título: 'Llamada introductoria', start_time: startISO, end_time: endISO, attendees: [email] })
});En lugar de encuestas, suscríbete una vez y recibe un webhook en el momento en que ocurre un nuevo mensaje, un nuevo correo electrónico o un cambio en el estado de la cuenta, en todos los proveedores vinculados.
Puntos finales utilizados// Suscribirse a eventos de nuevos mensajes en todas las cuentas vinculadas
await fetch(`https://${DSN}/api/v1/webhooks`, {
método: POST,
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO, tipo de contenido: aplicación/json },
cuerpo: JSON.stringify"source": 'mensajería', evento: 'mensaje_recibido', url_solicitada: 'https://tuapp.com/webhooks/unipile' })
});Estos son solo 11 patrones. Los mismos puntos finales se combinan para hacer lo que sea que tu aplicación o tu agente de IA necesiten hacer.
Empieza a construir tu propio caso de usoTu primera llamada a la API, en tres pasos
Obtén tus credenciales, vincula la cuenta de un usuario, envía tu primer mensaje. Aquí te explicamos exactamente cómo, con el razonamiento detrás de cada llamada, no solo el código.
Obtén tu DSN y token de acceso
Regístrate en dashboard.unipile.com/registro. Tu DSN (Nombre de la fuente de datos) es el host de tu instancia dedicada de Unipile, va en cada URL de solicitud. Tu Ficha de acceso, generado desde el página de tokens de acceso, autentica cada llamada como el X-API-KEY encabezado.
#: Servidor base para cada solicitudUNIPILE_DSN=tu-subdominio.unipile.com:PUERTO# Se envía como encabezado X-API-KEY en cada llamadaUNIPILE_ACCESS_TOKEN=tu-token-de-accesoVincular la cuenta de un usuario con autenticación alojada
Una llamada a POST /api/v1/hosted/accounts/link devuelve un enlace. Redirige al usuario a él, Unipile ejecuta el flujo de inicio de sesión propio del proveedor (código QR, OAuth o credenciales según el proveedor), y luego publica el nuevo account_id a tu notificar_url, igualado a nombre enviaste.
// Generar un enlace de autenticación alojado para LinkedIn, Instagram, WhatsApp
const res = await fetch(`https://${DSN}/api/v1/hosted/accounts/link`, {
método: POST,
encabezados: { 'X-API-KEY': TOKEN_DE_ACCESO, tipo de contenido: aplicación/json },
cuerpo: JSON.stringify({
tipo: 'crear',
proveedores: ['LINKEDIN', 'INSTAGRAM', 'WHATSAPP'],
api_url: `https://${DSN}`,
expiraEn: '2026-12-31T00:00:00.000Z',
url_redireccion_exito: 'https://tappcom.com/conectado',
notify_url: 'https://tuapp.com/webhooks/unipile', nombre: internalUserId // tu propio ID de usuario, reflejado de vuelta en el webhook})
});const { url } = await res.json();// redirigir al usuario a `url`Envíe su primer mensaje
Una vez vinculada la cuenta, toma un chat_id from GET /api/v1/chats y enviar. El cuerpo es multipart/form-data ya que los archivos adjuntos (de hasta 15 MB) pueden incluirse en la misma llamada, no hay un paso de carga por separado.
# Enviar un mensaje de texto a una conversación existentecurl --request POST \
--url https://{DSN}/api/v1/chats/{chat_id}/messages \
--header 'X-API-KEY: {ACCESS_TOKEN}' --encabezado 'accept: application/json' --encabezado content-type: multipart/form-data' --formulario 'Hola mundo !'Conecta tu IA con MCP
Tu agente de codificación no tiene que adivinar cómo funciona la API de Unipile. Apunta Claude Desktop, Cursor o Windsurf al servidor Unipile MCP y obtendrá acceso directo y autenticado a la API, además de la documentación, para que pueda escribir y probar código de integración contra tus cuentas vinculadas reales.
¿Qué es MCP?
El Protocolo de Contexto del Modelo es un estándar abierto que permite a las aplicaciones de IA acceder de forma segura a fuentes de datos y herramientas externas. El servidor Unipile MCP otorga a su entorno de desarrollo de IA conectividad directa a la API de mensajería, correo electrónico y calendario de Unipile, sin necesidad de búsquedas manuales de documentos.
{ "servidores mcp": { "unipila": { "url": "https://developer.unipile.com/mcp?branch=v1.0", "encabezados": { "Clave API X": "tu-api-llave"}
}
}
}Uso responsable y cumplimiento
Antes de construir, es útil comprender exactamente cómo Unipile maneja los datos y dónde se sitúan las líneas de responsabilidad. Aquí está la versión corta.
Nota de Manejo de Datos
Unipile no mantiene un almacén de datos independiente de los mensajes, correos electrónicos o contactos de sus usuarios. Cada solicitud recupera datos a través de la API en nombre de la cuenta autenticada y vinculada, limitada a esa sesión. No hay un archivo paralelo ni una exportación masiva más allá de lo que el usuario vinculado ya tiene acceso.
Cómo opera Unipile
Unipile actúa como un intermediario técnico independiente, no como un socio de LinkedIn, Meta, Microsoft, Google o Telegram. Cada acción ocurre en nombre del usuario autenticado que vinculó su cuenta, utilizando las credenciales y la sesión de ese mismo usuario. Unipile nunca comparte credenciales entre clientes.
Límites de la plataforma y uso responsable
Unipile retransmite los límites de tarifas y las restricciones de uso establecidos por cada plataforma subyacente, no los elimina. La rapidez con la que envías mensajes, cuántas cuentas vinculas y cómo utilizas los datos recuperados siguen siendo una decisión del cliente, regida por los términos de cada proveedor y por los requisitos del GDPR y SOC 2 para el almacenamiento de esos datos.
Unipile no está afiliado, respaldado ni patrocinado por LinkedIn, Meta, Microsoft, Google ni Telegram. Todos los nombres de productos, logotipos y marcas mencionados en esta guía son propiedad de sus respectivos dueños.
Guía de la API Unipile - Preguntas frecuentes
Las preguntas que más hacen los desarrolladores antes de su primera integración.
Unipile te ofrece una integración para enviar y recibir mensajes en LinkedIn, WhatsApp, Instagram y Telegram, publicar y gestionar publicaciones y comentarios, recuperar perfiles, sincronizar buzones de correo de Gmail, Outlook o IMAP con roscado completo, y leer o crear eventos en Google Calendar y Outlook Calendar. Es un conjunto único de puntos finales y un modelo de datos único en todas las cuentas vinculadas, no un SDK separado por proveedor.
Instagram es un proveedor de primera clase en Unipile. Más allá de los mensajes directos, puedes recuperar y responder comentarios en publicaciones, reaccionar a contenido y obtener datos de perfiles e interacciones, las mismas categorías disponibles para LinkedIn, a través de la API de Social & Messaging.
El servidor Unipile MCP (https://developer.unipile.com/mcp?branch=v1.0) permite que herramientas de desarrollo de IA como Claude Desktop, Cursor y Windsurf se conecten directamente a la API de Unipile usando tu token de acceso. Tu agente de codificación puede entonces consultar la documentación y llamar a la API para ayudarte a construir y probar una integración, en lugar de tener que copiar y pegar la documentación en una ventana de chat.
Cada solicitud necesita dos cosas de tu Salpicadero Unipile: su DSN, que es el host base para sus solicitudes, y un Token de Acceso, enviado como X-API-KEY encabezado. Generas ambos desde el Panel de la API y página de tokens de acceso.
La ruta más rápida es Hosted Auth: una sola llamada a POST /api/v1/hosted/accounts/link devuelve un enlace al que redirige al usuario. Unipile se encarga del flujo de inicio de sesión propio del proveedor (código QR, OAuth o credenciales, según el proveedor) y notifica a tu webhook con el nuevo account_id una vez que la cuenta esté vinculada.
Tres: Gmail, Outlook (que también cubre Microsoft 365 y Exchange Online), y IMAP como opción de respaldo universal para cualquier otro proveedor de buzones. Los tres comparten el mismo modelo de encadenamiento y el mismo conjunto de puntos finales.
No. Los chats, mensajes y archivos adjuntos utilizan los mismos puntos finales en LinkedIn, WhatsApp, Instagram y Telegram. Filtra por account_id para dirigirse a una cuenta vinculada y proveedor específicos, la forma de la solicitud no cambia.
Unipile opera como un intermediario técnico independiente y no mantiene un almacén de datos paralelo; cada solicitud recupera datos en nombre de la cuenta vinculada autenticada. Unipile es Conformidad con el GDPR y Alineado con SOC 2; cómo almacena y utiliza los datos que recupera sigue siendo su responsabilidad como controlador de datos.
El precio es de pago por uso, a partir de 49 €/mes por hasta 10 cuentas vinculadas, y luego se factura por cuenta adicional. Todas las funciones descritas en esta guía, mensajería, publicaciones, correo electrónico, calendario, MCP, están incluidas en todos los niveles, no hay limitación de funciones. Consulte el desglose completo en la página de precios.
¿Aún tiene preguntas? Nuestro equipo está aquí para ayudarle.
Empieza a construir con Unipile
Afilie su primera cuenta en minutos y envíe su primer mensaje, publicación, sincronización por correo electrónico o reserva de calendario hoy mismo.
Paga a medida que avanzas, desde 49 €/mes. Todas las funciones incluidas en todos los niveles.