Planification en masse
Planifiez jusqu'à 100 publications à la fois avec des paramètres spécifiques par plateforme via l'API AdaptlyPost.
https://post.adaptlypost.com/post/api/v1/social-posts/bulkProgrammez jusqu'à 100 publications à la fois. Chaque publication peut avoir son propre contenu, ses médias et son heure programmée tout en partageant les mêmes connexions de plateforme.
posts.schedule quand chaque élément a un scheduledAt futur. Si un élément est daté de maintenant ou du passé, il est publié tout de suite et la clé exige en plus posts.publish. Les clés Contributeur et Lecteur ne peuvent pas planifier en masse.
Paramètres du corps
| Paramètre | Taper | Description |
|---|---|---|
platformsREQUIS | PlatformType[] | Plateformes cibles pour toutes les publications |
timezoneREQUIS | string | Fuseau horaire IANA pour la programmation |
postsREQUIS | PostItem[] | Tableau de publications à programmer (1-100) |
twitterConnectionIds | string[] | IDs de connexion du compte Twitter |
linkedinConnectionIds | string[] | IDs de connexion du compte LinkedIn |
instagramConnectionIds | string[] | IDs de connexion du compte Instagram |
tiktokConnectionIds | string[] | IDs de connexion du compte TikTok |
youtubeConnectionIds | string[] | IDs de connexion de la chaîne YouTube |
pinterestConnectionIds | string[] | IDs de connexion du compte Pinterest |
blueskyConnectionIds | string[] | IDs de connexion du compte Bluesky |
mastodonConnectionIds | string[] | IDs de connexion du compte Mastodon |
googleBusinessConnectionIds | string[] | IDs de connexion des établissements de la fiche Google |
tumblrConnectionIds | string[] | ID de connexion des blogs Tumblr |
telegramConnectionIds | string[] | ID de connexion des canaux et groupes Telegram |
threadsConnectionIds | string[] | IDs de connexion du compte Threads |
pageIds | string[] | Pages Facebook sur lesquelles publier. Accepte soit l'id du compte, soit le pageId de /social-accounts |
pinterestConfigs | PinterestConfig[] | Paramètres Pinterest au niveau du lot appliqués à toutes les publications. Consultez Configurations des plateformes pour le schéma |
tiktokConfigs | TikTokConfig[] | Paramètres TikTok au niveau du lot appliqués à toutes les publications. Consultez Configurations des plateformes pour le schéma |
instagramConfigs | InstagramConfig[] | Paramètres Instagram au niveau du lot appliqués à toutes les publications. Consultez Configurations des plateformes pour le schéma |
facebookConfigs | FacebookConfig[] | Paramètres Facebook au niveau du lot appliqués à toutes les publications. Consultez Configurations des plateformes pour le schéma |
youtubeConfigs | YouTubeConfig[] | Paramètres YouTube au niveau du lot appliqués à toutes les publications. Consultez Configurations des plateformes pour le schéma |
googleBusinessConfigs | GoogleBusinessConfig[] | Paramètres de la fiche d'établissement Google au niveau du lot appliqués à toutes les publications. Consultez Configurations des plateformes pour le schéma |
tumblrConfigs | TumblrConfig[] | Paramètres Tumblr au niveau du lot appliqués à tous les posts. Voir Configurations des plateformes pour le schéma |
Champs de l'élément de publication
Chaque publication du tableau peut avoir son propre contenu, ses médias et son horaire de programmation.
Paramètres de l’élément de publication
| Paramètre | Taper | Description |
|---|---|---|
contentTypeREQUIS | ContentType | Type de contenu (requis) |
text | string | Contenu texte de la publication. Sur LinkedIn, mentionnez une page entreprise avec @[Nom de la page](urn:li:organization:<id>), en écrivant le nom exactement comme LinkedIn l'affiche. LinkedIn n'autorise que les mentions de pages entreprise, pas de personnes |
platformTexts | PlatformText[] | Remplacements de texte par plateforme |
mediaUrls | string[] | URLs des fichiers médias |
mediaAltTexts | string[] | Texte alternatif de chaque image, dans le même ordre que mediaUrls. 1000 caractères maximum par entrée ; une chaîne vide ignore une image. Envoyé à X, Bluesky, Mastodon, LinkedIn, Facebook, Instagram et Threads. Pinterest utilise le premier, tronqué à 500 caractères. TikTok, YouTube, la fiche d'établissement Google et les vidéos l'ignorent. |
thumbnailUrl | string | URL de miniature pour les publications vidéo |
thumbnailTimestampMs | number | Image de la vidéo à utiliser comme miniature, en millisecondes depuis le début |
platformThumbnails | PlatformThumbnail[] | Une miniature différente pour une plateforme d'une publication vidéo, sous la forme { platform, thumbnailUrl?, thumbnailTimestampMs? }. YOUTUBE, FACEBOOK, LINKEDIN et TELEGRAM acceptent une image, INSTAGRAM et PINTEREST une image ou une image de la vidéo, TIKTOK seulement une image de la vidéo. Les plateformes sans entrée utilisent thumbnailUrl et thumbnailTimestampMs |
platformAspectRatios | PlatformAspectRatio[] | Recadre chaque image d'une publication IMAGE ou CAROUSEL dans un format sur une plateforme, sous la forme { platform, aspectRatio, fit? }. aspectRatio vaut SQUARE, PORTRAIT, VERTICAL ou LANDSCAPE : INSTAGRAM accepte SQUARE, PORTRAIT ou LANDSCAPE, TIKTOK les quatre. fit vaut CROP (par défaut) ou PAD. Consultez Créer une publication |
firstComments | PlatformFirstComment[] | Un commentaire publié sous la publication depuis le même compte, sous la forme { platform, text }. Une entrée par plateforme. LINKEDIN accepte jusqu'à 1250 caractères, TWITTER 280, THREADS 500, BLUESKY 300, MASTODON 500, YOUTUBE 10000 (pas sur les vidéos privées ou conçues pour les enfants), FACEBOOK 8000 et INSTAGRAM 2200 (pas sur les stories). Les autres plateformes renvoient une erreur 400. Une page Facebook ou un compte Instagram connecté avant l'arrivée des premiers commentaires doit être reconnecté une fois ; d'ici là, son commentaire échoue avec firstCommentError |
threadReplies | PlatformThreadReplies[] | Transforme la publication en fil, sous la forme { platform, texts } : la publication l'ouvre et chaque texte part en réponse au précédent, depuis le même compte. Une entrée par plateforme, jusqu'à 25 textes. TWITTER accepte 280 caractères par réponse (plus avec X Premium), THREADS 500, BLUESKY 300 et MASTODON 500 (ou la limite de l'instance). Les autres plateformes, une réponse vide ou trop longue et une plateforme qui a aussi un premier commentaire renvoient une 400 |
scheduledAtREQUIS | string | Date de programmation (requis, ISO 8601) |
pinterestConfigs | PinterestConfig[] | Remplacement par publication. Lorsqu'il est défini, il a priorité sur la configuration au niveau du lot pour cette publication |
tiktokConfigs | TikTokConfig[] | Remplacement par publication. Lorsqu'il est défini, il a priorité sur la configuration au niveau du lot pour cette publication |
instagramConfigs | InstagramConfig[] | Remplacement par publication. Lorsqu'il est défini, il a priorité sur la configuration au niveau du lot pour cette publication |
facebookConfigs | FacebookConfig[] | Remplacement par publication. Lorsqu'il est défini, il a priorité sur la configuration au niveau du lot pour cette publication |
youtubeConfigs | YouTubeConfig[] | Remplacement par publication. Lorsqu'il est défini, il a priorité sur la configuration au niveau du lot pour cette publication |
googleBusinessConfigs | GoogleBusinessConfig[] | Remplacement par publication. Lorsqu'il est défini, il a priorité sur la configuration au niveau du lot pour cette publication |
tumblrConfigs | TumblrConfig[] | Remplacement par publication. Lorsqu'il est défini, il a priorité sur la configuration au niveau du lot pour cette publication |
Remplacements de configuration de plateforme par publication
Les configurations de plateforme peuvent être définies à deux niveaux : au niveau du lot (appliquées à toutes les publications par défaut) et par publication (remplacent le niveau du lot pour cette publication spécifique). Si une publication inclut sa propre configuration de plateforme, elle remplace complètement la configuration au niveau du lot pour cette plateforme.Limite de débit
Maximum 100 publications par requête. Chaque publication est traitée indépendamment. Si l’une échoue à la validation, les autres seront quand même programmées.Un compte par plateforme
Un seul compte par plateforme est autorisé. Toutes les publications du lot partagent les mêmes connexions, vous ne pouvez donc pas inclure plusieurs identifiants de connexion pour la même plateforme. Cette restriction est appliquée pour respecter les conditions d'utilisation des plateformes.Vérifiez d'abord le lot
Envoyez le même corps à Vérifier une programmation en masse (POST /api/v1/social-posts/bulk/validate) pour obtenir un rapport par publication avant que quoi que ce soit ne soit programmé.curl --request POST \
--url https://post.adaptlypost.com/post/api/v1/social-posts/bulk \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"platforms": ["YOUTUBE", "PINTEREST"],
"timezone": "America/New_York",
"youtubeConnectionIds": ["conn_yt123"],
"pinterestConnectionIds": ["conn_pin456"],
"youtubeConfigs": [{
"connectionId": "conn_yt123",
"postType": "SHORTS",
"privacyStatus": "public"
}],
"pinterestConfigs": [{
"connectionId": "conn_pin456",
"boardId": "board_abc",
"title": "Default pin title"
}],
"posts": [
{
"contentType": "VIDEO",
"text": "First video!",
"mediaUrls": ["https://cdn.adaptlypost.com/uploads/video1.mp4"],
"scheduledAt": "2026-03-15T10:00:00Z"
},
{
"contentType": "VIDEO",
"text": "Second video with custom config",
"mediaUrls": ["https://cdn.adaptlypost.com/uploads/video2.mp4"],
"scheduledAt": "2026-03-15T14:00:00Z",
"youtubeConfigs": [{
"connectionId": "conn_yt123",
"postType": "VIDEO",
"videoTitle": "Full tutorial",
"privacyStatus": "unlisted"
}]
}
]
}'{
"totalScheduled": 2,
"totalFailed": 0,
"results": [
{
"postId": "post_abc001",
"success": true,
"isScheduled": true,
"scheduledAt": "2026-03-15T10:00:00Z",
"errorMessage": null
},
{
"postId": "post_abc002",
"success": true,
"isScheduled": true,
"scheduledAt": "2026-03-15T14:00:00Z",
"errorMessage": null
}
]
}