v1Recursos/Posts/postCriar uma publicação
Criar uma publicação
Cria uma publicação para um local ou cliente e a envia para as plataformas selecionadas. Isto publica conteúdo real: a menos que scheduledFor esteja definido ou draft seja true, a publicação vai ao ar imediatamente em suas plataformas de destino. Uma plataforma solicitada sem conexão ativa, ou uma publicação sem um campo obrigatório para ir ao ar, nunca faz a chamada falhar — o conteúdo é salvo como rascunho; veja o esquema de resposta para saber como isso é reportado.
post
posts:write/api/v1/postsCorpo da solicitação
locationIdstringopcional
O local para o qual publicar. Forneça este ou clientId.
clientIdstringopcional
O cliente para o qual publicar em nível de marca. Forneça este ou locationId.
namestringobrigatório
Nome/rótulo interno da publicação. Obrigatório, não pode ser vazio.
postTypestring (announcement | event | offer)opcional
Tipo de publicação. event e offer são exclusivos do Google.
platformsarray of string (google | facebook | instagram | x | linkedin | pinterest | mastodon | bluesky | threads | tiktok | youtube | reddit | medium | substack | vimeo | dailymotion)opcional
Plataformas de destino. Envie isto ou connectionIds. Cada plataforma publica pela conexão do local para ela (ou do cliente, em uma publicação de marca).
connectionIdsarray of stringopcional
Destinos exatos: os ids de conexão nos quais publicar, de GET /api/v1/locations/{id}/publish-targets. Use a conexão do próprio local ou a página de marca do cliente dele; uma conexão do Google em nível de conta, uma arquivada ou uma de outro local ou cliente é rejeitada com 422. Se enviado, o post vai exatamente para esses destinos e platforms é obtido deles. Na atualização, a lista substitui os destinos do post.
linkUrlstringopcional
O link principal do post, usado por cada plataforma que exibe um.
linkCtaKeystringopcional
O botão exibido com linkUrl, por exemplo learn_more, book ou shop.
utmobjectopcional
Tags UTM (source, medium, campaign, term) adicionadas ao linkUrl.
sourcestringopcional
mediumstringopcional
campaignstringopcional
termstringopcional
linkOverrideobjectopcional
Configurações de link por plataforma, com chave por plataforma: outra url, botão, title, description ou utm para essa plataforma.
linkAppendobjectopcional
Se o linkUrl é adicionado ao fim da legenda no X e no Mastodon, que não têm campo de link.
xbooleanopcional
mastodonbooleanopcional
ctaUrlFacebookstringopcional
URL do botão só para o Facebook, quando deve ser diferente de ctaUrl.
xThreadbooleanopcional
No X, divide uma legenda maior que um post em uma thread.
scheduleLocalTimestringopcional
Agenda pelo horário local, "YYYY-MM-DDTHH:mm" sem fuso. Use no lugar de scheduledFor para agendamento por fuso horário.
scheduleZoneModestring (target_local | fixed_zone)opcional
Como scheduleLocalTime é lido: target_local publica nesse horário no fuso de cada destino; fixed_zone usa scheduleTimeZone para todos os destinos.
scheduleTimeZonestringopcional
Fuso horário IANA para agendamento fixed_zone, por exemplo "America/New_York".
timeZoneModestring (target_local | fixed_zone)opcional
O mesmo que scheduleZoneMode.
articleTitlestringopcional
Campos de artigo para Medium e Substack: título, subtítulo e corpo em HTML.
articleSubtitlestringopcional
Campos de artigo para Medium e Substack: título, subtítulo e corpo em HTML.
articleBodyHtmlstringopcional
Campos de artigo para Medium e Substack: título, subtítulo e corpo em HTML.
canonicalUrlstringopcional
URL original de um artigo publicado em outro lugar, para que a plataforma credite a fonte.
videoCoverUrlstringopcional
Opções de vídeo: a URL de uma imagem de capa e a URL de um arquivo de legendas com o idioma.
videoCaptionsUrlstringopcional
Opções de vídeo: a URL de uma imagem de capa e a URL de um arquivo de legendas com o idioma.
videoCaptionsLanguagestringopcional
Opções de vídeo: a URL de uma imagem de capa e a URL de um arquivo de legendas com o idioma.
facebookCaptionstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookCtaTypestringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookFirstCommentstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookPublishAsstring (default | reel | carousel | suppress_link)opcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookCarouselCardsarray of objectopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
headlinestringopcional
descriptionstringopcional
linkstringopcional
facebookTargetCountrystringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetGenderstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetAgeMinstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetAgeMaxstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetRelationshipstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
instagramFirstCommentstringopcional
Uma opção só do Instagram: primeiro comentário ou texto alternativo da imagem.
instagramAltTextstringopcional
Uma opção só do Instagram: primeiro comentário ou texto alternativo da imagem.
xReplySettingsstring (everyone | following | mentioned)opcional
Uma opção só do X: quem pode responder.
linkedinVisibilitystring (anyone | connections | followers)opcional
Uma opção só do LinkedIn: visibilidade ou primeiro comentário.
linkedinFirstCommentstringopcional
Uma opção só do LinkedIn: visibilidade ou primeiro comentário.
pinterestTitlestringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestBoardIdstringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestBoardNamestringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestLinkstringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestAltTextstringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
tiktokPrivacyLevelstring (PUBLIC_TO_EVERYONE | MUTUAL_FOLLOW_FRIENDS | SELF_ONLY)opcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokDisableDuetbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokDisableStitchbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokDisableCommentbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokBrandContentbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
mastodonVisibilitystring (public | unlisted | private | direct)opcional
Uma opção só do Mastodon: visibilidade, aviso de conteúdo ou mídia sensível.
mastodonSpoilerTextstringopcional
Uma opção só do Mastodon: visibilidade, aviso de conteúdo ou mídia sensível.
mastodonSensitivebooleanopcional
Uma opção só do Mastodon: visibilidade, aviso de conteúdo ou mídia sensível.
blueskyLanguagestringopcional
Uma opção só do Bluesky: idioma do post ou quem pode responder.
blueskyReplyGatingstring (everyone | mentioned | following | nobody)opcional
Uma opção só do Bluesky: idioma do post ou quem pode responder.
threadsReplyControlstring (everyone | accounts_you_follow | mentioned_only)opcional
Uma opção só do Threads: quem pode responder.
redditSubredditstringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditTitlestringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditPostTypestring (text | link | image | video)opcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditUrlstringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditFlairstringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
mediumTagsstringopcional
Uma opção só do Medium: tags ou status de publicação.
mediumPublishStatusstring (public | unlisted | draft)opcional
Uma opção só do Medium: tags ou status de publicação.
substackSendEmailbooleanopcional
Uma opção só do Substack: se envia e-mail aos assinantes.
vimeoTitlestringopcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
vimeoDescriptionstringopcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
vimeoThumbnailUrlstringopcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
vimeoPrivacystring (anybody | unlisted)opcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
dailymotionTitlestringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionDescriptionstringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionThumbnailUrlstringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionCategorystringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionIsForKidsbooleanopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionPrivacystring (public | private)opcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
messageGooglestringopcional
Legenda para o Google. Obrigatória quando google é selecionado, a menos que seja draft.
messageFacebookstringopcional
Legenda compartilhada para as plataformas sociais (Facebook, Instagram, X, LinkedIn e as demais). Obrigatória quando alguma delas está selecionada, exceto em uma seleção só de TikTok ou só de YouTube, a menos que o post seja um rascunho. O Google não a usa: ele 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 chamada para ação.
ctaUrlstringopcional
URL de destino da chamada para ação.
mediaUrlsarray of objectopcional
Mídia a ser anexada, uma entrada por anexo de plataforma.
urlstringopcional
platformstringopcional
typestring (image | video)opcional
eventTitlestringopcional
Título do evento ou oferta. Obrigatório para um event/offer do Google, a menos que seja draft.
eventStartAtstringopcional
Horário de início do evento ou oferta, como timestamp ISO 8601. Obrigatório para um event/offer do Google, a menos que seja draft.
eventEndAtstringopcional
Horário de término do evento ou oferta, como timestamp ISO 8601. Deve ser posterior ao início.
offerTermsstringopcional
Termos da oferta.
offerCouponCodestringopcional
Código do cupom da oferta.
offerRedeemUrlstringopcional
URL de resgate da oferta.
scheduledForstringopcional
Publica neste timestamp ISO 8601 futuro em vez de imediatamente.
draftbooleanopcional
Salva sem publicar. Ignora verificações de campos obrigatórios; verificações estruturais (limites, regras de mídia) ainda se aplicam.
Resposta
dataobjectopcional
Uma plataforma solicitada sem conexão ativa, ou um campo obrigatório que a publicação precisa antes de poder ir ao ar, nunca faz esta chamada falhar — a publicação ainda é salva. Quando existe uma dessas lacunas, status é "no_connection" ou "incomplete" e a publicação fica embutida em post.{id,status}; em uma publicação bem-sucedida, o id/status de nível superior descrevem a publicação diretamente.
idstringopcional
Identificador único da publicação.
statusstringopcional
Status do ciclo de vida do post: draft, scheduled, paused, publishing, active, partial (no ar em algumas plataformas e com falha em outras), error, deleted ou expired.
missingFieldsarray of stringopcional
Campos ainda necessários antes que esta publicação possa ir ao ar, se houver.
missingPlatformsarray of stringopcional
Plataformas solicitadas sem conexão ativa, se houver.
scopestring (location | client)opcional
Se a lacuna de conexão/campo se aplica no nível do local ou do cliente.
postobjectopcional
A publicação que foi criada ou atualizada.
idstringopcional
Identificador único da publicação.
statusstringopcional
Status do ciclo de vida do post: draft, scheduled, paused, publishing, active, partial (no ar em algumas plataformas e com falha em outras), error, deleted ou expired.
targetsarray of objectopcional
Uma entrada por destino do post, com o próprio status.
connectionIdstringopcional
A conexão pela qual este destino publica.
platformstringopcional
A plataforma do destino.
statusstringopcional
Status deste envio para a plataforma: pending, publishing, action_required (a plataforma precisa de uma ação do usuário), active, error, deleted ou expired.
errorobjectopcional
Presente quando este destino falhou: o código e a mensagem de erro da Synup.
codestringopcional
messagestringopcional
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
422Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
post/api/v1/posts
Sua chave de API
Corpo da solicitação*
{
"data": {
"id": "cm_post_abc123",
"status": "scheduled"
}
}Guias que usam este endpoint
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Add Local Marketing Functionality to Vertical SaaSAdd local marketing to a vertical SaaS by mapping existing customers to clients and locations, and shipping only the features your niche needs.
- How to Publish Google Business Profile Posts ProgrammaticallyPublish announcements, offers and events to Google Business Profile via API, schedule them, handle the missing-connection draft, and measure post performance.
- Publish a Google Business Profile Post via APIPublish an announcement, offer or event to a location's connected platforms, and handle the draft returned when a platform is not connected.