Synupv1
Criar chave
v1Recursos/Posts

Posts

Crie, leia e publique publicações sociais e do Google Business Profile.

Retorna as publicações de um local, as criadas mais recentemente primeiro, com o estado de envio por plataforma e estatísticas agregadas.

Listar publicações

get/api/v1/posts
posts:read
Parâmetros de consulta
locationIdstringobrigatório
O local para o qual listar publicações. Obrigatório.
platformstringopcional
Restringe os resultados às publicações enviadas para esta plataforma.
typestring (announcement | event | offer)opcional
Restringe os resultados a um tipo de publicação.
statusstringopcional
Restringe os resultados a um status de publicação.
fromstringopcional
Inclui apenas publicações criadas nesta data ou depois.
tostringopcional
Inclui apenas publicações criadas nesta data ou antes.
searchstringopcional
Correspondência sem diferenciar maiúsculas/minúsculas com o nome da publicação.
pageintegeropcional
Número da página, começando em 1. O padrão é 1.
perPageintegeropcional
Resultados por página, até 50. O padrão é 20.
Resposta
dataobjectopcional
rowsarray of objectopcional
As publicações correspondentes.
idstringopcional
Identificador único da publicação.
namestringopcional
Nome/rótulo interno da publicação.
typestringopcional
Tipo de publicação: announcement, event ou offer.
statusstringopcional
Status do ciclo de vida da publicação: draft, scheduled, active ou error.
postDatestringopcional
A data agendada ou de criação da publicação, como timestamp ISO 8601.
platformsarray of stringopcional
As plataformas às quais esta publicação se destina.
firstMediaUrlstringopcional
URL do primeiro item de mídia da publicação, ou null.
firstMediaTypestringopcional
Tipo do primeiro item de mídia da publicação (image ou video), ou null.
submissionsarray of objectopcional
Estado de envio por plataforma para esta publicação.
platformstringopcional
A plataforma a que esta linha se refere.
statusstringopcional
Status deste envio de plataforma: pending, active, error ou deleted.
postLinkstringopcional
URL pública da publicação publicada nesta plataforma, ou null.
reviewStatestringopcional
Estado de moderação do Google (processing, live, rejected), ou null para outras plataformas.
errorMessagestringopcional
Mensagem de erro se este envio falhou, ou null.
messagePreviewstringopcional
Os primeiros 140 caracteres da legenda da publicação, ou null.
viewsnumberopcional
Número total de visualizações, ou null se ainda não disponível.
clicksnumberopcional
Número total de cliques, ou null se ainda não disponível.
errorMsgstringopcional
Mensagem de erro do primeiro envio com falha, ou null.
deletedOnstringopcional
Quando esta publicação foi removida, como timestamp ISO 8601, ou null.
totalnumberopcional
Número total de publicações correspondentes.
statsobjectopcional
Estatísticas agregadas das publicações correspondentes.
totalPostsnumberopcional
Número de publicações correspondentes.
totalViewsnumberopcional
Total de visualizações nas publicações correspondentes, ou null.
totalClicksnumberopcional
Total de cliques nas publicações correspondentes, ou null.
totalEngagementnumberopcional
Total de reações, compartilhamentos e comentários combinados nas publicações correspondentes.
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.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
get/api/v1/posts
Sua chave de API
locationId *
platform
type
status
from
to
search
page
perPage
{
  "data": {
    "rows": [
      {
        "id": "cm_post_abc123",
        "name": "Fall Special Announcement",
        "type": "announcement",
        "status": "scheduled",
        "postDate": "2026-02-10T15:00:00.000Z",
        "platforms": [
          "google",
          "facebook"
        ],
        "firstMediaUrl": "https://cdn.synup.com/uploads/a1/promo.jpg",
        "firstMediaType": "image",
        "submissions": [
          {
            "platform": "google",
            "status": "pending",
            "postLink": null,
            "reviewState": null,
            "errorMessage": null
          },
          {
            "platform": "facebook",
            "status": "pending",
            "postLink": null,
            "reviewState": null,
            "errorMessage": null
          }
        ],
        "messagePreview": "Join us this weekend for our fall special — 20% off all services!",
        "views": null,
        "clicks": null,
        "errorMsg": null,
        "deletedOn": null
      }
    ],
    "total": 1,
    "stats": {
      "totalPosts": 12,
      "totalViews": 4300,
      "totalClicks": 210,
      "totalEngagement": 96
    }
  }
}
v1Recursos/Posts/postCriar 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.

Criar uma publicação

post/api/v1/posts
posts:write
Corpo 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)obrigatório
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)obrigatório
Plataformas de destino. É necessário pelo menos uma.
connectionIdsarray of stringopcional
IDs de conexão explícitos pelos quais publicar, em vez de resolver plataformas para conexões.
messageGooglestringopcional
Legenda para o Google. Obrigatória quando google é selecionado, a menos que seja draft.
messageFacebookstringopcional
Legenda social compartilhada para toda plataforma selecionada que não seja Google. Obrigatória, a menos que seja draft.
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 da publicação: draft, scheduled, active ou error.
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 da publicação: draft, scheduled, active ou error.
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"
  }
}
v1Recursos/Posts/getObter análises de publicações

Retorna um resumo de análises de engajamento — totais agregados, uma divisão por plataforma, séries de tendência e as principais publicações — nas conexões de plataforma em nível de marca de um cliente.

Obter análises de publicações

get/api/v1/posts/analytics
posts:read
Parâmetros de consulta
clientIdstringobrigatório
O cliente a ser agregado. Obrigatório.
fromstringopcional
Início do período do relatório. O padrão é 30 dias atrás.
tostringopcional
Fim do período do relatório. O padrão é agora.
Resposta
dataobjectopcional
summaryobjectopcional
Totais de engajamento do período atual.
totalPostsnumberopcional
Número de publicações neste período.
totalViewsnumberopcional
Total de visualizações neste período.
totalReactionsnumberopcional
Total de reações neste período.
totalSharesnumberopcional
Total de compartilhamentos neste período.
totalCommentsnumberopcional
Total de comentários neste período.
periodDaysnumberopcional
Duração do período do relatório, em dias.
prevSummaryobjectopcional
Totais de engajamento do período comparável imediatamente anterior, para comparação de variação.
totalPostsnumberopcional
Número de publicações neste período.
totalViewsnumberopcional
Total de visualizações neste período.
totalReactionsnumberopcional
Total de reações neste período.
totalSharesnumberopcional
Total de compartilhamentos neste período.
totalCommentsnumberopcional
Total de comentários neste período.
byPlatformarray of objectopcional
Totais de engajamento detalhados por plataforma para este período.
platformstringopcional
A plataforma a que esta linha se refere.
labelstringopcional
Nome de exibição da plataforma.
totalPostsnumberopcional
Número de publicações neste período.
totalViewsnumberopcional
Total de visualizações neste período.
totalReactionsnumberopcional
Total de reações neste período.
totalSharesnumberopcional
Total de compartilhamentos neste período.
totalCommentsnumberopcional
Total de comentários neste período.
prevByPlatformarray of objectopcional
Totais de engajamento detalhados por plataforma para o período anterior.
platformstringopcional
A plataforma a que esta linha se refere.
labelstringopcional
Nome de exibição da plataforma.
totalPostsnumberopcional
Número de publicações neste período.
totalViewsnumberopcional
Total de visualizações neste período.
totalReactionsnumberopcional
Total de reações neste período.
totalSharesnumberopcional
Total de compartilhamentos neste período.
totalCommentsnumberopcional
Total de comentários neste período.
trendobjectopcional
Contagens diárias de visualizações por plataforma ao longo do período.
datesarray of stringopcional
As datas cobertas por esta tendência, como strings YYYY-MM-DD.
seriesarray of objectopcional
Uma entrada por plataforma.
platformstringopcional
A plataforma a que esta linha se refere.
labelstringopcional
Nome de exibição da plataforma.
valuesarray of numberopcional
Um valor por data em dates, na mesma ordem.
engagementTrendobjectopcional
Visualizações, reações, compartilhamentos, comentários e alcance diários por plataforma ao longo do período.
datesarray of stringopcional
As datas cobertas por esta tendência, como strings YYYY-MM-DD.
seriesarray of objectopcional
Uma entrada por plataforma.
platformstringopcional
A plataforma a que esta linha se refere.
labelstringopcional
Nome de exibição da plataforma.
viewsarray of numberopcional
reactionsarray of numberopcional
sharesarray of numberopcional
commentsarray of numberopcional
reacharray of numberopcional
Valores diários de alcance, na mesma ordem que dates.
postsTrendobjectopcional
Contagens diárias de envios de publicações por plataforma ao longo do período.
datesarray of stringopcional
As datas cobertas por esta tendência, como strings YYYY-MM-DD.
seriesarray of objectopcional
Uma entrada por plataforma.
platformstringopcional
A plataforma a que esta linha se refere.
labelstringopcional
Nome de exibição da plataforma.
valuesarray of numberopcional
Um valor por data em dates, na mesma ordem.
allPostsarray of objectopcional
Os envios individuais dos quais este resumo é construído, ordenados por visualizações.
submissionIdstringopcional
Identificador único do envio à plataforma.
platformstringopcional
A plataforma a que esta linha se refere.
platformPostIdstringopcional
O id próprio da plataforma para a publicação publicada, ou null.
postLinkstringopcional
URL pública da publicação publicada nesta plataforma, ou null.
publishedAtstringopcional
Quando este envio foi publicado, como timestamp ISO 8601, ou null.
contentPreviewstringopcional
O nome da publicação, para exibição.
totalViewsnumberopcional
Total de visualizações neste período.
totalReactionsnumberopcional
Total de reações neste período.
totalSharesnumberopcional
Total de compartilhamentos neste período.
totalCommentsnumberopcional
Total de comentários neste período.
totalReachnumberopcional
Alcance total deste envio.
engRatenumberopcional
Taxa de engajamento — reações mais compartilhamentos mais comentários, como percentual das visualizações — ou null se ainda não houver visualizações.
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.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
get/api/v1/posts/analytics
Sua chave de API
clientId *
from
to
{
  "data": {
    "summary": {
      "totalPosts": 18,
      "totalViews": 5400,
      "totalReactions": 320,
      "totalShares": 44,
      "totalComments": 61,
      "periodDays": 30
    },
    "prevSummary": {
      "totalPosts": 14,
      "totalViews": 4100,
      "totalReactions": 260,
      "totalShares": 30,
      "totalComments": 48
    },
    "byPlatform": [
      {
        "platform": "facebook",
        "label": "Facebook",
        "totalPosts": 10,
        "totalViews": 3200,
        "totalReactions": 210,
        "totalShares": 30,
        "totalComments": 40
      },
      {
        "platform": "instagram",
        "label": "Instagram",
        "totalPosts": 8,
        "totalViews": 2200,
        "totalReactions": 110,
        "totalShares": 14,
        "totalComments": 21
      }
    ],
    "prevByPlatform": [
      {
        "platform": "facebook",
        "label": "Facebook",
        "totalPosts": 8,
        "totalViews": 2500,
        "totalReactions": 170,
        "totalShares": 20,
        "totalComments": 32
      }
    ],
    "trend": {
      "dates": [
        "2026-01-15",
        "2026-01-16"
      ],
      "series": [
        {
          "platform": "facebook",
          "label": "Facebook",
          "values": [
            4,
            6
          ]
        }
      ]
    },
    "engagementTrend": {
      "dates": [
        "2026-01-15",
        "2026-01-16"
      ],
      "series": [
        {
          "platform": "facebook",
          "label": "Facebook",
          "views": [
            180,
            210
          ],
          "reactions": [
            12,
            15
          ],
          "shares": [
            2,
            3
          ],
          "comments": [
            4,
            5
          ],
          "reach": [
            900,
            1100
          ]
        }
      ]
    },
    "postsTrend": {
      "dates": [
        "2026-01-15",
        "2026-01-16"
      ],
      "series": [
        {
          "platform": "facebook",
          "label": "Facebook",
          "values": [
            1,
            2
          ]
        }
      ]
    },
    "allPosts": [
      {
        "submissionId": "cm_sub_xyz789",
        "platform": "facebook",
        "platformPostId": "1234567890",
        "postLink": "https://www.facebook.com/1234567890",
        "publishedAt": "2026-01-16T14:00:00.000Z",
        "contentPreview": "Join us this weekend for our fall special — 20% off all services!",
        "totalViews": 890,
        "totalReactions": 42,
        "totalShares": 6,
        "totalComments": 9,
        "totalReach": 1450,
        "engRate": 0.064
      }
    ]
  }
}
v1Recursos/Posts/getObter uma publicação

Retorna uma única publicação, incluindo o desempenho de seus envios por plataforma.

Obter uma publicação

get/api/v1/posts/{id}
posts:read
Parâmetros de consulta
idstringobrigatório
A publicação a ser consultada.
Resposta
dataobjectopcional
Podem existir campos internos adicionais que não fazem parte do contrato estável — baseie-se apenas nos campos documentados aqui.
idstringopcional
Identificador único da publicação.
namestringopcional
Nome/rótulo interno da publicação.
typestringopcional
Tipo de publicação (duplicado de postType, mantido para compatibilidade retroativa).
statusstring (draft | scheduled | active | error)opcional
Status do ciclo de vida da publicação: draft, scheduled, active ou error.
postTypestring (announcement | event | offer)opcional
Tipo de publicação: announcement, event ou offer.
clientIdstringopcional
ID do cliente ao qual esta publicação pertence.
locationIdstringopcional
ID do local ao qual esta publicação pertence, ou null para uma publicação em nível de marca.
locationNamestringopcional
Nome de exibição do local da publicação, ou null.
clientNamestringopcional
Nome de exibição do cliente da publicação, ou null.
platformsarray of stringopcional
As plataformas às quais esta publicação se destina.
messageGooglestringopcional
Legenda usada para o Google, ou null.
messageFacebookstringopcional
Legenda social compartilhada usada por toda plataforma que não seja Google, ou null.
ctaTypestringopcional
Tipo de chamada para ação, ou null.
ctaUrlstringopcional
URL da chamada para ação, ou null.
ctaUrlFacebookstringopcional
URL da chamada para ação específica do Facebook, ou null.
xThreadbooleanopcional
Se o modo de thread do X está ativado (ignora o limite de 280 caracteres).
ctaJsonobjectopcional
Configurações brutas de chamada para ação e segmentação por plataforma.
mediaUrlsarray of objectopcional
Mídia anexada à publicação, uma entrada por anexo de plataforma.
urlstringopcional
platformstringopcional
typestring (image | video)opcional
eventTitlestringopcional
Título do evento ou oferta, ou null.
eventStartAtstringopcional
Horário de início do evento ou oferta, como timestamp ISO 8601, ou null.
eventEndAtstringopcional
Horário de término do evento ou oferta, como timestamp ISO 8601, ou null.
offerTermsstringopcional
Termos da oferta, ou null.
offerCouponCodestringopcional
Código do cupom da oferta, ou null.
offerRedeemUrlstringopcional
URL de resgate da oferta, ou null.
scheduledForstringopcional
Quando a publicação está agendada para ser publicada, como timestamp ISO 8601, ou null para publicar imediatamente.
createdAtstringopcional
Data de criação da publicação, como timestamp ISO 8601.
performancearray of objectopcional
Desempenho de envio por plataforma para esta publicação.
submissionIdstringopcional
Identificador único do envio à plataforma.
connectionIdstringopcional
ID da conexão pela qual este envio foi feito.
sitestringopcional
A plataforma à qual este envio se destina.
viewsnumberopcional
Número total de visualizações, ou null se ainda não disponível.
clicksnumberopcional
Número total de cliques, ou null se ainda não disponível.
reactionsnumberopcional
Número total de reações.
sharesnumberopcional
Número total de compartilhamentos.
commentsnumberopcional
Número total de comentários.
statusstringopcional
Status deste envio de plataforma: pending, active, error ou deleted.
platformPostIdstringopcional
O id próprio da plataforma para a publicação publicada, ou null.
postLinkstringopcional
URL pública da publicação publicada nesta plataforma, ou null.
reviewStatestringopcional
Estado de moderação do Google (processing, live, rejected), ou null para outras plataformas.
errorMessagestringopcional
Mensagem de erro se este envio falhou, ou null.
Erros
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.
404O recurso não foi encontrado, ou não pertence à sua agência.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
get/api/v1/posts/{id}
Sua chave de API
id *
{
  "data": {
    "id": "cm_post_abc123",
    "name": "Fall Special Announcement",
    "type": "announcement",
    "status": "scheduled",
    "postType": "announcement",
    "clientId": "cm_client_1",
    "locationId": "cm_loc_1",
    "locationName": "Acme Dental — Downtown",
    "clientName": "Acme Dental",
    "platforms": [
      "google",
      "facebook"
    ],
    "messageGoogle": "Join us this weekend for our fall special — 20% off all services!",
    "messageFacebook": "Join us this weekend for our fall special — 20% off all services!",
    "ctaType": "learn_more",
    "ctaUrl": "https://acmedental.example.com/fall-special",
    "ctaUrlFacebook": null,
    "xThread": false,
    "ctaJson": {
      "ctaType": "learn_more",
      "ctaUrl": "https://acmedental.example.com/fall-special",
      "ctaUrlFacebook": null,
      "xThread": false
    },
    "mediaUrls": [
      {
        "url": "https://cdn.synup.com/uploads/a1/promo.jpg",
        "platform": "facebook",
        "type": "image"
      }
    ],
    "eventTitle": null,
    "eventStartAt": null,
    "eventEndAt": null,
    "offerTerms": null,
    "offerCouponCode": null,
    "offerRedeemUrl": null,
    "scheduledFor": "2026-02-10T15:00:00.000Z",
    "createdAt": "2026-01-20T09:12:00.000Z",
    "performance": [
      {
        "submissionId": "cm_sub_xyz789",
        "connectionId": "cm_conn_1",
        "site": "facebook",
        "views": 890,
        "clicks": null,
        "reactions": 42,
        "shares": 6,
        "comments": 9,
        "status": "active",
        "platformPostId": "1234567890",
        "postLink": "https://www.facebook.com/1234567890",
        "reviewState": null,
        "errorMessage": null
      }
    ]
  }
}
v1Recursos/Posts/patchAtualizar uma publicação

Atualiza uma publicação editável (draft, scheduled, error ou active) e reconcilia seus envios de plataforma para corresponder. Se a publicação não estiver agendada e não estiver salva como rascunho, isso pode publicar ou alterar o que já está ao vivo em suas plataformas.

Atualizar uma publicação

patch/api/v1/posts/{id}
posts:write
Parâmetros de consulta
idstringobrigatório
A publicação a ser atualizada.
Corpo 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.
namestringopcional
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)opcional
Plataformas de destino. É necessário pelo menos uma.
connectionIdsarray of stringopcional
IDs de conexão explícitos pelos quais publicar, em vez de resolver plataformas para conexões.
messageGooglestringopcional
Legenda para o Google. Obrigatória quando google é selecionado, a menos que seja draft.
messageFacebookstringopcional
Legenda social compartilhada para toda plataforma selecionada que não seja Google. Obrigatória, a menos que seja draft.
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 da publicação: draft, scheduled, active ou error.
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 da publicação: draft, scheduled, active ou error.
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.
404O recurso não foi encontrado, ou não pertence à sua agência.
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.
patch/api/v1/posts/{id}
Sua chave de API
id *
Corpo da solicitação
{
  "data": {
    "id": "cm_post_abc123",
    "name": "Fall Special Announcement (updated)",
    "type": "announcement",
    "status": "scheduled",
    "postType": "announcement",
    "clientId": "cm_client_1",
    "locationId": "cm_loc_1",
    "platforms": [
      "google",
      "facebook"
    ],
    "messageGoogle": "Join us this weekend — now 25% off all services!",
    "messageFacebook": "Join us this weekend — now 25% off all services!",
    "ctaType": "learn_more",
    "ctaUrl": "https://acmedental.example.com/fall-special",
    "ctaUrlFacebook": null,
    "xThread": false,
    "ctaJson": {
      "ctaType": "learn_more",
      "ctaUrl": "https://acmedental.example.com/fall-special",
      "ctaUrlFacebook": null,
      "xThread": false
    },
    "mediaUrls": [
      {
        "url": "https://cdn.synup.com/uploads/a1/promo.jpg",
        "platform": "facebook",
        "type": "image"
      }
    ],
    "eventTitle": null,
    "eventStartAt": null,
    "eventEndAt": null,
    "offerTerms": null,
    "offerCouponCode": null,
    "offerRedeemUrl": null,
    "scheduledFor": "2026-02-10T15:00:00.000Z",
    "createdAt": "2026-01-20T09:12:00.000Z",
    "performance": []
  }
}
v1Recursos/Posts/deleteRemover e excluir uma publicação

Remove uma publicação de todas as plataformas em que foi enviada — uma ação real e imediata que não pode ser desfeita. Somente quando a remoção é bem-sucedida em todas as plataformas é que a publicação também desaparece desta API; se alguma plataforma falhar, nada é arquivado e a publicação permanece visível para que a falha possa ser repetida. Esta API nunca exclui permanentemente o registro da publicação.

Remover e excluir uma publicação

delete/api/v1/posts/{id}
posts:write
Parâmetros de consulta
idstringobrigatório
A publicação a ser excluída.
Resposta
dataobjectopcional
idstringopcional
Identificador único da publicação.
okbooleanopcional
Se todos os envios de plataforma foram removidos com sucesso.
deletednumberopcional
Número de envios de plataforma removidos com sucesso.
failedarray of objectopcional
Envios de plataforma que falharam ao serem removidos, se houver.
connectionIdstringopcional
ID da conexão cuja remoção falhou.
platformstringopcional
A plataforma a que esta linha se refere.
errorstringopcional
Mensagem de erro descrevendo por que a remoção falhou.
Erros
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.
404O recurso não foi encontrado, ou não pertence à sua agência.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
delete/api/v1/posts/{id}
Sua chave de API
id *
{
  "data": {
    "id": "cm_post_abc123",
    "ok": true,
    "deleted": 2,
    "failed": []
  }
}
v1Recursos/Posts/postPublicar uma publicação agora

Força o envio imediato de uma publicação em rascunho ou com erro, repetindo qualquer envio de plataforma pendente ou com falha. Isso envia conteúdo real para as plataformas conectadas da publicação agora mesmo.

Publicar uma publicação agora

post/api/v1/posts/{id}/publish
posts:write
Parâmetros de consulta
idstringobrigatório
A publicação a ser publicada.
Resposta
dataobjectopcional
retryingnumberopcional
Número de envios de plataforma reenfileirados para entrega.
Erros
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.
404O recurso não foi encontrado, ou não pertence à sua agência.
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/{id}/publish
Sua chave de API
id *
{
  "data": {
    "retrying": 2
  }
}