Un'API per creare su LinkedIn, Instagram, WhatsApp, Email e Il tuo Agente AI
Unipile offre alla tua app o al tuo agente AI una singola integrazione per messaggi, post e commenti, e-mail e calendario, su LinkedIn, Instagram, WhatsApp, Telegram, Gmail, Outlook, IMAP, Google Calendar e Outlook Calendar. Un modello dati, un set di endpoint, nessun SDK per provider da mantenere.
Rispondi a qualsiasi account collegato, a qualsiasi provider
const modulo = new FormData();modulo.aggiungi('testo', 'Ci penso io, grazie!');await fetch(`https://${DSN}/api/v1/chats/${chatId}/messages`, { metodo: 'POST', intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO }, corpo: modulo});Cosa puoi costruire realmente con Unipile
Unipile non è un widget di messaggistica aggiunto a un singolo canale. È una superficie API completa su tre categorie di prodotti, ciascuna mappata a integrazioni di provider reali: collegamento di un account, invio di un messaggio, pubblicazione di un post, risposta a un commento, sincronizzazione della posta in arrivo o prenotazione di una riunione. Ecco il quadro completo.
LinkedIn è la superficie più profonda nell'API
34 funzionalità specifiche di LinkedIn distribuite in 6 categorie, oltre al livello di messaggistica principale sopra: outreach, contenuti, profili, recruiting e ricerca.
Questa è solo una parte di ciò che l'API espone. Consulta l'elenco completo e aggiornato delle funzionalità per provider nella documentazione per sviluppatori.
Visualizza l'elenco completo delle funzionalità11 cose che gli sviluppatori realizzano effettivamente con Unipile
Clicca su qualsiasi caso d'uso per vedere gli endpoint effettivi e uno snippet di codice funzionante. Questi sono pattern estratti direttamente da come i clienti Unipile utilizzano l'API oggi, non esempi teorici.
Un prospect risponde al tuo outreach su LinkedIn. Unipile invia il nuovo messaggio al tuo webhook in tempo reale, lo visualizzi nella tua interfaccia di posta elettronica e il tuo rappresentante risponde senza mai aprire LinkedIn.
Endpoint utilizzati// Rispondi all'interno di una conversazione LinkedIn esistente
const modulo new FormData();
modulo.aggiungi('testo', 'Grazie per avermi risposto!');await fetch(`https://${DSN}/api/v1/chats/${chatId}/messages`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': ACCESS_TOKEN },
corpo: form // multipart/form-data, nessuna intestazione JSON necessaria});Un venditore trova un potenziale cliente adatto tramite la ricerca su LinkedIn e invia una richiesta di connessione direttamente dalla tua app, con una breve nota personalizzata invece di un invito vuoto. Unipile restituisce un invitation_id che puoi verificare rispetto all'elenco delle richieste in sospeso, o cogliere il momento in cui si trasforma in una connessione accettata tramite un webhook.
Endpoint utilizzati// Invia un invito di connessione personalizzato su LinkedIn
const invito = await fetch(`https://${DSN}/api/v1/users/invite`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO, 'content-type': 'application/json' },
corpo: JSON.stringify({
account_id: accountId,
provider_id: prospectProviderId,
message: 'Mi è piaciuta la tua presentazione sull'outbound, mi piacerebbe connettermi.'})
}).allora(r => r.json());// invite.invitation_id: sondaggio GET /users/invite/sent, o ascolta il webhook "new_relation"Indirizza i messaggi diretti di Instagram da un account aziendale collegato direttamente al tuo strumento di supporto o CRM. Gli agenti leggono e rispondono dalla tua interfaccia, Unipile mantiene sincronizzati entrambi i lati della conversazione.
Endpoint utilizzati// Elenca le conversazioni di Instagram per un account collegato
const ris = await fetch(`https://${DSN}/api/v1/chats?account_id=${igAccountId}`, ,
headers: { 'X-API-KEY'}: ACCESS_TOKEN }
});const { elementi: conversazioni } = await res.json();// le conversazioni vengono ora visualizzate direttamente nella posta in arrivo del tuo CRMRecupera i commenti sui tuoi post di Instagram, rispondi pubblicamente dalla tua dashboard e metti "mi piace", così il tuo social team non dovrà mai passare all'app di Instagram per gestire le interazioni.
Endpoint utilizzati// Recupera i commenti su un post, quindi pubblica una risposta
const commenti = await fetch(`https://${DSN}/api/v1/posts/${postId}/comments`, ,
headers: { 'X-API-KEY': ACCESS_TOKEN }
}).allora(r => r.json());await fetch(`https://${DSN}/api/v1/posts/${postId}/comments`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO, 'content-type': 'application/json' },
corpo: JSON.stringify({ testo: 'Grazie! Ti invio un DM.' })
});Esegui una ricerca persone su LinkedIn con gli stessi filtri che il tuo team utilizza già, poi estrai i risultati direttamente nel tuo CRM o in una sequenza di outreach, un account collegato, nessuna esportazione manuale.
Endpoint utilizzati// Esegui una ricerca di persone su LinkedIn
const risultati = await fetch(`https://${DSN}/api/v1/linkedin/search`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO, 'content-type': 'application/json' },
corpo: JSON.stringify({ account_id: accountId, categoria: 'persone', parole chiave: 'VP Vendite, Parigi' })
}).allora(r => r.json());Pianifica un post dal tuo calendario editoriale, recupera i commenti che genera e reagisci all'interazione, tutto senza che un operatore umano debba accedere a LinkedIn per pubblicare.
Endpoint utilizzati// Pubblica un post su LinkedIn per conto di un account collegato
await fetch(`https://${DSN}/api/v1/posts`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO, 'content-type': 'application/json' },
corpo: JSON.stringify({ account_id: accountId, testo: 'Abbiamo appena spedito...' })
});La tua chiamata termina, la tua app innesca un messaggio WhatsApp con un riepilogo e i prossimi passi, inviato dallo stesso numero che il tuo team utilizza già per chattare con quel contatto.
Endpoint utilizzati// Avvia una nuova conversazione WhatsApp con un riepilogo
const modulo new FormData();
modulo.aggiungi('ID account', accountIdWhatsapp);
modulo.aggiungi('testo', 'Ottima chiacchierata oggi, ecco il riassunto...');
moduli.aggiungi('id_partecipanti', contactPhoneId);await fetch(`https://${DSN}/api/v1/chats`, metodo: 'POST', intestazioni: { 'X-API-KEY': ACCESS_TOKEN }, corpo: form });Collega un account Telegram e trattalo esattamente come qualsiasi altra casella di posta: elenca le chat, ricevi nuovi messaggi istantaneamente tramite webhook e rispondi dal tuo strumento.
Endpoint utilizzati// Elenca le chat di Telegram per un account collegato
const chat = await fetch(`https://${DSN}/api/v1/chats?account_id=${tgAccountId}`, ,
headers: { 'X-API-KEY': ACCESS_TOKEN }
}).allora(r => r.json());Integra una casella di posta nel tuo prodotto mantenendo i thread intatti, indipendentemente dal provider scelto dall'utente tra i 3 disponibili: Gmail, Outlook o IMAP. Un unico modello di dati, senza logica separata per Gmail o Outlook nella tua app.
Endpoint utilizzatiRecupera le ultime email per una casella di posta collegata, in thread
const posta in arrivo = await fetch(`https://${DSN}/api/v1/mails?account_id=${mailboxId}`, ,
headers: { 'X-API-KEY': ACCESS_TOKEN }
}).allora(r => r.json());Stessa forma, sia che mailboxId punti a Gmail, Outlook o IMAPUna volta che un potenziale cliente accetta una chiamata all'interno di una conversazione LinkedIn o via email, controlla la disponibilità e crea l'evento sul suo calendario Google o Outlook, senza lasciare la tua app.
Endpoint utilizzatiCrea un evento del calendario una volta confermata una riunione
await fetch(`https://${DSN}/api/v1/calendars/${calendarId}/events`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO, 'content-type': 'application/json' },
corpo: JSON.stringify({ titolo: 'Chiamata introduttiva', start_time: startISO, end_time: endISO, attendees: [email] })
});Invece di effettuare una richiesta (polling), iscriviti una volta e ricevi una webhook nel momento in cui avviene un nuovo messaggio, una nuova email o un cambio di stato dell'account, su ogni provider collegato.
Endpoint utilizzati// Iscriviti agli eventi di nuovi messaggi su tutti gli account collegati
await fetch(`https://${DSN}/api/v1/webhooks`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO, 'content-type': 'application/json' },
corpo: JSON.stringify}) 'messaggistica', evento: 'messaggio ricevuto', request_url: 'https://yourapp.com/webhooks/unipile' })
});Questi sono solo 11 schemi. Gli stessi endpoint si combinano per fare ciò di cui la tua app o il tuo agente AI ha bisogno.
Inizia a creare il tuo caso d'usoLa tua prima chiamata API in tre passaggi
Ottieni le tue credenziali, collega l'account di un utente, invia il tuo primo messaggio. Ecco esattamente come, con la motivazione dietro ogni chiamata, non solo il codice.
Ottieni il tuo DSN e token di accesso
Registrati su dashboard.unipile.com/registrazione. Vostro DSN (Nome origine dati) è l'host della tua istanza Unipile dedicata, va inserito in ogni URL di richiesta. Il tuo Gettone di accesso, generato dal pagina dei token di accesso, autentica ogni chiamata come il CHIAVE X-API intestazione.
# Host di base per ogni richiestaUNIPILE_DSN=tua-sottodominio.unipile.com:PORT# Inviato come intestazione X-API-KEY in ogni chiamataUNIPILE_ACCESS_TOKEN=il-tuo-token-di-accessoCollega l'account di un utente con l'autenticazione ospitata
Una chiamata a POST /api/v1/hosted/accounts/link restituisce un link. Reindirizza l'utente ad esso, Unipile esegue il flusso di accesso del provider (codice QR, OAuth o credenziali a seconda del provider), quindi pubblica le nuove account_id al tuo notificare_url, abbinato al nome hai inviato.
// Genera un link di autenticazione ospitato per LinkedIn, Instagram, WhatsApp
const ris = await fetch(`https://${DSN}/api/v1/hosted/accounts/link`, ,
metodo: 'POST',
intestazioni: { 'X-API-KEY': TOKEN_DI_ACCESSO, 'content-type': 'application/json' },
corpo: JSON.stringify({
type: 'creare',
provider: ['LINKEDIN', 'INSTAGRAM', 'WHATSAPP'],
api_url: `https://${DSN}`,
scadeIl: '31-12-2026',
url_reindirizzamento_successo: 'https://yourapp.com/connesso',
url_notifica: 'https://yourapp.com/webhooks/unipile',
name: internalUserId // il tuo ID utente, ripetuto nel webhook})
});const { url } = await res.json();// reindirizza l'utente a `url`Invia il tuo primo messaggio
Una volta collegato l'account, prendi una chat_id from GET /api/v1/chats e invia. Il corpo è multipart/form-data poiché gli allegati (fino a 15 MB) possono essere inviati nella stessa chiamata, nessun passaggio di caricamento separato.
# Invia un messaggio di testo a una conversazione esistentecurl --request POST \
--url https://{DSN}/api/v1/chats/{chat_id}/messages \
--header 'X-API-KEY: {TOKEN_DI_ACCESSO}' --intestazione accettare: applicazione/json --intestazione content-type: multipart/form-data'. --form 'Ciao mondo!'Connetti la tua IA con MCP
Il tuo agente di codifica non deve indovinare come funziona l'API Unipile. Punta Claude Desktop, Cursor o Windsurf sul server Unipile MCP e ottiene accesso diretto e autenticato all'API, oltre alla documentazione, in modo da poter scrivere e testare codice di integrazione con i tuoi veri account collegati.
Che cos'è l'MCP?
Il Model Context Protocol è uno standard aperto che consente alle applicazioni AI di accedere in modo sicuro a dati e strumenti esterni. Il server Unipile MCP concede al tuo ambiente di sviluppo AI connettività diretta alle API di messaggistica, email e calendario di Unipile, senza la necessità di ricerche manuali nei documenti.
{ "server mcp": { "palo unico": { "url": "https://developer.unipile.com/mcp?branch=v1.0", "intestazioni": { "X-API-KEY": "la tua-api-chiave"}
}
}
}Uso responsabile e conformità
Prima di iniziare a costruire, è utile capire esattamente come Unipile gestisce i dati e quali sono i limiti di responsabilità. Ecco la versione breve.
Nota sulla gestione dei dati
Unipile non mantiene un data warehouse indipendente dei messaggi, delle e-mail o dei contatti dei tuoi utenti. Ogni richiesta recupera i dati tramite l'API per conto dell'account autenticato e collegato, limitata a quella sessione. Non esiste un archivio parallelo né un'esportazione in blocco oltre a ciò a cui l'utente collegato ha già accesso.
Come funziona Unipile
Unipile agisce come intermediario tecnico indipendente, non come partner di LinkedIn, Meta, Microsoft, Google o Telegram. Ogni azione avviene per conto dell'utente autenticato che ha collegato il proprio account, utilizzando le credenziali e la sessione di tale utente. Unipile non condivide mai le credenziali tra i clienti.
Limiti della piattaforma e uso responsabile
Unipile riporta i limiti di frequenza e i vincoli di utilizzo impostati da ciascuna piattaforma sottostante, non li rimuove. La velocità con cui invii messaggi, il numero di account che colleghi e il modo in cui utilizzi i dati recuperati rimangono una decisione del cliente, disciplinata dai termini di ciascun fornitore e dai requisiti GDPR e SOC 2 per la conservazione di tali dati.
Unipile non è affiliato, approvato o sponsorizzato da LinkedIn, Meta, Microsoft, Google o Telegram. Tutti i nomi di prodotti, loghi e marchi menzionati in questa guida sono di proprietà dei rispettivi titolari.
Guida API Unipile - Domande frequenti
Le domande che gli sviluppatori pongono più frequentemente prima della loro prima integrazione.
Unipile ti offre un'unica integrazione per inviare e ricevere messaggi su LinkedIn, WhatsApp, Instagram e Telegram, pubblicare e gestire post e commenti, recuperare profili, sincronizzare caselle di posta Gmail, Outlook o IMAP con threading completo e leggere o creare eventi del Google Calendar e Outlook Calendar. È un unico set di endpoint e un unico modello di dati attraverso ogni account collegato, non un SDK separato per provider.
Instagram è un provider di prima classe in Unipile. Oltre ai messaggi diretti, è possibile recuperare e rispondere ai commenti sui post, reagire ai contenuti e ottenere dati sul profilo e sull'engagement, le stesse categorie disponibili per LinkedIn, tramite la Social & Messaging API.
Il server Unipile MCP (https://developer.unipile.com/mcp?branch=v1.0) consente agli strumenti di sviluppo AI come Claude Desktop, Cursor e Windsurf di connettersi direttamente all'API Unipile utilizzando il tuo token di accesso. Il tuo agente di codifica può quindi interrogare la documentazione e chiamare l'API per aiutarti a creare e testare un'integrazione, invece di copiare e incollare documenti in una finestra di chat.
Ogni richiesta richiede due cose da parte tua Cruscotto Unipile: il tuo DSN, che è l'host di base per le tue richieste, e un token di accesso, inviato come CHIAVE X-API header. Generi entrambi dalla dashboard dell'API e dalla pagina dei token di accesso.
Il percorso più veloce è l'autenticazione ospitata: una singola chiamata a POST /api/v1/hosted/accounts/link restituisce un link a cui reindirizzi l'utente. Unipile gestisce il flusso di accesso del provider (codice QR, OAuth o credenziali a seconda del provider) e notifica il tuo webhook con il nuovo account_id una volta collegato l'account.
Tre: Gmail, Prospettiva (che copre anche Microsoft 365 e Exchange Online), e IMAP come fallback universale per qualsiasi altro provider di caselle di posta. Tutti e tre condividono lo stesso modello di threading e lo stesso set di endpoint.
No. Chat, messaggi e allegati utilizzano gli stessi endpoint su LinkedIn, WhatsApp, Instagram e Telegram. Filtri per account_id per indirizzare uno specifico account collegato e provider, la forma della richiesta non cambia.
Unipile opera come intermediario tecnico indipendente e non mantiene un data warehouse parallelo; ogni richiesta recupera i dati per conto dell'account collegato autenticato. Unipile è Conformità al GDPR e Allineato a SOC 2; come conservi e utilizzi i dati che recuperi rimane tua responsabilità come titolare del trattamento.
I prezzi sono pay-as-you-go (a consumo), a partire da 49 €/mese per un massimo di 10 account collegati, poi con un prezzo per account oltre tale soglia. Ogni funzionalità descritta in questa guida, messaggistica, post, email, calendario, MCP, è inclusa a ogni livello, non ci sono funzionalità bloccate. Vedi il dettaglio completo su pagina dei prezzi.
Avete ancora domande? Il nostro team è qui per aiutarvi.
Inizia a Costruire con Unipile
Collega il tuo primo account in pochi minuti e invia oggi stesso il tuo primo messaggio, post, sincronizzazione email o appuntamento di calendario.
Paga quanto consumi, a partire da 49 €/mese. Tutte le funzionalità incluse in ogni piano.