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
/api/v1/posts{
"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
}
}
}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
/api/v1/posts{
"data": {
"id": "cm_post_abc123",
"status": "scheduled"
}
}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
/api/v1/posts/analytics{
"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
}
]
}
}Retorna uma única publicação, incluindo o desempenho de seus envios por plataforma.
Obter uma publicação
/api/v1/posts/{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
}
]
}
}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
/api/v1/posts/{id}{
"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": []
}
}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
/api/v1/posts/{id}{
"data": {
"id": "cm_post_abc123",
"ok": true,
"deleted": 2,
"failed": []
}
}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
/api/v1/posts/{id}/publish{
"data": {
"retrying": 2
}
}