Gestion des réseaux sociaux en marque blanche pour les agences et les SaaS

Envoyez à chaque client le lien d’une page de connexion avec votre logo, vos textes et votre thème. Il connecte son TikTok, son Instagram, sa chaîne YouTube ou son LinkedIn une seule fois. Ensuite, vous publiez et programmez pour lui via l’API, n8n ou Make.

Gratuit pour commencer, sans carte bancaire. La marque blanche est incluse à partir de l’offre Professional.

11 options de personnalisation
Jetons stockés chiffrés

Vraies captures d’écran

Ce que voient vos clients

Voici la vraie page de connexion que votre client ouvre, affichée avec une marque d’exemple. Northwind Studio est une agence inventée et « Harbor Demo Cafe » un client inventé ; la page, la mise en page et les options sont les vraies.

Page de connexion Upload-Post en marque blanche, thème clair, avec le logo Northwind Studio, un titre et une description personnalisés, un bouton Back to Northwind Studio et seulement six réseaux : Instagram connecté, TikTok, LinkedIn, YouTube, Facebook et X prêts à connecter
Vraie page de connexion avec une marque d’exemple. Thème clair, titre et description personnalisés, et liste limitée à six réseaux avec platforms.
La même page de connexion Upload-Post en marque blanche forcée en thème sombre avec connect_theme, logo Northwind Studio et sans sélecteur de thème
La même page avec connect_theme: "dark". Un thème imposé masque le sélecteur clair/sombre, donc chaque client voit votre choix.
Page de connexion Upload-Post avec des ui_labels personnalisés : surtitre Northwind client onboarding, boutons renommés Link account, titres de section et texte de confidentialité réécrits par l’agence
Textes réécrits avec ui_labels : le surtitre, les titres de section, le texte de confidentialité et chaque bouton Connect disent désormais ce que veut l’agence.
Page de connexion Upload-Post en marque blanche sans filtre de réseaux, qui liste TikTok, Instagram, LinkedIn, YouTube, Facebook, X, Threads, Pinterest, Reddit, Bluesky, Google Business, Discord, Telegram et un bouton pour afficher 9 réseaux de plus
Sans platforms, le client voit tous les réseaux, les moins courants derrière « Show 9 more networks ». Reddit apparaissait comme indisponible le jour de la capture.
Page de connexion Upload-Post en marque blanche sur un téléphone avec le logo Northwind Studio, le titre, la note de confidentialité, le bouton de retour et un compte Instagram connecté
Le même lien sur un téléphone de 390 px de large.

Ce que le client peut faire sur cette page

  • Connecter TikTok, Instagram, YouTube, LinkedIn et les autres réseaux OAuth sur l’écran de connexion du réseau lui-même, donc son mot de passe n’arrive jamais ni chez vous ni chez Upload-Post. Bluesky, Telegram, Discord et quelques autres utilisent à la place un mot de passe d’application, un jeton de bot ou un webhook.
  • Choisir la page Facebook, la page entreprise LinkedIn ou l’établissement Google Business sur lequel vous publierez.
  • Reconnecter un compte dont l’accès a expiré, ou en déconnecter un à tout moment.
  • Consulter le calendrier des publications programmées, si vous le laissez activé. Avec l’option lecture seule, c’est tout ce qu’il peut faire.
  • Revenir sur votre site avec le bouton dont vous avez choisi le texte.

Le lien est lié à un seul profil. Un client ne peut voir et modifier que ses propres comptes, jamais vos autres clients ni votre clé API.

Comment ça marche pour une agence

Cinq étapes entre un nouveau client et sa première publication programmée. Chaque étape se fait depuis le tableau de bord ou par l’API.

  1. 1

    Créez un profil par client

    Dans le tableau de bord, allez dans Manage Users et ajoutez un profil, ou appelez POST /api/uploadposts/users avec un nom d’utilisateur comme client-harbor. Un profil contient un compte par réseau.

  2. 2

    Générez le lien de connexion à votre marque

    Cliquez sur Share à côté du profil et renseignez votre logo, le titre, la description, la langue, l’URL de retour, le texte du bouton et les réseaux. Ou envoyez les mêmes champs à POST /api/uploadposts/users/generate-jwt. Vous recevez une access_url valable 48 heures.

  3. 3

    Envoyez-le à votre client

    Par e-mail, par messagerie ou dans votre propre parcours d’onboarding. Le client n’a pas besoin de compte Upload-Post et ne voit jamais votre tableau de bord.

  4. 4

    Le client connecte ses comptes

    Il se connecte sur TikTok, Instagram, YouTube ou LinkedIn et autorise l’accès. Les jetons sont stockés chiffrés et renouvelés pour vous. Si vous avez configuré un webhook, vous recevez un événement social_account_connected au moment même où cela se produit.

  5. 5

    Publiez et programmez pour lui

    Publiez avec user=client-harbor et ajoutez scheduled_date pour programmer la publication. Faites-le depuis le tableau de bord, votre code, des templates n8n, un scénario Make ou un assistant IA via le serveur MCP. Récupérez les chiffres de chaque client avec le point d’accès analytics.

Fenêtre Whitelabel Configuration du tableau de bord Upload-Post avec les champs titre de page, description, langue, URL du logo, URL de retour, texte du bouton, options de calendrier et un choix de réseaux avec TikTok, Instagram, LinkedIn, YouTube, Facebook et X sélectionnés
La vraie fenêtre Share de Manage Users, remplie avec la marque d’exemple. Pas besoin de code pour l’étape 2.

Toutes les options de personnalisation

Ce sont toutes des champs de l’appel generate-jwt, enregistrés sur le profil du client. La dernière colonne indique si vous pouvez aussi les régler depuis le tableau de bord.

Option Paramètre Ce qu’elle fait Exemple Tableau de bord
Logo logo_image Affiche votre logo en haut de la page. N’importe quelle URL d’image publique en http(s). "https://votreagence.fr/logo.png" Oui
Titre de la page connect_title Remplace le titre principal, qui dit par défaut « Connectez vos comptes sociaux ». "Connectez vos comptes à Northwind Studio" Oui
Description connect_description Remplace la ligne de texte sous le titre. "Associez les réseaux que nous allons gérer pour vous." Oui
Réseaux affichés platforms Seuls les réseaux que vous listez apparaissent. Sans ce champ, le client voit tous les réseaux. ["instagram", "tiktok", "linkedin"] Oui
URL de retour redirect_url L’adresse où le bouton de retour renvoie le client une fois terminé. "https://votreagence.fr/onboarding/termine" Oui
Texte du bouton de retour redirect_button_text Le libellé de ce bouton de retour. "Retour à Northwind Studio" Oui
Langue language Impose l’anglais, l’espagnol, l’allemand, le français, le portugais, le polonais ou le turc. Sans ce champ, la page suit la langue du navigateur et se rabat sur l’anglais. "fr" Oui
N’importe quel texte de la page ui_labels Réécrit les textes de la page un par un, par leur clé : boutons, titres de section, texte de confidentialité. Jusqu’à 100 clés de 300 caractères chacune. {"connect.card.connect": "Associer le compte"} API uniquement
Thème connect_theme Impose le thème clair ou sombre et masque le sélecteur de thème. "auto" rend le choix au visiteur. "dark" API uniquement
Onglet calendrier show_calendar Affiche ou masque un onglet calendrier avec les publications programmées pour ce profil. Activé par défaut. false Oui
Calendrier en lecture seule readonly_calendar Le client voit uniquement le calendrier. Il ne peut ni modifier ni supprimer de publications, ni connecter ou déconnecter de comptes. true Oui

Toutes les options en une requête

curl -X POST https://api.upload-post.com/api/uploadposts/users/generate-jwt \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "client-harbor",
    "logo_image": "https://votreagence.fr/logo.png",
    "connect_title": "Connectez vos comptes à Northwind Studio",
    "connect_description": "Associez les réseaux que nous allons gérer pour vous.",
    "platforms": ["instagram", "tiktok", "linkedin"],
    "redirect_url": "https://votreagence.fr/onboarding/termine",
    "redirect_button_text": "Retour à Northwind Studio",
    "language": "fr",
    "connect_theme": "light",
    "ui_labels": { "connect.card.connect": "Associer le compte" },
    "show_calendar": false
  }'

Bon à savoir

  • Envoyez toute la personnalisation chaque fois que vous générez un lien. Le logo, le titre, la description, le texte du bouton, l’URL de retour, les réseaux et la langue sont effacés du profil si vous les omettez.
  • ui_labels, connect_theme et les deux options de calendrier ne changent que si vous les envoyez. Envoyez null ou {} pour réinitialiser les libellés.
  • Les libellés remplacent le texte dans la langue qu’affiche la page. Si vos libellés sont en français et que le navigateur d’un client est en anglais, le reste de la page reste en anglais : définissez donc aussi language.
  • Les clés des libellés et la référence complète des paramètres se trouvent dans la documentation de l’API User Profiles.

Ce qui n’est pas en marque blanche

Mieux vaut le lire ici que l’apprendre par un client. Ces étapes du parcours affichent encore Upload-Post ou le réseau social.

L’adresse

La page hébergée se trouve sur app.upload-post.com/connect. Il n’y a pas d’option de domaine personnalisé ni de CNAME. Si vous avez besoin de votre propre domaine, construisez votre page avec la Connect API ; le retour OAuth passe quand même brièvement par app.upload-post.com.

Les écrans d’autorisation des réseaux

Quand le client se connecte, TikTok, Meta, Google, LinkedIn et les autres affichent leur propre écran avec l’application enregistrée chez eux, c’est-à-dire l’application approuvée d’Upload-Post. C’est aussi pour cela que vous évitez leurs processus de validation d’application.

L’encadré confidentialité

Une courte note « How your data is used » figure toujours sur la page, avec des liens vers la politique de confidentialité d’Upload-Post et [email protected]. Par défaut, elle désigne TONVI TECH SL, la société derrière Upload-Post, comme sous-traitant des données. Vous pouvez réécrire le texte avec ui_labels, mais l’encadré et ces liens restent.

Couleurs, titre de l’onglet et votre tableau de bord

Vous choisissez clair ou sombre, pas une couleur de marque : les boutons gardent l’indigo d’Upload-Post. Le titre et l’icône de l’onglet du navigateur sont ceux d’Upload-Post. Le tableau de bord sur lequel votre équipe se connecte est Upload-Post, pas une application renommée à votre marque.

Pourquoi ne pas développer les intégrations vous-même ?

Les intégrations directes, ce sont des validations d’application chez Meta et TikTok, une logique de renouvellement des jetons et des changements d’API qui cassent tout, pour chaque réseau. Avec une seule API, vous avez tous les réseaux derrière un seul point d’accès et la page de connexion en plus.

Agences

Un profil par client, votre marque sur le lien de connexion, publications et programmation au même endroit

Plateformes SaaS

Ajoutez la publication sur les réseaux sociaux à votre produit sans développer une intégration par réseau

Outils de création

Laissez vos utilisateurs partager ce qu’ils créent directement sur leurs propres comptes sociaux

Les appels API derrière tout ça

Pour les développeurs qui intègrent cela dans un SaaS ou un outil d’agence. Aucun flux OAuth à développer et aucun identifiant de plateforme à gérer.

1

Créez un profil pour chaque client ou utilisateur

Un profil regroupe les comptes sociaux d’un client (ou d’un utilisateur de votre application). Utilisez votre propre identifiant interne comme nom d’utilisateur, pour faire la correspondance sans effort.

curl -X POST https://api.upload-post.com/api/uploadposts/users \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "your-internal-user-id-123"}'
2

Générez l’URL de connexion à votre marque

C’est ici que va la personnalisation : logo, titre, URL de retour, réseaux et le reste des options du tableau ci-dessus. La réponse contient access_url, valable 48 heures.

curl -X POST https://api.upload-post.com/api/uploadposts/users/generate-jwt \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "your-internal-user-id-123",
    "redirect_url": "https://yourapp.com/social-connected",
    "logo_image": "https://yourapp.com/logo.png",
    "platforms": ["tiktok", "instagram", "youtube"]
  }'
3

Le client connecte ses comptes

Envoyez le client ou l’utilisateur sur access_url. Sur les réseaux OAuth comme TikTok, Instagram et YouTube, il s’authentifie directement auprès du réseau, donc Upload-Post ne voit jamais son mot de passe, et les jetons obtenus sont stockés chiffrés.

Ce qu’Upload-Post gère pour vous

Flux OAuth 2.0

Renouvellement des jetons

Stockage chiffré

4

Publiez ou programmez en son nom

Indiquez le nom d’utilisateur du profil dans user dans n’importe quelle requête d’upload. Ajoutez scheduled_date pour publier plus tard plutôt que tout de suite.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -F "user=your-internal-user-id-123" \
  -F "video=@/path/to/video.mp4" \
  -F "title=Nouvelle carte d'automne" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "scheduled_date=2026-10-02T09:00:00Z"

Une clé API, un profil par client

Tous vos clients sont sous un seul compte et une seule clé API, chacun dans son propre profil avec ses propres comptes sociaux.

Comment fonctionnent les profils

Chaque profil connecte un compte par réseau. Votre offre fixe le nombre de profils, et les profils ne plafonnent pas les comptes sociaux : avec Professional, vous pouvez avoir 25 comptes TikTok, 25 comptes Instagram et 25 comptes LinkedIn connectés en même temps.

  • Identifiants séparés : les jetons sociaux de chaque client n’appartiennent qu’à son profil
  • Un webhook par client : donnez à chaque profil sa propre URL pour les événements de connexion et d’upload
  • Une seule facture : un seul abonnement couvre tous vos clients

Exemple de configuration

Votre agence (1 clé API)
Profil : client-harbor
Instagram, TikTok, Facebook
Profil : client-lumen
LinkedIn, YouTube
1 compte par réseau et par profil. Un client avec 2 comptes Instagram a besoin de 2 profils.
Offres qui incluent la marque blanche
Offre Profils inclus Facturation mensuelle Facturation annuelle
Professional 25 50 $/mois 33 $/mois (400 $/an)
Advanced 75 147 $/mois 118 $/mois (1 411 $/an)
Business 225, puis 1 $/mois par profil supplémentaire 438 $/mois 350 $/mois (4 205 $/an)

Prix en dollars US en septembre 2026. Les prix en euros et les packs de profils supplémentaires pour Professional et Advanced figurent dans la section des tarifs, qui fait toujours foi.

Qui utilise l’intégration réseaux sociaux en marque blanche ?

Plateformes SaaS

CMS, plateformes d’automatisation marketing et logiciels métier.

Agences marketing

Agences de marketing digital et agences de gestion des réseaux sociaux.

Plateformes de contenu

Plateformes de blog, hébergeurs vidéo et outils de création de contenu.

Plateformes éducatives

Plateformes LMS et plateformes de contenus pédagogiques.

Plateformes e-commerce

Marketplaces et solutions e-commerce.

Plateformes vidéo

Hébergeurs vidéo et services de streaming.

Caractéristiques techniques et conformité

Plateformes prises en charge

TikTok TikTok
Pris en charge
Instagram Instagram
Pris en charge
YouTube YouTube
Pris en charge
Facebook Facebook
Pris en charge
LinkedIn LinkedIn
Pris en charge
X (Twitter) X (Twitter)
Pris en charge
Threads Threads
Pris en charge
Pinterest Pinterest
Pris en charge
Bluesky Bluesky
Pris en charge
Discord Discord
Pris en charge
Telegram Telegram
Pris en charge

Plus 11 autres, dont Google Business, Slack, Mastodon et WordPress. Voir les 22 plateformes

Sécurité

Stockage chiffré des jetons

Les jetons des réseaux sociaux sont chiffrés au repos.

Intégration OAuth

Sur les réseaux OAuth, les clients se connectent sur l’écran du réseau lui-même. Leur mot de passe ne passe jamais ni par vous ni par Upload-Post.

Liens de connexion cloisonnés

Chaque lien de connexion n’ouvre qu’un seul profil et expire au bout de 48 heures.

Mettez votre marque sur l’onboarding de vos clients

Créez un profil, cliquez sur Share, envoyez le lien. Votre première page de connexion à votre marque prend quelques minutes.

Gratuit pour commencer, sans carte bancaire. Marque blanche à partir de l’offre Professional.

Réseaux sociaux en marque blanche : FAQ

Les questions que posent les agences et les équipes SaaS avant d’envoyer leur premier lien de connexion à leur marque

Mes clients ont-ils besoin d’un compte Upload-Post ?

Non. Le lien de connexion contient un jeton valable pour ce seul profil client. Votre client l’ouvre, se connecte sur chaque réseau social et c’est terminé. Le lien est valable 48 heures ; ensuite, vous en générez un nouveau.

Puis-je mettre la page de connexion sur mon propre domaine ?

Pas la page hébergée : elle se trouve toujours sur app.upload-post.com/connect et les domaines personnalisés ne sont pas proposés. Si l’adresse compte pour vous, la Connect API vous permet de construire la page sur votre propre site. Même dans ce cas, le réseau renvoie brièvement le client par app.upload-post.com, car c’est l’adresse de retour OAuth enregistrée auprès de chaque plateforme.

Quelles offres incluent la marque blanche ?

Professional, Advanced et Business. Free et Basic ne l’incluent pas. Professional comprend 25 profils, Advanced 75 et Business 225, et sur Business chaque profil supplémentaire coûte 1 $ par mois. Pas d’appel commercial : vous choisissez l’offre sur la page des tarifs.

Combien de comptes client tiennent dans un profil ?

Un profil contient un compte par réseau, donc un profil peut être un client avec Instagram, TikTok, LinkedIn et YouTube connectés. 25 profils, c’est jusqu’à 25 comptes sur chaque réseau, pas 25 comptes au total. Un client avec deux comptes Instagram a besoin de deux profils.

Dois-je renvoyer la personnalisation à chaque nouveau lien ?

Oui, pour le logo, le titre, la description, le texte du bouton, l’URL de retour, les réseaux et la langue. Chaque appel à generate-jwt enregistre exactement ce que vous envoyez, donc un champ omis est effacé sur ce profil. ui_labels, connect_theme, show_calendar et readonly_calendar fonctionnent autrement : ils ne changent que si vous les envoyez.

Mes clients peuvent-ils voir ce qui est programmé ?

Oui. L’onglet calendrier est activé par défaut et affiche les publications programmées pour ce profil. Activez readonly_calendar et le lien devient un calendrier éditorial en lecture seule : le client regarde mais ne peut ni modifier, ni supprimer, ni changer les connexions. Envoyez-le sur /connect/calendar avec le même jeton pour l’ouvrir directement.

Quelles langues la page de connexion prend-elle en charge ?

L’anglais, l’espagnol, l’allemand, le français, le portugais, le polonais et le turc. Vous pouvez imposer une langue par profil avec le paramètre language ou laisser la page suivre le navigateur. Pour toute autre formulation, ui_labels vous permet d’écrire le texte vous-même.

Comment savoir quand un client a connecté un compte ?

Avec les webhooks. Upload-Post envoie les événements social_account_connected, social_account_disconnected, social_account_reauth_required et upload_completed. Chaque profil peut avoir sa propre URL de webhook, donc chaque client peut remonter vers un point d’accès différent de votre système.

Puis-je récupérer les statistiques par client ?

Oui. Le point d’accès analytics prend le nom d’utilisateur du profil, vous obtenez donc les chiffres d’un client à la fois et pouvez construire vos propres rapports par-dessus.

Proposez-vous des SDK ?

Il existe des SDK officiels pour Python (pip install upload-post) et JavaScript/Node (npm install upload-post). Pour le reste, c’est une API REST classique avec une clé API, donc tout langage ou outil no-code capable d’envoyer des requêtes HTTP fonctionne.

Combien de temps prend la mise en place ?

Sans code : créez un profil dans Manage Users, cliquez sur Share, remplissez votre personnalisation et envoyez le lien. Avec l’API, ce sont deux appels, un pour créer le profil et un pour générer le lien, plus les appels d’upload dont vous avez déjà besoin pour publier.

Quel support vais-je recevoir ?

Une documentation avec des exemples de code pour chaque point d’accès, et un support par e-mail à [email protected]. Advanced et Business incluent le support prioritaire.

Pour aller plus loin : API User Profiles, Connect API, Webhooks et SDK.