v1Recursos/Posts/postCrear una publicación

Crear una publicación

Crea una publicación para una ubicación o cliente y la envía a las plataformas seleccionadas. Esto publica contenido real: a menos que se indique scheduledFor o draft sea true, la publicación se activa de inmediato en sus plataformas de destino. Una plataforma solicitada sin conexión activa, o una publicación a la que le falte un campo obligatorio para publicarse, nunca hace fallar la llamada — el contenido se guarda como borrador en su lugar; consulta el esquema de la respuesta para ver cómo se informa esto.

post/api/v1/posts
posts:write
Cuerpo de la solicitud
locationIdstringopcional
La ubicación a la que se publica. Indica esta o clientId.
clientIdstringopcional
El cliente al que se publica a nivel de marca. Indica este o locationId.
namestringobligatorio
Nombre o etiqueta interna de la publicación. Obligatorio, no vacío.
postTypestring (announcement | event | offer)opcional
Tipo de publicación. event y offer son exclusivos de Google.
platformsarray of string (google | facebook | instagram | x | linkedin | pinterest | mastodon | bluesky | threads | tiktok | youtube | reddit | medium | substack | vimeo | dailymotion)opcional
Plataformas de destino. Envía esto o connectionIds. Cada plataforma publica a través de la conexión de la ubicación para ella (o la del cliente, en una publicación de marca).
connectionIdsarray of stringopcional
Destinos exactos: los ids de conexión en los que publicar, de GET /api/v1/locations/{id}/publish-targets. Usa la conexión propia de la ubicación o la página de marca de su cliente; una conexión de Google a nivel de cuenta, una archivada o una de otra ubicación o cliente se rechaza con 422. Si se envía, la publicación va exactamente ahí y platforms se toma de esas conexiones. Al actualizar, la lista reemplaza los destinos de la publicación.
linkUrlstringopcional
El enlace principal de la publicación, usado por cada plataforma que muestra uno.
linkCtaKeystringopcional
El botón que se muestra con linkUrl, p. ej. learn_more, book o shop.
utmobjectopcional
Etiquetas UTM (source, medium, campaign, term) que se añaden a linkUrl.
sourcestringopcional
mediumstringopcional
campaignstringopcional
termstringopcional
linkOverrideobjectopcional
Ajustes de enlace por plataforma, con clave por plataforma: otra url, botón, title, description o utm para esa plataforma.
linkAppendobjectopcional
Si se añade linkUrl al final del texto en X y Mastodon, que no tienen campo de enlace.
xbooleanopcional
mastodonbooleanopcional
ctaUrlFacebookstringopcional
URL del botón solo para Facebook, cuando debe ser distinta de ctaUrl.
xThreadbooleanopcional
En X, divide un texto más largo que una publicación en un hilo.
scheduleLocalTimestringopcional
Programa por hora local, "YYYY-MM-DDTHH:mm" sin zona. Úsalo en lugar de scheduledFor para programar según la zona horaria.
scheduleZoneModestring (target_local | fixed_zone)opcional
Cómo se interpreta scheduleLocalTime: target_local publica a esa hora en la zona horaria de cada destino; fixed_zone usa scheduleTimeZone para todos los destinos.
scheduleTimeZonestringopcional
Zona horaria IANA para programar con fixed_zone, p. ej. "America/New_York".
timeZoneModestring (target_local | fixed_zone)opcional
Igual que scheduleZoneMode.
articleTitlestringopcional
Campos de artículo para Medium y Substack: título, subtítulo y cuerpo en HTML.
articleSubtitlestringopcional
Campos de artículo para Medium y Substack: título, subtítulo y cuerpo en HTML.
articleBodyHtmlstringopcional
Campos de artículo para Medium y Substack: título, subtítulo y cuerpo en HTML.
canonicalUrlstringopcional
URL original de un artículo publicado en otro sitio, para que la plataforma cite la fuente.
videoCoverUrlstringopcional
Opciones de video: la URL de una imagen de portada y la URL de un archivo de subtítulos con su idioma.
videoCaptionsUrlstringopcional
Opciones de video: la URL de una imagen de portada y la URL de un archivo de subtítulos con su idioma.
videoCaptionsLanguagestringopcional
Opciones de video: la URL de una imagen de portada y la URL de un archivo de subtítulos con su idioma.
facebookCaptionstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookCtaTypestringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookFirstCommentstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookPublishAsstring (default | reel | carousel | suppress_link)opcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookCarouselCardsarray of objectopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
headlinestringopcional
descriptionstringopcional
linkstringopcional
facebookTargetCountrystringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetGenderstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetAgeMinstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetAgeMaxstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetRelationshipstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
instagramFirstCommentstringopcional
Una opción solo para Instagram: primer comentario o texto alternativo de la imagen.
instagramAltTextstringopcional
Una opción solo para Instagram: primer comentario o texto alternativo de la imagen.
xReplySettingsstring (everyone | following | mentioned)opcional
Una opción solo para X: quién puede responder.
linkedinVisibilitystring (anyone | connections | followers)opcional
Una opción solo para LinkedIn: visibilidad o primer comentario.
linkedinFirstCommentstringopcional
Una opción solo para LinkedIn: visibilidad o primer comentario.
pinterestTitlestringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestBoardIdstringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestBoardNamestringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestLinkstringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestAltTextstringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
tiktokPrivacyLevelstring (PUBLIC_TO_EVERYONE | MUTUAL_FOLLOW_FRIENDS | SELF_ONLY)opcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokDisableDuetbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokDisableStitchbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokDisableCommentbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokBrandContentbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
mastodonVisibilitystring (public | unlisted | private | direct)opcional
Una opción solo para Mastodon: visibilidad, aviso de contenido o contenido sensible.
mastodonSpoilerTextstringopcional
Una opción solo para Mastodon: visibilidad, aviso de contenido o contenido sensible.
mastodonSensitivebooleanopcional
Una opción solo para Mastodon: visibilidad, aviso de contenido o contenido sensible.
blueskyLanguagestringopcional
Una opción solo para Bluesky: idioma de la publicación o quién puede responder.
blueskyReplyGatingstring (everyone | mentioned | following | nobody)opcional
Una opción solo para Bluesky: idioma de la publicación o quién puede responder.
threadsReplyControlstring (everyone | accounts_you_follow | mentioned_only)opcional
Una opción solo para Threads: quién puede responder.
redditSubredditstringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditTitlestringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditPostTypestring (text | link | image | video)opcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditUrlstringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditFlairstringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
mediumTagsstringopcional
Una opción solo para Medium: etiquetas o estado de publicación.
mediumPublishStatusstring (public | unlisted | draft)opcional
Una opción solo para Medium: etiquetas o estado de publicación.
substackSendEmailbooleanopcional
Una opción solo para Substack: si se envía un correo a los suscriptores.
vimeoTitlestringopcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
vimeoDescriptionstringopcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
vimeoThumbnailUrlstringopcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
vimeoPrivacystring (anybody | unlisted)opcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
dailymotionTitlestringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionDescriptionstringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionThumbnailUrlstringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionCategorystringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionIsForKidsbooleanopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionPrivacystring (public | private)opcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
messageGooglestringopcional
Texto para Google. Obligatorio cuando se selecciona google, salvo que sea draft.
messageFacebookstringopcional
Texto compartido para las plataformas sociales (Facebook, Instagram, X, LinkedIn y las demás). Obligatorio cuando se selecciona alguna de ellas, salvo una selección solo de TikTok o solo de YouTube, a menos que la publicación sea un borrador. Google no lo usa; usa messageGoogle.
captionOverridesobjectopcional
Captions that replace the shared caption on one network only, keyed by network: facebook, instagram, linkedin, x, bluesky, mastodon, threads, pinterest (the pin description), tiktok and youtube (the video description). Each is checked against its own network's limit. On update, only the networks you name change; send null or an empty string for one to go back to the shared caption, or null for the whole field to clear them all. Other networks are refused, because they publish the shared caption.
facebookstringopcional
instagramstringopcional
linkedinstringopcional
xstringopcional
blueskystringopcional
mastodonstringopcional
threadsstringopcional
pintereststringopcional
tiktokstringopcional
youtubestringopcional
ctaTypestring (learn_more | sign_up | order_online | book | buy | call_now)opcional
Tipo de llamada a la acción.
ctaUrlstringopcional
URL de destino de la llamada a la acción.
mediaUrlsarray of objectopcional
Medios a adjuntar, una entrada por adjunto de plataforma.
urlstringopcional
platformstringopcional
typestring (image | video)opcional
eventTitlestringopcional
Título del evento u oferta. Obligatorio para un evento/oferta de Google, salvo que sea draft.
eventStartAtstringopcional
Hora de inicio del evento u oferta, como marca de tiempo ISO 8601. Obligatorio para un evento/oferta de Google, salvo que sea draft.
eventEndAtstringopcional
Hora de fin del evento u oferta, como marca de tiempo ISO 8601. Debe ser posterior al inicio.
offerTermsstringopcional
Términos de la oferta.
offerCouponCodestringopcional
Código de cupón de la oferta.
offerRedeemUrlstringopcional
URL de canje de la oferta.
scheduledForstringopcional
Publicar en esta marca de tiempo ISO 8601 futura en lugar de inmediatamente.
draftbooleanopcional
Guardar sin publicar. Omite las validaciones de campos obligatorios; las validaciones estructurales (límites, reglas de medios) siguen aplicándose.
Respuesta
dataobjectopcional
Una plataforma solicitada sin conexión activa, o un campo obligatorio que la publicación necesita antes de poder publicarse, nunca hace fallar esta llamada — la publicación se guarda de todos modos. Cuando existe alguna de estas dos brechas, status es "no_connection" o "incomplete" y la publicación viaja debajo como post.{id,status}; en una publicación limpia, el id/status de nivel superior describen la publicación directamente.
idstringopcional
Identificador único de la publicación.
statusstringopcional
Estado del ciclo de vida de la publicación: draft, scheduled, paused, publishing, active, partial (publicada en algunas plataformas y fallida en otras), error, deleted o expired.
missingFieldsarray of stringopcional
Campos aún necesarios antes de que esta publicación pueda activarse, si los hay.
missingPlatformsarray of stringopcional
Plataformas solicitadas sin conexión activa, si las hay.
scopestring (location | client)opcional
Si la brecha de conexión/campo aplica a nivel de ubicación o de cliente.
postobjectopcional
La publicación que se creó o actualizó.
idstringopcional
Identificador único de la publicación.
statusstringopcional
Estado del ciclo de vida de la publicación: draft, scheduled, paused, publishing, active, partial (publicada en algunas plataformas y fallida en otras), error, deleted o expired.
targetsarray of objectopcional
Una entrada por cada destino de la publicación, con su propio estado.
connectionIdstringopcional
La conexión a través de la que publica este destino.
platformstringopcional
La plataforma del destino.
statusstringopcional
Estado de este envío a la plataforma: pending, publishing, action_required (la plataforma necesita una acción del usuario), active, error, deleted o expired.
errorobjectopcional
Presente cuando este destino falló: el código y el mensaje de error de Synup.
codestringopcional
messagestringopcional
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
422A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
post/api/v1/posts
Su clave de API
Cuerpo de la solicitud*
{
  "data": {
    "id": "cm_post_abc123",
    "status": "scheduled"
  }
}

Guías que usan este endpoint