Le guide complet de l'API Unipile : LinkedIn, Instagram, WhatsApp, Email et Agents IA

Guide API Unipile

Une API pour construire sur LinkedIn, Instagram, WhatsApp, Email et Votre agent IA

Unipile offre à votre application ou à votre agent IA une intégration unique pour les messages, les publications et les commentaires, les e-mails et le calendrier, sur LinkedIn, Instagram, WhatsApp, Telegram, Gmail, Outlook, IMAP, Google Calendar et Outlook Calendar. Un modèle de données unique, un ensemble de points d'accès, aucun SDK par fournisseur à maintenir.

Pay as you go, à partir de 49 €/mois, toutes les fonctionnalités incluses à chaque niveau
reply.js
Répondre à tout compte lié, tout fournisseur const forme = new DonnéesFormulaire();forme.ajouter(texte, 'Je m'en occupe, merci !');await fetch(`https://${DSN}/api/v1/chats/${chatId}/messages`, { méthode: POST, en-têtes: { 'X-API-KEY': JETON_ACCÈS }, corps: forme});
200 OK : message envoyé
Mêmes points d'accès, chaque fournisseur LinkedIn Instagram WhatsApp Telegram Gmail Outlook IMAP
Conçu pour les
Solo-preneurs et hackers indépendants Créateurs de SaaS Éditeurs de logiciels avec une large base d'utilisateurs Créateurs d'agents IA Vendeurs de CRM et ATS Agences no-code et studios d'automatisation
Surface du produit

Ce que vous pouvez réellement construire avec Unipile

Unipile n'est pas un widget de messagerie greffé sur un seul canal. C'est une surface d'API complète couvrant trois catégories de produits, chacune mappée à des intégrations de fournisseurs réelles : lier un compte, envoyer un message, publier un post, répondre à un commentaire, synchroniser une boîte de réception ou réserver une réunion. Voici l'ensemble du tableau.

Calendrier
Google AgendaGoogle Agenda Calendrier OutlookCalendrier Outlook
Connexion au compte3 points d'accès
Liste des fonctionnalités calendrier9 points d'extrémité
Couvertures
Lister les calendriersCréer des événementsMettre à jour / annulerParticipants

LinkedIn est la surface la plus profonde de l'API

34 fonctionnalités spécifiques à LinkedIn réparties en 6 catégories, en plus de la couche de messagerie principale : prospection, contenu, profils, recrutement et recherche.

Outreach11 fonctionnalités
Envoyer des courriers électroniques Récupérer le solde InMail Créer des séquences de sensibilisation Inviter les utilisateurs Lister les invitations en attente Supprimer les invitations en attente Détecter les invitations acceptées Suivre les utilisateurs Lister les invitations entrantes Accepter / refuser des invitations Approuver des compétences
Messages et commentaires7 caractéristiques
Liste des publications de l'utilisateur et de l'entreprise Créer des publications Récupérer des posts Envoyer des commentaires Lister les commentaires Ajouter des réactions Lister les réactions
Profils4 caractéristiques
Visiter et récupérer les profils Liste de contacts et de relations Accéder aux profils d'entreprise Voir les visiteurs de son profil
Offre d'emploi4 caractéristiques
Créer et publier des offres d'emploi Liste des métiers Récupérer les candidats Obtenir les CV des candidats
Boîtes de réception4 types
Boîte de réception classique Boîte de réception Sales Navigator Recruteur / Recruteur Léger Boîte de réception des pages d'entreprise
La recherche4 objectifs
Personnes (Classique / Recruteur / Sales Nav) Entreprises (Classique / Sales Nav) Recherche de publications Recherche d'emploi

Ceci n'est qu'une partie de ce que l'API expose. Voir la liste complète et à jour des fonctionnalités par fournisseur dans la documentation du développeur.

Voir la liste complète des fonctionnalités
Cliquez pour développer

11 choses que les développeurs créent réellement avec Unipile

Cliquez sur n'importe quel cas d'utilisation pour voir les points de terminaison réels et un extrait de code fonctionnel. Il s'agit de modèles tirés directement de l'utilisation actuelle de l'API par les clients Unipile, et non d'exemples théoriques.

Un prospect répond à votre message sur LinkedIn. Unipile pousse le nouveau message vers votre webhook en temps réel, vous l'affichez dans votre propre interface de messagerie, et votre commercial répond sans jamais ouvrir LinkedIn.

Points de terminaison utilisés
GET/api/v1/chats/{chat_id}/messages POST/api/v1/chats/{chat_id}/messages
reply.js
// Répondre dans une conversation LinkedIn existante const forme = new DonnéesFormulaire(); formulaire.ajouter(texte, 'Merci de m'avoir répondu !');await fetch(`https://${DSN}/api/v1/chats/${chatId}/messages`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES }, corps : formulaire // multipart/form-data, aucun en-tête JSON requis});

Un commercial trouve un prospect idéal grâce à une recherche LinkedIn et envoie une demande de connexion directement depuis votre application, avec une courte note personnalisée au lieu d'une invitation vide. Unipile renvoie un `invitation_id` que vous pouvez vérifier par rapport à la liste des invitations en attente, ou intercepter le moment où elle se transforme en connexion acceptée grâce à un webhook.

Points de terminaison utilisés
POST/api/v1/users/invite GET/api/v1/users/invite/sent
invite.js
// Envoyer une invitation de connexion LinkedIn personnalisée const invitation await fetch(`https://${DSN}/api/v1/users/invite`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES, type de contenu: 'application/json' }, corps : JSON.stringify({ account_id: accountId, provider_id: prospectProviderId, message: 'J'ai apprécié votre exposé sur l'exportation, j'aimerais beaucoup que nous restions en contact.'}) }).puis(r => r.json());// invite.invitation_id: sondage GET /users/invite/sent, ou écoutez le webhook "new_relation"

Acheminez les messages directs Instagram d'un compte professionnel lié directement dans votre outil de support ou votre CRM. Les agents lisent et répondent depuis votre propre interface, Unipile maintient les deux côtés de la conversation synchronisés.

Points de terminaison utilisés
GET/api/v1/chats POST/api/v1/chats/{chat_id}/messages
boîte de réception.js
// Lister les conversations Instagram d'un compte lié const rés = await fetch(`https://${DSN}/api/v1/chats?account_id=${igAccountId}`, , en-têtes : { 'X-API-KEY': JETON_ACCÈS } });const { éléments: conversations } = await res.json();// les conversations s'affichent désormais directement dans votre boîte de réception CRM

Récupérez les commentaires sur vos publications Instagram, répondez publiquement depuis votre tableau de bord et réagissez, afin que votre équipe des réseaux sociaux n'ait jamais à passer à l'application Instagram pour gérer l'engagement.

Points de terminaison utilisés
GET/api/v1/posts/{post_id}/comments POST/api/v1/posts/{post_id}/comments
commentaires.js
// Récupérer les commentaires d'une publication, puis publier une réponse const commentaires = await fetch(`https://${DSN}/api/v1/posts/${postId}/comments`, , en-têtes : { 'X-API-KEY': Jeton d'accès } }).puis(r => r.json());await fetch(`https://${DSN}/api/v1/posts/${postId}/comments`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES, type de contenu: 'application/json' }, corps : JSON.stringify({ texte : 'Merci ! Je vous envoie un message privé.' }) });

Exécutez une recherche de personnes sur LinkedIn avec les mêmes filtres que ceux que votre équipe utilise déjà, puis intégrez les résultats directement dans votre CRM ou une séquence de prospection, un compte lié, aucune exportation manuelle.

Points de terminaison utilisés
POST/api/v1/linkedin/search
search.js
// Exécuter une recherche de personnes sur LinkedIn const résultats = await fetch(`https://${DSN}/api/v1/linkedin/search`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES, type de contenu: 'application/json' }, corps : JSON.stringify({ identifiant_compte: accountId, catégorie: 'gens', mots-clés : 'VP Ventes, Paris' }). }).puis(r => r.json());

Planifier une publication à partir de votre propre calendrier de contenu, récupérer les commentaires qu'elle génère et réagir à l'engagement, le tout sans qu'un humain ne se connecte à LinkedIn pour publier.

Points de terminaison utilisés
POST/api/v1/articles GET/api/v1/posts/{id}
publish.js
Publier une mise à jour sur LinkedIn depuis un compte lié await fetch(`https://${DSN}/api/v1/posts`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES, type de contenu: 'application/json' }, corps : JSON.stringify({ id_compte: accountId, texte: 'Nous venons d'expédier...' }) });

Votre appel se termine, votre application déclenche un message WhatsApp avec un récapitulatif et les prochaines étapes, envoyé depuis le même numéro que votre équipe utilise déjà pour discuter avec ce contact.

Points de terminaison utilisés
POST/api/v1/chats
followup.js
// Démarrer une nouvelle conversation WhatsApp avec un résumé const forme = new DonnéesFormulaire(); formulaire.ajouter('identifiant_de_compte', whatsappAccountId); formulaire.ajouter(texte, 'Super discussion aujourd'hui, voici le récapitulatif...'); formulaire.ajouter('identifiants_participants', contactPhoneId);await fetch(`https://${DSN}/api/v1/chats`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES }, corps : formulaire });

Liez un compte Telegram et traitez-le exactement comme n'importe quelle autre boîte de réception : listez les conversations, recevez instantanément de nouveaux messages via webhook, et répondez depuis votre propre outil.

Points de terminaison utilisés
GET/api/v1/chats POST/api/v1/chats/{chat_id}/messages
telegram.js
// Lister les chats Telegram pour un compte associé const chats = await fetch(`https://${DSN}/api/v1/chats?account_id=${tgAccountId}`, , en-têtes : { 'X-API-KEY': Jeton d'accès } }).puis(r => r.json());

Intégrez une boîte aux lettres dans votre produit avec les fils de discussion intacts, quel que soit le fournisseur choisi par votre utilisateur parmi les 3 : Gmail, Outlook ou IMAP. Un seul modèle de données, aucune logique distincte pour Gmail ou Outlook dans votre application.

Points de terminaison utilisés
GET/api/v1/mails POST/api/v1/mails
boîte de réception-sync.js
// Récupérer les derniers e-mails d'une boîte aux lettres liée, triés par fil const boîte de réception = await fetch(`https://${DSN}/api/v1/mails?account_id=${mailboxId}`, , en-têtes : { 'X-API-KEY': Jeton d'accès } }).puis(r => r.json());Même forme, que mailboxId pointe vers Gmail, Outlook ou IMAP

Une fois qu'un prospect accepte un appel dans une conversation LinkedIn ou un fil d'e-mails, vérifiez ses disponibilités et créez l'événement dans son calendrier Google ou Outlook, sans quitter votre application.

Points de terminaison utilisés
GET/api/v1/calendars/{id}/événements POST/api/v1/calendars/{id}/événements
livre.js
Créer un événement de calendrier une fois qu'une réunion est confirmée await fetch(`https://${DSN}/api/v1/calendars/${calendarId}/events`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES, type de contenu: 'application/json' }, corps : JSON.stringify({ titre: 'Appel de présentation', }, début_heure : débutISO, fin_heure : finISO, participants : [email] }) });

Au lieu d'interroger, abonnez-vous une seule fois et recevez un webhook dès qu'un nouveau message, un nouvel e-mail ou un changement de statut de compte se produit, quel que soit le fournisseur connecté.

Points de terminaison utilisés
POST/api/v1/webhooks
webhook.js
// S'abonner aux événements de nouveaux messages sur tous les comptes liés await fetch(`https://${DSN}/api/v1/webhooks`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES, type de contenu: 'application/json' }, corps : JSON.stringifysource : 'messagerie', événement: 'message_reçu', url_requise : 'https://yourapp.com/webhooks/unipile' }) });

Ce ne sont que 11 modèles. Les mêmes points de terminaison se combinent pour faire ce que votre application ou votre agent d'IA a besoin de faire.

Commencez à construire votre propre cas d'utilisation
Démarrage rapide

Votre premier appel d'API, en trois étapes

Obtenez vos identifiants, liez le compte d'un utilisateur, envoyez votre premier message. Voici exactement comment, avec la logique derrière chaque appel, pas seulement le code.

01

Obtenez votre DSN et votre jeton d'accès

Inscription à tableau de bord.unipile.com/inscription. Votre DSN (Nom de la source de données) est l'hôte de votre instance Unipile dédiée, il figure dans l'URL de chaque requête. Votre Jeton d'accès, généré à partir du page des jetons d'accès, authentifie chaque appel en tant que X-API-KEY en-tête.

La DSN est unique à votre compte, pas une URL d'API partagée.
Conservez le jeton d'accès côté serveur, jamais dans le code client.
.env
# : serveur hôte de base pour chaque requêteUNIPILE_DSN=votre-sous-domaine.unipile.com:PORT# Envoyé dans l'en-tête X-API-KEY à chaque appelUNIPILE_ACCESS_TOKEN=votre-jeton-d'accès
02

Lier le compte d'un utilisateur à l'authentification hébergée

Un seul appel à POST /api/v1/hébergé/comptes/lier renvoie un lien. Redirigez l'utilisateur vers celui-ci, Unipile exécute le propre flux de connexion du fournisseur (QR code, OAuth ou identifiants selon le fournisseur), puis publie le nouveau account_id à vous notify_url, mis en correspondance avec le nom tu as envoyé.

lien-compte.js
Générer un lien d'authentification hébergé pour LinkedIn, Instagram, WhatsApp const rés = await fetch(`https://${DSN}/api/v1/hosted/accounts/link`, méthode : POST, en-têtes : { 'X-API-KEY': JETON_ACCES, type de contenu: 'application/json' }, corps : JSON.stringify({ type: 'créer', fournisseurs : ['LIEN', 'INSTAGRAM', 'WhatsApp'], api_url : `https://${DSN}`, expireSur : '2026-12-31T00:00:00.000Z', url_de_redirection_en_cas_de_succès: 'https://yourapp.com/connecté', } url de notification : 'https://yourapp.com/webhooks/unipile', , nom : internalUserId // votre propre identifiant utilisateur, renvoyé dans le webhook}) });const { url } = await res.json();// rediriger l'utilisateur vers `url`
03

Envoyez votre premier message

Une fois le compte lié, prends un chat_id from GET /api/v1/chats et envoyer. Le corps du multipart/form-data car les pièces jointes (jusqu'à 15 Mo) peuvent accompagner le même appel, sans étape de téléchargement distincte.

premier-appel.sh
# Envoyer un SMS dans une conversation existantecurl --request POST \ --url https://{DSN}/api/v1/chats/{chat_id}/messages \ --header 'X-API-KEY : {ACCESS_TOKEN}' --en-tête 'accept : application/json' --en-tête 'content-type : multipart/form-data' --formulaire 'Bonjour le monde !'
Nouveau : Serveur MCP

Connectez votre IA avec MCP

Votre agent de codage n'a pas besoin de deviner comment fonctionne l'API Unipile. Pointez Claude Desktop, Cursor ou Windsurf vers le serveur MCP Unipile et il obtient un accès direct et authentifié à l'API, ainsi qu'à la documentation, afin qu'il puisse écrire et tester du code d'intégration avec vos vrais comptes liés.

Qu'est-ce que MCP ?

Le Model Context Protocol est une norme ouverte qui permet aux applications d'IA d'accéder en toute sécurité à des sources de données et à des outils externes. Le serveur Unipile MCP accorde à votre environnement de développement d'IA une connectivité directe aux API de messagerie, d'e-mail et de calendrier d'Unipile, sans avoir besoin de recherches manuelles dans la documentation.

CD
Claude BureauAjouter le serveur dans Paramètres > Développeur
CU
CurseurAjouter le serveur dans les paramètres de MCP
WS
Planche à voileAjouter le serveur dans la configuration de MCP
Accès API direct à la fonctionnalité Unipile depuis votre IDE
Recherche de documentation intégrée à la conversation, pas de changement d'onglet
Génération de code pour de vraies intégrations, testé avec vos propres comptes liés
mcp.json
{ "mcpServeurs"{ "unipile"{ "url": "https://developer.unipile.com/mcp?branch=v1.0", "en-têtes"{ "X-API-KEY": "votre-api-clé"} } } }
Utilisation responsable

Utilisation responsable et conformité

Avant de construire, il est utile de comprendre exactement comment Unipile gère les données et où se situent les lignes de responsabilité. Voici la version courte.

Conforme au GDPR Conforme SOC 2
01 · Données

Note de traitement des données

Unipile ne maintient pas d'entrepôt de données indépendant de vos messages, e-mails ou contacts de vos utilisateurs. Chaque requête récupère des données via l'API pour le compte lié et authentifié, limité à cette session. Il n'y a pas d'archive parallèle ni d'exportation en masse au-delà de ce à quoi l'utilisateur lié a déjà accès.

02 · Opération

Comment fonctionne Unipile

Unipile agit en tant qu'intermédiaire technique indépendant, et non comme un partenaire de LinkedIn, Meta, Microsoft, Google ou Telegram. Chaque action est effectuée pour le compte de l'utilisateur authentifié ayant lié son compte, en utilisant ses propres identifiants et sa session. Unipile ne partage jamais d'identifiants entre clients.

03 · Limites

Limites de la plateforme et utilisation responsable

Unipile relaie les limites de débit et les contraintes d'utilisation définies par chaque plateforme sous-jacente, il ne les supprime pas. La vitesse à laquelle vous envoyez des messages, le nombre de comptes que vous liez et la manière dont vous utilisez les données récupérées restent une décision côté client, régie par les conditions de chaque fournisseur ainsi que par les exigences du RGPD et de la norme SOC 2 pour le stockage de ces données.

Unipile n'est affilié, approuvé ou sponsorisé par LinkedIn, Meta, Microsoft, Google ou Telegram. Tous les noms de produits, logos et marques mentionnés dans ce guide appartiennent à leurs propriétaires respectifs.

Guide de l'API Unipile - FAQ

Les questions que les développeurs posent le plus avant leur première intégration.

Unipile vous offre une seule intégration pour envoyer et recevoir des messages sur LinkedIn, WhatsApp, Instagram et Telegram, publier et gérer des publications et des commentaires, récupérer des profils, synchroniser des boîtes aux lettres Gmail, Outlook ou IMAP avec un fil de discussion complet, et lire ou créer des événements Google Agenda et Calendrier Outlook. Il s'agit d'un ensemble unique de points d'accès et d'un modèle de données unique pour chaque compte lié, et non d'un SDK séparé par fournisseur.

Instagram est un fournisseur de premier ordre dans Unipile. Au-delà des messages directs, vous pouvez récupérer et répondre aux commentaires sur les publications, réagir au contenu, et extraire des données de profil et d'engagement, les mêmes catégories disponibles pour LinkedIn, via l'API Social & Messaging.

Le serveur Unipile MCP (https://developer.unipile.com/mcp?branch=v1.0) permet aux outils de développement d'IA tels que Claude Desktop, Cursor et Windsurf de se connecter directement à l'API Unipile à l'aide de votre jeton d'accès. Votre agent de codage peut alors interroger la documentation et appeler l'API pour vous aider à créer et à tester une intégration, au lieu que vous ayez à copier-coller la documentation dans une fenêtre de discussion.

Chaque demande nécessite deux choses de votre part Tableau de bord Unipile: votre DSN, qui est l'hôte de base pour vos requêtes, et un jeton d'accès, envoyé sous forme de X-API-KEY en-tête. Vous générez les deux depuis le tableau de bord de l'API et le page des jetons d'accès.

Le chemin le plus rapide est l'authentification hébergée : un seul appel à POST /api/v1/hébergé/comptes/lier renvoie un lien qui redirige l'utilisateur. Unipile gère le flux de connexion du fournisseur lui-même (QR code, OAuth, ou identifiants selon le fournisseur) et notifie votre webhook avec le nouveau account_id une fois le compte lié.

Trois : Gmail, Outlook (qui couvre également Microsoft 365 et Exchange Online), et IMAP en tant que solution de repli universelle pour tout autre fournisseur de messagerie. Tous trois partagent le même modèle d'organisation des fils de discussion et le même ensemble de points de terminaison.

Non. Les discussions, messages et pièces jointes utilisent les mêmes points de terminaison sur LinkedIn, WhatsApp, Instagram et Telegram. Vous filtrez par account_id pour cibler un compte lié et un fournisseur spécifiques, la forme de la requête ne change pas.

Unipile fonctionne comme un intermédiaire technique indépendant et ne maintient pas d'entrepôt de données parallèle, chaque requête récupère des données au nom du compte lié authentifié. Unipile est Conforme au GDPR et Conforme SOC 2; la manière dont vous stockez et utilisez les données que vous récupérez reste votre responsabilité en tant que responsable du traitement des données.

La tarification est à l'utilisation, à partir de 49 €/mois pour un maximum de 10 comptes liés, puis au compte au-delà. Toutes les fonctionnalités décrites dans ce guide, messagerie, publications, e-mail, calendrier, MCP, sont incluses à tous les niveaux, il n'y a pas de restriction de fonctionnalité. Voir la répartition complète sur la page de tarifs..

Vous avez encore des questions ? Notre équipe est là pour vous aider.

Parler à un expert

Commencez à construire avec Unipile

Connectez votre premier compte en quelques minutes, et envoyez votre premier message, publication, synchronisation d'e-mails ou réservation de calendrier dès aujourd'hui.

Paiement à l'utilisation, à partir de 49 €/mois. Toutes les fonctionnalités incluses à chaque niveau.

fr_FRFR