Obtener publicación
Recupera una publicación por ID con el estado completo por plataforma, medios y detalles de programación desde la API.
https://post.adaptlypost.com/post/api/v1/social-posts/:idDevuelve los detalles completos de una publicación específica, incluyendo el estado por plataforma, URLs publicadas y mensajes de error si alguna plataforma falló.
Estado de plataforma
Cada plataforma en el array platforms tiene su propio estado. El estado general de una publicación refleja el agregado: será POSTED si al menos una plataforma tuvo éxito, y FAILED solo si todas las plataformas fallaron.
Campos de la respuesta
| Campo | Descripción |
|---|---|
id | ID de la publicación |
userId | El miembro que creó la publicación |
status | DRAFT, SCHEDULED, PENDING, PUBLISHING, COMPLETED, PARTIAL_FAILURE o FAILED |
contentType | TEXT, IMAGE, VIDEO, CAROUSEL o DOCUMENT |
text | El texto predeterminado para todas las plataformas |
scheduledAt, timezone | Cuándo sale la publicación (ISO 8601) y la zona horaria IANA enviada con ella. scheduledAt no aparece si la publicación no tiene hora |
mediaUrls, mediaAltTexts | Los medios tal como se enviaron y su texto alternativo por imagen, en el mismo orden. Compartidos por todas las entradas de plataforma |
thumbnailUrl, thumbnailTimestampMs | La URL de la miniatura del video, o el fotograma elegido como miniatura en milisegundos, si se envió |
recurringPostId, occurrenceAt | Solo en una publicación creada por una serie recurrente. Consulte la sección sobre publicaciones recurrentes más abajo |
platforms | Una entrada por cada cuenta a la que va la publicación, con los campos de abajo. Una historia añadida con shareToStory es una entrada propia, con instagramPostType o facebookPostType STORY |
createdAt, updatedAt | Cuándo se creó la publicación y cuándo cambió por última vez |
Campos de cada entrada de plataforma
| Campo | Descripción |
|---|---|
id | ID de la entrada de plataforma. POST /api/v1/social-posts/:id/retry lo acepta en platformIds |
platform | FACEBOOK, INSTAGRAM, THREADS, TIKTOK, TWITTER, BLUESKY, MASTODON, LINKEDIN, PINTEREST, YOUTUBE, GOOGLE_BUSINESS, TUMBLR o TELEGRAM |
status | PENDING, PUBLISHING, PUBLISHED o FAILED |
connectionId | El id de la cuenta de /social-accounts |
pageId, facebookPageExternalId | Solo FACEBOOK. El id de la página de Facebook, el mismo valor que pageId en /social-accounts |
accountName | Nombre de la cuenta conectada |
text | El texto enviado a esta plataforma, después de aplicar platformTexts |
platformPostId | El ID de la publicación en la plataforma, una vez publicada |
postUrl | Enlace público a la publicación, disponible en cuanto la plataforma la publica, en todas las plataformas. Las historias de Instagram y Facebook caducan a las 24 horas, así que para ellas enlaza al perfil o la página que las publicó |
errorMessage | Por qué falló esta plataforma |
publishedAt | Cuándo publicó esta plataforma la publicación |
mediaUrls, mediaAltTexts, previewUrls | Los medios y el texto alternativo enviados a esta plataforma, y las vistas previas que alojamos. Consulte la sección sobre vistas previas de medios más abajo |
thumbnailUrl, thumbnailTimestampMs | La imagen o el fotograma definido para esta plataforma con platformThumbnails. No aparece cuando la plataforma usa la miniatura de la publicación |
mediaAspectRatio, mediaAspectRatioFit | El formato fijado para esta plataforma con platformAspectRatios (SQUARE, PORTRAIT, VERTICAL o LANDSCAPE) y cómo se logró (CROP o PAD). No aparece cuando las imágenes salieron tal como se subieron |
firstComment, firstCommentStatus, firstCommentId, firstCommentError, firstCommentPublishedAt | El primer comentario definido para esta plataforma y cómo salió. firstCommentStatus es PENDING hasta que se publica el comentario, luego PUBLISHED con firstCommentId y firstCommentPublishedAt, o FAILED con firstCommentError. Un comentario fallido deja la publicación publicada. Todo null cuando la plataforma no tiene primer comentario |
threadReplies, threadStatus, threadReplyIds, threadError, threadPublishedAt | El hilo de esta plataforma y hasta dónde llegó. threadStatus es PENDING hasta que sale cada respuesta, luego PUBLISHED con threadPublishedAt, o FAILED con threadError. threadReplyIds lista los ids de las respuestas publicadas hasta ahora (AT URIs en Bluesky). Un hilo fallido deja la publicación publicada. threadReplies está vacío y el resto en null si la plataforma no tiene hilo |
tiktokDraftFallback | Solo TikTok. true cuando se alcanzó el límite diario de publicación directa de TikTok y el contenido se envió a los borradores de TikTok |
instagramTrialGraduation | Solo Instagram. MANUAL o SS_PERFORMANCE cuando el reel se publica como reel de prueba. Consulte Configuraciones de plataforma |
instagramCollaborators | Solo Instagram. Los nombres de usuario invitados como colaboradores. Mira Configuraciones de plataforma |
instagramUserTags | Solo Instagram. Las cuentas etiquetadas en el contenido, cada una con username, x e y. Consulta Configuración de plataformas |
instagramUntaggedUsernames | Solo Instagram. Cuentas etiquetadas que Instagram rechazó porque son privadas o no existen. La publicación salió sin etiquetas |
instagramUsername | Solo Instagram. El usuario de Instagram desde el que se publicó la entrada, disponible una vez publicada |
instagramAudioId, instagramAudioTitle, instagramAudioArtist, instagramAudioVolume, instagramVideoVolume | Solo Instagram. El audio añadido al Reel con instagramConfigs[].audio, con su título, artista y ambos volúmenes |
facebookTextFormatPresetId | Solo Facebook. El fondo de texto enviado con la publicación. Mira Configuraciones de plataforma |
facebookImageLayout | Solo Facebook. GRID o CAROUSEL, cuando se definió. Mira Configuraciones de plataforma |
facebookCarouselCards | Solo Facebook. Las tarjetas del carrusel, una por imagen, cada una con link, title y description. Mira Configuraciones de plataforma |
linkedinDocumentTitle | Solo LinkedIn. El título de una publicación DOCUMENT, si se indicó |
linkedinReshareOf | Solo LinkedIn. El URN de la publicación que esta comparte (urn:li:share:... o urn:li:ugcPost:...), si es una publicación compartida |
twitterKeepLinks | Solo X. true cuando se pidió que los enlaces del texto de X sigan siendo clicables. Solo se aplica a los lifetime deals de AppSumo |
googleBusiness* | Solo Perfil de Empresa de Google. El tipo de publicación, el botón y los ajustes de evento y oferta de googleBusinessConfigs, por ejemplo googleBusinessTopicType, googleBusinessCallToActionType o googleBusinessEventStart. Mira Configuraciones de plataforma |
pinterest*, tiktok*, instagram*, facebook*, youtube* | La configuración de plataforma con la que se creó la entrada, por ejemplo pinterestBoardId, tiktokPrivacyLevel, instagramPostType, facebookPostType o youtubePrivacyStatus. Consulte Configuraciones de plataforma |
Vistas previas de medios
Cada plataforma tiene un array previewUrls con imágenes de vista previa que alojamos nosotros (WebP, hasta 720 px, un fotograma fijo para los vídeos). Se rellena poco después de que empiece la publicación y normalmente tiene una entrada por cada elemento multimedia, donde una cadena vacía significa que ese elemento no se pudo renderizar. Una publicación cuyos medios ya habían caducado recibe en su lugar una sola imagen de portada. Tras la publicación, mediaUrls puede sustituirse por los enlaces CDN de la plataforma, que caducan en pocos días, y los archivos de origen subidos se eliminan. Use previewUrls para todo lo que muestre más adelante.
Publicaciones recurrentes
Una publicación creada por una serie recurrente tiene dos campos más. recurringPostId es la serie a la que pertenece. occurrenceAt es la fecha de la serie que ocupa y no cambia si reprogramas la publicación. Las demás publicaciones no incluyen estos campos. Si eliminas una publicación de una serie, esa fecha se omite y la serie continúa.
curl --request GET \
--url https://post.adaptlypost.com/post/api/v1/social-posts/post_xyz789 \
--header 'Authorization: Bearer <api-key>'{
"id": "post_xyz789",
"contentType": "IMAGE",
"text": "Check out our new product launch!",
"status": "COMPLETED",
"scheduledAt": "2026-03-14T14:00:00Z",
"timezone": "America/New_York",
"mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
"platforms": [
{
"id": "pp_001",
"platform": "TWITTER",
"status": "PUBLISHED",
"accountName": "@yourhandle",
"platformPostId": "1234567890",
"postUrl": "https://x.com/i/status/1234567890",
"publishedAt": "2026-03-14T14:00:02Z",
"mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
"previewUrls": ["https://cdn.adaptlypost.com/social-media-posts/previews/post_xyz789/1f0c9a7e2b4d6a8c0e1f.webp"]
},
{
"id": "pp_003",
"platform": "TIKTOK",
"status": "PUBLISHED",
"accountName": "@yourtiktok",
"tiktokDraftFallback": true,
"publishedAt": "2026-03-14T14:00:05Z",
"mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
"previewUrls": ["https://cdn.adaptlypost.com/social-media-posts/previews/post_xyz789/1f0c9a7e2b4d6a8c0e1f.webp"]
},
{
"id": "pp_002",
"platform": "LINKEDIN",
"status": "FAILED",
"accountName": "Your Company",
"errorMessage": "Image format not supported",
"mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
"previewUrls": ["https://cdn.adaptlypost.com/social-media-posts/previews/post_xyz789/1f0c9a7e2b4d6a8c0e1f.webp"]
}
],
"createdAt": "2026-03-14T13:55:00Z",
"updatedAt": "2026-03-14T14:00:10Z"
}