Programacion masiva
Programa hasta 100 publicaciones de redes sociales a la vez con configuraciones específicas por plataforma en la API.
https://post.adaptlypost.com/post/api/v1/social-posts/bulkPrograme hasta 100 publicaciones a la vez. Cada publicación puede tener su propio contenido, medios y hora programada mientras comparte las mismas conexiones de plataforma.
posts.schedule cuando cada elemento tiene un scheduledAt futuro. Si algún elemento tiene fecha actual o pasada se publica al momento, y la clave necesita además posts.publish. Las claves de Colaborador y Visor no pueden programar en masa.
Parámetros del cuerpo
| Parámetro | Tipo | Descripción |
|---|---|---|
platformsOBLIGATORIO | PlatformType[] | Plataformas objetivo para todas las publicaciones |
timezoneOBLIGATORIO | string | Zona horaria IANA para programación |
postsOBLIGATORIO | PostItem[] | Array de publicaciones a programar (1-100) |
twitterConnectionIds | string[] | IDs de conexión de la cuenta de Twitter |
linkedinConnectionIds | string[] | IDs de conexión de la cuenta de LinkedIn |
instagramConnectionIds | string[] | IDs de conexión de la cuenta de Instagram |
tiktokConnectionIds | string[] | IDs de conexión de la cuenta de TikTok |
youtubeConnectionIds | string[] | IDs de conexión del canal de YouTube |
pinterestConnectionIds | string[] | IDs de conexión de la cuenta de Pinterest |
blueskyConnectionIds | string[] | IDs de conexión de la cuenta de Bluesky |
mastodonConnectionIds | string[] | IDs de conexión de la cuenta de Mastodon |
googleBusinessConnectionIds | string[] | IDs de conexión de las ubicaciones del Perfil de Empresa de Google |
tumblrConnectionIds | string[] | IDs de conexión de blogs de Tumblr |
telegramConnectionIds | string[] | IDs de conexión de canales y grupos de Telegram |
threadsConnectionIds | string[] | IDs de conexión de la cuenta de Threads |
pageIds | string[] | Páginas de Facebook en las que publicar. Se acepta el id de la cuenta o el pageId de /social-accounts |
pinterestConfigs | PinterestConfig[] | Configuraciones de Pinterest a nivel de lote aplicadas a todas las publicaciones. Consulte Configuraciones de plataforma para el esquema |
tiktokConfigs | TikTokConfig[] | Configuraciones de TikTok a nivel de lote aplicadas a todas las publicaciones. Consulte Configuraciones de plataforma para el esquema |
instagramConfigs | InstagramConfig[] | Configuraciones de Instagram a nivel de lote aplicadas a todas las publicaciones. Consulte Configuraciones de plataforma para el esquema |
facebookConfigs | FacebookConfig[] | Configuraciones de Facebook a nivel de lote aplicadas a todas las publicaciones. Consulte Configuraciones de plataforma para el esquema |
youtubeConfigs | YouTubeConfig[] | Configuraciones de YouTube a nivel de lote aplicadas a todas las publicaciones. Consulte Configuraciones de plataforma para el esquema |
googleBusinessConfigs | GoogleBusinessConfig[] | Configuraciones del Perfil de Empresa de Google a nivel de lote aplicadas a todas las publicaciones. Consulte Configuraciones de plataforma para el esquema |
tumblrConfigs | TumblrConfig[] | Ajustes de Tumblr a nivel de lote aplicados a todas las publicaciones. Consulta Configuraciones de plataforma para el esquema |
Campos del elemento de publicación
Cada publicación del arreglo puede tener su propio contenido, medios y hora de programación.
Parámetros del elemento de publicación
| Parámetro | Tipo | Descripción |
|---|---|---|
contentTypeOBLIGATORIO | ContentType | Tipo de contenido (obligatorio) |
text | string | Contenido de texto de la publicación. En LinkedIn, menciona una página de empresa con @[Nombre de la página](urn:li:organization:<id>), escribiendo el nombre exactamente como lo muestra LinkedIn. LinkedIn solo permite mencionar páginas de empresa, no personas |
platformTexts | PlatformText[] | Sobrescrituras de texto por plataforma |
mediaUrls | string[] | URLs de archivos multimedia |
mediaAltTexts | string[] | Texto alternativo de cada imagen, en el mismo orden que mediaUrls. Máximo 1000 caracteres cada uno; usa una cadena vacía para omitir una imagen. Se envía a X, Bluesky, Mastodon, LinkedIn, Facebook, Instagram y Threads. Pinterest usa el primero, recortado a 500 caracteres. TikTok, YouTube, el Perfil de Empresa de Google y los vídeos lo ignoran. |
thumbnailUrl | string | URL de miniatura para publicaciones de video |
thumbnailTimestampMs | number | Fotograma del video que se usa como miniatura, en milisegundos desde el inicio |
platformThumbnails | PlatformThumbnail[] | Una miniatura distinta para una plataforma de una publicación de video, como { platform, thumbnailUrl?, thumbnailTimestampMs? }. YOUTUBE, FACEBOOK, LINKEDIN y TELEGRAM aceptan una imagen, INSTAGRAM y PINTEREST una imagen o un fotograma, TIKTOK solo un fotograma. Las plataformas sin entrada usan thumbnailUrl y thumbnailTimestampMs |
platformAspectRatios | PlatformAspectRatio[] | Ajusta todas las imágenes de una publicación IMAGE o CAROUSEL a un formato en una plataforma, como { platform, aspectRatio, fit? }. aspectRatio es SQUARE, PORTRAIT, VERTICAL o LANDSCAPE: INSTAGRAM acepta SQUARE, PORTRAIT o LANDSCAPE, TIKTOK los cuatro. fit es CROP (por defecto) o PAD. Mira Crear publicación |
firstComments | PlatformFirstComment[] | Un comentario que se publica bajo la publicación ya publicada desde la misma cuenta, como { platform, text }. Una entrada por plataforma. LINKEDIN acepta hasta 1250 caracteres, TWITTER 280, THREADS 500, BLUESKY 300, MASTODON 500, YOUTUBE 10000 (no en videos privados ni creados para niños), FACEBOOK 8000 e INSTAGRAM 2200 (no en historias). Otras plataformas devuelven un 400. Una página de Facebook o una cuenta de Instagram conectada antes de que llegaran los primeros comentarios necesita reconectarse una vez; hasta entonces su comentario falla con firstCommentError |
threadReplies | PlatformThreadReplies[] | Convierte la publicación en un hilo, como { platform, texts }: la publicación lo abre y cada texto sale como respuesta al anterior, desde la misma cuenta. Una entrada por plataforma, hasta 25 textos. TWITTER admite 280 caracteres por respuesta (más con X Premium), THREADS 500, BLUESKY 300 y MASTODON 500 (o el límite de la instancia). Otras plataformas, una respuesta vacía o demasiado larga y una plataforma que también tiene primer comentario devuelven un 400 |
scheduledAtOBLIGATORIO | string | Fecha de programación (obligatorio, ISO 8601) |
pinterestConfigs | PinterestConfig[] | Anulación por publicación. Cuando se establece, tiene prioridad sobre la configuración a nivel de lote para esta publicación |
tiktokConfigs | TikTokConfig[] | Anulación por publicación. Cuando se establece, tiene prioridad sobre la configuración a nivel de lote para esta publicación |
instagramConfigs | InstagramConfig[] | Anulación por publicación. Cuando se establece, tiene prioridad sobre la configuración a nivel de lote para esta publicación |
facebookConfigs | FacebookConfig[] | Anulación por publicación. Cuando se establece, tiene prioridad sobre la configuración a nivel de lote para esta publicación |
youtubeConfigs | YouTubeConfig[] | Anulación por publicación. Cuando se establece, tiene prioridad sobre la configuración a nivel de lote para esta publicación |
googleBusinessConfigs | GoogleBusinessConfig[] | Anulación por publicación. Cuando se establece, tiene prioridad sobre la configuración a nivel de lote para esta publicación |
tumblrConfigs | TumblrConfig[] | Anulación por publicación. Cuando se establece, tiene prioridad sobre la configuración a nivel de lote para esta publicación |
Anulaciones de configuración de plataforma por publicación
Las configuraciones de plataforma pueden establecerse en dos niveles: nivel de lote (aplicadas a todas las publicaciones como valor predeterminado) y por publicación (anulan el nivel de lote para esa publicación específica). Si una publicación incluye su propia configuración de plataforma, reemplaza completamente la configuración de nivel de lote para esa plataforma.Límite de tasa
Máximo 100 publicaciones por solicitud. Cada publicación se procesa de forma independiente. Si una falla la validación, las demás se seguirán programando.Una cuenta por plataforma
Solo se permite una cuenta por plataforma. Todas las publicaciones del lote comparten las mismas conexiones, por lo que no puede incluir múltiples IDs de conexión para la misma plataforma. Esta restricción se aplica para cumplir con los Términos de Servicio de las plataformas.Comprueba el lote primero
Envía el mismo cuerpo a Comprobar programación masiva (POST /api/v1/social-posts/bulk/validate) para recibir un informe de cada publicación antes de programar nada.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
}
]
}