Pular para o conteúdo
Planos Ultimate e Enterprise

API do Post Track

Leve os comentários do seu monitoramento para os seus próprios sistemas, já classificados por sentimento e com as tags da sua equipe: um painel de BI, um CRM, um data warehouse ou um alerta próprio. A API é somente leitura, responde em JSON sobre HTTPS e autentica com um token que você cria no app.

URL base
https://api.posttrack.com.br/public/v1
Autenticação
Authorization: Bearer ptk_…
Formato
JSON, datas em ISO 8601 (UTC)
Limite de requisições
600 requisições por minuto por token

Primeiros passos

  1. No app web, abra o monitoramento, vá em Configurações › Tokens de acesso à API e escolha Criar token. Só proprietários e administradores do monitoramento veem essa tela.
  2. Dê ao token o nome do sistema que vai usá-lo, mantenha a permissão "Ler comentários" e escolha quando ele expira.
  3. Copie o token, que começa com ptk_. Ele é exibido uma única vez: guarde-o no seu gerenciador de segredos ou em uma variável de ambiente.
  4. Faça sua primeira requisição:
curl "https://api.posttrack.com.br/public/v1/comments?max=50" \
  -H "Authorization: Bearer $POST_TRACK_TOKEN"

Autenticação

Envie o token no cabeçalho Authorization de toda requisição, depois da palavra Bearer. Requisições sem um token válido recebem 401.

Authorization: Bearer ptk_...
  • Um token pertence a um monitoramento e só lê os dados dele. Para ler vários monitoramentos, crie um token em cada um.
  • Os tokens expiram em 30, 90 ou 365 dias, ou nunca, conforme escolhido na criação. A lista de tokens mostra quando cada um foi usado pela última vez.
  • Revogar um token na mesma tela o desativa na hora. Revogue-o sempre que ele possa ter vazado e crie um novo.
  • Mantenha o token no seu servidor. A API aceita chamadas do navegador, mas um token embutido em uma página ou app pode ser lido por qualquer pessoa que o abra.

Listar comentários

GET/public/v1/comments

Retorna os comentários do monitoramento, dos mais recentes para os mais antigos, com o total que corresponde aos filtros.

Parâmetros da consulta

maxinteger
Quantos comentários retornar, de 1 a 200. O padrão é 50.
offsetinteger
Quantos comentários pular, para paginar. O padrão é 0.
sinceISO 8601
Só comentários publicados neste instante ou depois, por exemplo 2026-09-01T00:00:00Z.
untilISO 8601
Só comentários publicados neste instante ou antes.
sentimentstring
Um entre positive, negative, neutral ou unclassified.
platformstring
Um entre facebook, instagram, tiktok, twitter, youtube, tripadvisor ou googlenews.

Exemplo

curl "https://api.posttrack.com.br/public/v1/comments?sentiment=negative&platform=instagram&since=2026-09-01T00:00:00Z" \
  -H "Authorization: Bearer $POST_TRACK_TOKEN"
{
  "total": 128,
  "data": [
    {
      "id": "c0a8012e-...",
      "message": "Three days waiting for an answer in the DMs.",
      "platform": "instagram",
      "sentiment": "negative",
      "permaLink": "https://www.instagram.com/p/...",
      "likeCount": 4,
      "replied": false,
      "fromOwner": false,
      "parentId": null,
      "publishedAt": "2026-09-02T14:31:08Z",
      "instagramMedia": {
        "id": "...",
        "message": "Our spring collection is here",
        "permaLink": "https://www.instagram.com/p/...",
        "publishedAt": "2026-09-01T12:00:00Z",
        "instagramAccount": { "id": "...", "name": "Your brand", "username": null }
      },
      "facebookPost": null,
      "tiktokVideo": null,
      "twitterPost": null,
      "youtubeVideo": null,
      "tripadvisorLocation": null,
      "tags": ["Customer service", "Delivery"]
    }
  ]
}

Buscar um comentário

GET/public/v1/comments/{id}

Retorna um único comentário do monitoramento pelo id, no mesmo formato de um item da lista.

curl "https://api.posttrack.com.br/public/v1/comments/c0a8012e-..." \
  -H "Authorization: Bearer $POST_TRACK_TOKEN"

O objeto comentário

idstring
O id do comentário no Post Track.
messagestring
O texto do comentário.
platformstring
A rede de onde foi coletado, com os mesmos valores do filtro platform.
sentimentstring
positive, negative, neutral ou unclassified, conforme a classificação do Post Track.
permaLinkstring
Link para o comentário na rede, quando existe.
likeCountinteger
Curtidas que o comentário tinha na última coleta.
repliedboolean
Se o comentário já foi respondido.
fromOwnerboolean
Se foi escrito pelo próprio perfil monitorado.
parentIdstring
O id do comentário que ele responde. Null em um comentário de primeiro nível.
publishedAtISO 8601
Quando o comentário foi publicado, em UTC.
facebookPost, instagramMedia, tiktokVideo, twitterPost, youtubeVideoobject
A publicação em que o comentário foi feito, com id, texto, link, data de publicação e o perfil a que pertence. Só o da plataforma do comentário é preenchido; os outros vêm null.
tripadvisorLocationobject
Nas avaliações do TripAdvisor, o local avaliado.
tagsstring[]
Nomes das tags atribuídas ao comentário, em ordem alfabética.

Cada perfil de uma publicação (uma página, uma conta ou um canal) vem como um objeto com id, name e username; username só é preenchido no TikTok e no X.

Paginação

As listas são paginadas com max e offset. O total da resposta diz quantos comentários correspondem, para você saber quando parar. Para sincronizar continuamente, filtre com since a partir do publishedAt do último comentário que você guardou.

const comments = []

for (let offset = 0; ; offset += 200) {
  const response = await fetch(
    `https://api.posttrack.com.br/public/v1/comments?max=200&offset=${offset}`,
    { headers: { Authorization: `Bearer ${token}` } }
  )
  const page = await response.json()

  comments.push(...page.data)

  if (page.data.length === 0 || comments.length >= page.total) break
}

Limites de requisições

Cada token pode fazer 600 requisições por minuto, contadas em uma janela deslizante. Toda resposta informa em que ponto você está:

X-RateLimit-Limit
Requisições permitidas por janela.
X-RateLimit-Remaining
Requisições restantes na janela atual.
X-RateLimit-Reset
Quando a janela libera de novo, como timestamp Unix em segundos.
Retry-After
Só em um 429: segundos a esperar antes de tentar de novo.

Erros

Os erros usam o status HTTP e um corpo JSON com uma mensagem legível, em inglês ou português conforme o cabeçalho Accept-Language.

{
  "message": "Invalid API access token."
}
400
Um parâmetro da consulta é inválido, como max acima de 200 ou um sentimento desconhecido.
401
O token está ausente, malformado, revogado ou expirado.
403
O token não tem a permissão comments:read, o monitoramento está inativo ou o projeto não está no plano Ultimate ou Enterprise.
404
O comentário não existe ou pertence a outro monitoramento.
429
Requisições demais. Espere os segundos de Retry-After e tente de novo.
500
Algo falhou do nosso lado. Tente de novo mais tarde e, se persistir, escreva para nós.

Planos e versionamento

A API faz parte dos planos Ultimate e Enterprise. Se um projeto passa para um plano inferior, os tokens são mantidos, mas a API os recusa até o plano voltar.

A versão fica no caminho (/public/v1). Novos campos e endpoints podem ser adicionados a ela a qualquer momento, então ignore os campos que você não conhece; uma mudança que quebre integrações existentes vem em uma nova versão, anunciada com antecedência.

Dúvidas, ou precisa de um endpoint que não está aqui? Escreva para suporte@diamovi.com.br.