Sentimonitor REST API Versão 5.0

Esta é a documentação da API do Sentimonitor Versão 5. Aqui você encontrará as instruções necessárias para consumir os dados processados pelo Sentimonitor e fazer consultas.

A API do Sentimonitor é baseada no padrão REST. Exceto onde explicitamente notado, a API é restrita ao formato JSON.

Versões da API

Atualmente, a API do Sentimonitor encontra-se na versão 5.0. Esta documentação é restrita à esta versão.

A documentação da versão 4.0 está disponível aqui

O desenvolvmento de novas funcionalidades nas versões anteriores está descontinuado, e o seu acesso está atualmente restrito aos usuários atuais dessas APIs. Para consultar a documentação das versões anteriores, entre em contato com sup@sentimonitor.com.

Introdução

A API do Sentimonitor funciona sobre o protocolo HTTPS. A maioria das linguagens de programação populares atualmente possuem bibliotecas ou funções para utilizar este protocolo.

Convenção

Nesta documentação, todas os endpoints estão apresentados da forma

METODO /caminho/do/endpoint

O 'METODO' é o método HTTP que deve ser utilizado (em geral GET). Já o '/caminho/do/endpoint' é um caminho relativo à API, que fica em https://app.sentimonitor.com/api/5.0.

Por exemplo, ao ver a seguinte declaração de endpoint

GET /indicators

deve ser feita uma requisição usando o método GET no endereço 'https://app.sentimonitor.com/api/5.0/indicators' (detalhes sobre o endpoint /indicators serão feitos abaixo).

Amigável à Navegadores

Para facilitar o aprendizado, os endpoints da API que usam o método HTTP GET podem ser usados diretamente através do navegador de internet (como o Google Chrome ou Firefox). Basta acessar o endereço completo do endpoint, e utilizar como nome de usuário o seu endereço de nome de usuário ou email, e como senha a api_key de acesso (para detalhes, veja 'Autenticação').

Por default, as APIs retornam JSON compactado, para reduzir o tamanho total da resposta. Para ajudar na depuração, você pode adicionar o parâmetro pretty nas URLs, o que fará o output ser formatado para facilitar a leitura. Por exemplo, o endpoint /monitorings lista os seus monitoramentos. Para visualizar no navegador, você pode acessar:

https://app.sentimonitor.com/api/5.0/monitorings?pretty

HTTPS

Todas as requisições são protegidas através de HTTPS, impedindo que seus dados sejam capturados ao transitar pela internet.

Os certificados utilizados pelo Sentimonitor são assinados pelo Let’s Encrypt. Portanto, a linguagem ou biblioteca que você utilizar para conectar à API do Sentimonitor deve reconhecer tais certificados. Versões recentes dessas bibliotecas em diversas linguagens já suportam esses certificados, e nada precisa ser feito em relação a isso (consulte mais em https://letsencrypt.org/docs/certificate-compatibility/). Versões mais antigas podem precisar ser atualizadas ou de alguma configuração nesse sentido. Infelizmente, não podemos prover suporte à todas as linguagens disponíveis no mercado.

Autenticação

Todas as requisições à API devem ser autenticadas através do método Basic Access Authentication. Em resumo, você precisa adicionar um cabeçalho HTTP à requisição com as informações que descrevem a sua conta. O cabeçalho tem o seguinte formato:

Authorization: Basic {string de autenticação}

Neste cabeçalho, o 'string de autenticação' é construido da seguinte forma

string_de_autenticacao = base64( username + ":" + api_key )

O username é o nome de usuário (em geral, o email) utilizado para acessar a plataforma Sentimonitor. A api_key atualmente é fornecida individualmente para cada cliente do Sentimonitor. Por favor, entre em contato com sup@sentimonitor.com para obter a api_key de sua conta.

O username e a api_key devem ser concatenados, separados por um sinal dois-pontos (":"), e o string resultante deve ser codificado em Base64.

Exemplo

Se o seu username for someone@acme.com e sua api_key for WRawMsFO4Jqo6e72gO5YqmBvqIg=, você deve fazer o encoding base64 do string someone@acme.com:WRawMsFO4Jqo6e72gO5YqmBvqIg=, que resulta em c29tZW9uZUBhY21lLmNvbTpXUmF3TXNGTzRKcW82ZTcyZ081WXFtQnZxSWc9. Esse string resultante deve ser usado nas requisições para enviar o seguinte cabeçalho HTTP:

Authorization: Basic c29tZW9uZUBhY21lLmNvbTpXUmF3TXNGTzRKcW82ZTcyZ081WXFtQnZxSWc9

cUrl

Ao utilizar o comando curl para acessar a API, é possível utilizar a opção -u como alternativa à escrever todo o cabeçalho de autorização:

curl -u 'someone@acme.com:WRawMsFO4Jqo6e72gO5YqmBvqIg=' https://app.sentimonitor.com/api/5.0/monitorings

O comando acima é equivalente ao seguinte comando:

curl -H 'Authorization: Basic c29tZW9uZUBhY21lLmNvbTpXUmF3TXNGTzRKcW82ZTcyZ081WXFtQnZxSWc9' https://app.sentimonitor.com/api/5.0/monitorings

APIs com Suporte à Filtragem

Algumas das APIs possuem suporte à Filtragem. Isso significa que os dados que a API irá retornar dependem dos filtros utilizados. Alguns dos filtros são obrigatórios, e precisam estar presentes em todas as chamadas àquela API. Outros são opcionais, e podem ser omitidos, sendo necessários apenas para realizar consultas de dados mais específicas.

Alguns exemplos de consultas que exigem o domínio dos filtros são:

  • Listagem das publicações em um período específico.
  • Listagem dos comentários em uma rede social.
  • Listagem das publicações com sentimento positivo.
  • Listagem das publicações citando termos específicos.

Todos os filtros podem ser utilizados em uma mesma chamada, e os resultados retornados respeitarão à todos, ao mesmo tempo. A combinação de diversos filtros é necessária para a realização de consultas avançadas na plataforma.

Para a consulta de todos os filtros disponíveis, consulte Filtragem. As seguintes APIs fazem uso deste recurso: GET /monitorings, GET /documents, GET /authors, GET /indicators, GET /chart.

Tratamento de Erros

Se algum erro ocorrer ao processar uma chamada na API do Sentimonitor, será retornado um objeto JSON contendo uma lista de erros detectados. Utilize as mensagens para entender o que ocorreu. Por exemplo, se houver um erro ao autenticar na API, será retornado o seguinte objeto:

{
  "errors": [
    {
      "message": "Invalid authorization"
    }
  ]
}

Referência

GET /monitorings

Retorna todos os monitoramentos visiveis ao usuário. Inclui todos os monitoramentos cadastrados pelo usuário, mais os monitoramentos que o usuário possui permissão de, pelo menos, visualização.

URL do recurso: https://app.sentimonitor.com/api/5.0/monitorings

Exemplo de chamada usando cURL:

curl -H 'Authorization: Basic c29tZW9uZUBhY21lLmNvbTpXUmF3TXNGTzRKcW82ZTcyZ081WXFtQnZxSWc9' https://app.sentimonitor.com/api/5.0/monitorings

Exemplo de retorno:

{
  "monitorings": 
  [
    {
      "id": 123,
      "title": "Meu monitoramento",
      "status": "active"
    },
    {
      "id": 234,
      "title": "Monitoramento ACME",
      "status": "paused"
    }
  ]
}

GET /documents

Retorna uma lista de documentos coletados pelo Sentimonitor, segundo os filtros informados. Por padrão, os documentos mais recentes são retornados.

Requer como parâmetro todos os filtros obrigatórios, e possui suporte a todos os filtros opcionais. Além dos filtros, suporta o parâmetro docRanking (consulte Ranking de Documentos) e offset (consulte sobre Paginação).

URL do recurso: https://app.sentimonitor.com/api/5.0/documents

Exemplo de chamada usando cURL para acessar os documentos do monitoramento 643 no período 01/dez/2016, 0h até 31/12/2016, 23:59:

curl -H 'Authorization: Basic c29tZW9uZUBhY21lLmNvbTpXUmF3TXNGTzRKcW82ZTcyZ081WXFtQnZxSWc9' https://app.sentimonitor.com/api/5.0/documents?start=2016-12-01+00%3A00&end=2016-12-31+23%3A59&monitorings=643

Exemplo de retorno usando cURL

{
  "documents": 
  [
    {
      "id": 88651015,
      "source": "TWT",
      "sourceId": "809433297587761152",
      "parentSourceId": null,
      "title": null,
      "text": "NOVA FUNCIONALIDADE: Análise do público alvo e grupos de interesse\nhttps://t.co/tIJf7HDlIo",
      "imageUrl": null,
      "url": "http://twitter.com/129646722/status/809433297587761152",
      "language": "pt",
      "sentiment": "N",
      "detectedLocations": [
        "Cidade: São Paulo/SP"
      ],
      "published": "2016-12-15T14:21:51Z",
      "downloaded": "2016-12-15T14:40:21Z",
      "metrics": [
        {
          "name": "likes",
          "value": 31
        },
        {
          "name": "shares",
          "value": 6
        }
      ],
      "author": {
        "id": 8817579,
        "source": "TWT",
        "sourceId": "129646722",
        "username": "sentimonitor",
        "name": "Sentimonitor",
        "authorUrl": "http://twitter.com/sentimonitor",
        "imageUrl": "http://pbs.twimg.com/profile_images/734722843804585984/ZAo8iABZ_normal.jpg",
        "isVerified": false,
        "about": "Pesquisa e Consumer Insights potencializados por inteligência artificial. Você sabe quais insights seu público revela na internet?",
        "declaredLocation": "Sao Paulo, Brazil",
        "metrics": [
          {
            "name": "followers",
            "value": 211
          },
          {
            "name": "following",
            "value": 432
          },
          {
            "name": "publications",
            "value": 696
          }
        ]
      }
    },
    {
      "id": 88011693,
      "source": "TWT",
      "sourceId": "806158595129769985",
      "parentSourceId": null,
      "title": null,
      "text": "Hoje fomos citados no @JC_RS. Você sabia que o setor de TI lidera fusões e aquisições no Brasil? https://t.co/BXCzfKOube",
      "imageUrl": null,
      "url": "http://twitter.com/129646722/status/806158595129769985",
      "language": "pt",
      "sentiment": "B",
      "detectedLocations": [
        "Cidade: São Paulo/SP"
      ],
      "published": "2016-12-06T13:29:21Z",
      "downloaded": "2016-12-06T14:03:49Z",
      "metrics": [
        {
          "name": "likes",
          "value": 0
        },
        {
          "name": "shares",
          "value": 0
        }
      ],
      "author": {
        "id": 8817579,
        "source": "TWT",
        "sourceId": "129646722",
        "username": "sentimonitor",
        "name": "Sentimonitor",
        "authorUrl": "http://twitter.com/sentimonitor",
        "imageUrl": "http://pbs.twimg.com/profile_images/734722843804585984/ZAo8iABZ_normal.jpg",
        "isVerified": false,
        "about": "Pesquisa e Consumer Insights potencializados por inteligência artificial. Você sabe quais insights seu público revela na internet?",
        "declaredLocation": "Sao Paulo, Brazil",
        "metrics": [
          {
            "name": "followers",
            "value": 211
          },
          {
            "name": "following",
            "value": 432
          },
          {
            "name": "publications",
            "value": 696
          }
        ]
      }
    }
  ],
  "total": 2,
  "offset": 0
}

Ranking de Documentos: por padrão, a API GET /documents retorna os documentos mais recentemente capturados. Para obter os documentos por diferentes critérios de ordenação, utilize o parâmetro docRanking com um dos seguintes valores:

  • interactions: ordena os documentos pelo número de interações (a publicação com maior número de interações é retornada na primeira posição).
  • likes: ordena os documentos pelo número de curtidas (a publicação que recebeu o maior número de curtidas é retornada na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à FCP, FCB, FCG, TWT, ITG, ITB, YTB ou NTC.
  • comments: ordena os documentos pelo número de comentários (a publicação com maior número de comentários é retornada na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à FCP, FCB, FCG, ITG, ITB, YTB ou NTC.
  • shares: ordena os documentos pelo número de compartilhamentos (a publicação que foi compartilhamenta/retuitada mais vezes é retornada na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à FCP, FCB, FCG, TWT, ou NTC.
  • impressions: ordena os documentos pelo número de impressões estimado (a publicação com maior número de impressões estimado é retornada na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à TWT, ITG ou ITB.
  • followers: ordena os documentos pelo número de seguidores do autor (a publicação cujo autor tenha o maior número de seguidores é retornada na primeira posição). Quando a mídia vier do YouTube, considera-se o número de assinantes do canal. Esta opção só está disponível se o filtro opcional viewSource for igual à TWT, ITG, ITB ou YTB.

Paginação: a API GET /documents retorna, por padrão, as mensagens mais recentes no monitoramento. Para acessar as mensagens mais antigas, a API suporta o parâmetro offset, que permite informar o número de mensagens a ignorar dentro do total de mensagens filtradas.

Por exemplo, considere que a chamada à API GET /documents indique um total de 100 documentos (consulte o campo total no retorno da API). Também considere que, ao fazer a primeira chamada nesta API, seja retornado um total de 25 (número de mensagens no campo documents). Para o capturar as 75 mensagens restantes, serão necessárias outras 3 chamadas à API (totalizando 4 chamadas). A segunda chamada deverá incluir o parâmetro offset=25, a terceira chamada deverá incluir o parâmetro offset=50, e a quarta chamada deverá incluir o parâmetro offset=75. Observe que, a cada chamada, o parâmetro offset é setado para o número total de mensagens capturadas nas chamadas anteriores.

O parâmetro deve ser sempre um número maior ou igual a zero. Quando for igual a zero, a chamada é equivalente à mesma chamada sem a inclusão do parâmetro offset. Se offset for maior que o número total de mensagens (campo total na resposta da API), o campo documents na resposta da API terá uma lista vazia.

Campos de retorno: a API GET /documents retorna um objeto com os seguintes campos:

  • documents: lista com as mensagens retornadas. Por padrão, serão retornadas apenas as mensagens mais recentes que atendam aos filtros indicados (consulte Paginação para detalhes de como acessar as mensagens mais antigas). Cada objeto nesta lista representa uma mensagem, e possui os seguintes campos:
    • id: identificador único da mensagem na plataforma Sentimonitor.
    • source: código da rede onde a mensagem foi capturada. Consulte a lista de fontes para detalhes.
    • sourceId: identificador único da mensagem na plataforma onde a mensagem foi capturada. Em alguns casos pode ser usado em chamadas diretas na API da rede onde foi capturada. Por exemplo, no caso do Twitter, o sourceId é o ID do Tweet.
    • parentSourceId: ao lidar com conversas, onde uma mensagem pode ser a resposta à outra, o parentSourceId identifica o sourceId da mensagem que esta mensagem está respondendo. Se esta mensagem não for uma resposta à outra, o valor deste campo será null.
    • title: em mensagens com título e textos separados (notícias, por exemplo), contém o título da mensagem. Quando a mensagem for simples (sem título, como Tweets), será igual a null.
    • text: contém o texto da mensagem.
    • imageUrl: contém uma URL para imagem decorativa da mensagem, se disponível, ou null. Como exemplos de mensagens com imagem decorativa, incluem:
      • URL para uma foto de uma publicação no Instagram;
      • URL para imagem compartilhada no Twitter;
      • URL para imagem ilustrativa de um vídeo no YouTube.
    • url: link para a publicação original na rede ou site em que foi publicada.
    • language: código identificador da lingua em que a mensagem foi escrita. Consulte a lista de linguagens suportadas para detalhes.
    • sentiment: último sentimento definido na publicação. Consulte a lista de sentimentos para detalhes.
    • detectedLocations: lista de localidades detectadas na postagem e/ou autor. A lista pode ter nenhuma entrada se não for possível detectar nenhuma localidade, ou várias entradas se mais de uma for encontrada. Cada localidade pode ser uma cidade, estado, região do país, ou nome do país. Este campo pode incluir a localidade indicada pelo autor da mensagem no campo declaredLocation.
    • published: data e hora de publicação da mensagem, em formato ISO 8601.
    • downloaded: data e hora em que a mensagem foi capturada pela plataforma Sentimonitor, em formato ISO 8601.
    • metrics: lista de métricas da mensagem. Cada item desta lista é um objeto com campos name (nome da métrica) e value (valor numérico da metrica). Exemplos de métricas são likes (número de curtidas), comments (número de comentários nesta mensagem) e shares (número de compartilhamentos da mensagem). Outras métricas podem ser incluidas nesta lista em futuras atualizações da plataforma.
    • author: objeto contendo detalhes sobre o perfil ou site que publicou a mensagem. Este objeto possui os seguintes campos:
      • id: identificador único do autor na plataforma Sentimonitor. Observe que este número não possui relação com o id da mensagem, e possívelmente será diferente.
      • source: código da rede do autor onde a mensagem foi capturada. Na maioria dos casos, é igual ao código da rede da mensagem. Consulte a lista de fontes para detalhes.
      • sourceId: identificador único do autor da mensagem na plataforma onde a mensagem foi capturada. Em alguns casos pode ser usado em chamadas diretas na API da rede onde foi capturada. Por exemplo, no caso do Twitter, o sourceId é o ID do perfil no Twitter.
      • username: nome do usuário na rede social. Em algumas redes (Twitter e Instagram, por exemplo), é o arroba do perfil.
      • name: nome próprio do perfil, quando disponível.
      • authorUrl: link para o perfil do autor na rede, quando disponível.
      • imageUrl: link para a imagem/foto de perfil do autor da mensagem.
      • isVerified: valor boleano indicando se o perfil foi verificado pela rede onde foi capturado.
      • personalUrl: link pessoal indicado no perfil do autor (em geral, aponta o site pessoal ou outra rede social do mesmo autor).
      • about: texto com a descrição pessoal do perfil do autor, quando disponível.
      • declaredLocation: contém o texto do campo de localização do perfil do autor, conforme preenchido pelo próprio. Pode ser igual a null se o autor não preencher este campo no perfil da rede social. Observe que este local nem sempre irá corresponder à uma localidade real. Se a plataforma identificar um nome real de localização neste campo, o nome da localidade será incluido também no campo detectedLocations.
      • metrics: lista de métricas do autor da mensagem. Cada item desta lista é um objeto com campos name (nome da métrica) e value (valor numérico da metrica). Exemplos de métricas são followers (número de seguidores do perfil), following (número de perfis que este autor segue) e publications (número de publicações/mensagens que este perfil já publicou no tempo de vida de sua conta). Outras métricas podem ser incluidas nesta lista em futuras atualizações da plataforma.
  • total: quantidade total de mensagens que atendem aos critérios indicados no filtro da chamada à API.
  • offset: quantidade de mensagens ignoradas através do parâmetro offset (consulte Paginação para detalhes).

POST /monitorings/{monitoring-id}/documents

Inclui os documentos na plataforma, no monitoramento indicado.

Requer como parâmetro o ID do monitoramento onde as publicações serão incluidas.

URL do recurso: https://app.sentimonitor.com/api/5.0/monitorings/{monitoring-id}/documents

Exemplo de chamada usando cURL para incluir os documentos do monitoramento 643:

curl -X POST -H 'Authorization: Basic c29tZW9uZUBhY21lLmNvbTpXUmF3TXNGTzRKcW82ZTcyZ081WXFtQnZxSWc9' 'https://app.sentimonitor.com/api/5.0/monitorings/643/documents' --data '{
  "documents": 
  [
    {
      "source": "RVW",
      "sourceId": "809433297587761152",
      "parentSourceId": null,
      "text": "O SentiMonitor é uma plataforma incrível, e o time de suporte se superou quando pedi ajuda! Recomendo!",
      "language": "pt",
      "sentiment": "B",
      "detectedLocations": [
        "Cidade: São Paulo/SP"
      ],
      "published": "2019-09-29T14:30:30Z",
      "downloaded": "2019-09-29T14:30:30Z",
      "url": "https://twitter.com/sentimonitor/status/1301883193453244417",
      "metrics": [
        {
          "name": "score",
          "value": 10
        }
      ],
      "tags": ["Campanha_Contratação", "Campanha_Combo"],
      "author": {
        "source": "RVW",
        "sourceId": "129646722",
        "username": "Hugo Pinto",
        "annotations": [
          {"name": "Estado Civil", "value": "Casado"},
          {"name": "UF", "value": "SP"}
        ]
      }
    },
    {
      "source": "RVW",
      "sourceId": "806158595129769985",
      "text": "O SentiMonitor parece muito bom, mas não entendi como funciona uma parte dele.",
      "language": "pt",
      "sentiment": "R",
      "detectedLocations": [
        "Cidade: São Paulo/SP"
      ],
      "published": "2020-06-15T10:10:21Z",
      "downloaded": "2020-06-15T10:10:21Z",
      "url": "https://twitter.com/sentimonitor/status/1301883193453244417",
      "metrics": [
        {
          "name": "score",
          "value": 8
        }
      ],
      "author": {
        "source": "RVW",
        "sourceId": "129646722",
        "username": "Hugo Pinto",
        "annotations": [
          {"name": "Estado Civil", "value": "Casado"},
          {"name": "UF", "value": "SP"}
        ]
      }
    }
  ]
}'

Exemplo de retorno da API

{
  "accepted": true,
  "documents": 2
}

Campos de retorno: a API POST /monitorings/{monitoring-id}/documents retorna um objeto com os seguintes campos:

  • accepted: boleano com o valor true, indicando que os documentos foram importados com sucesso. Em caso de erros, será retornado um objeto do tipo Erro.
  • documents: número total de documentos importados pela API. Observe que, após a API retornar um sucesso para a importação de documentos, pode levar alguns instantes para que os documentos sejam exibidos na plataforma ou sejam retornados pela API GET /documents.

GET /authors

Retorna um ranking com os principais autores associados aos documentos coletados pelo Sentimonitor. Os autores retornados são únicos, e são autores de documentos selecionados pelos filtros informados.

Requer como parâmetro todos os filtros obrigatórios, e possui suporte a todos os filtros opcionais. Também suporta o parâmetro authorRanking (consulte Ranking de Autores) e offset para acessar outros autores que não apareçam nesta lista (a paginação de autores funciona da mesma forma que a Paginação de Documentos).

Atualmente, esta API pode calcular até o limite de 200 principais autores para um dado Ranking.

URL do recurso: https://app.sentimonitor.com/api/5.0/authors

Exemplo de chamada usando cURL para acessar os autores do monitoramento 643 no período 01/dez/2016, 0h até 31/12/2016, 23:59:

curl -H 'Authorization: Basic c29tZW9uZUBhY21lLmNvbTpXUmF3TXNGTzRKcW82ZTcyZ081WXFtQnZxSWc9' https://app.sentimonitor.com/api/5.0/authors?start=2016-12-01+00%3A00&end=2016-12-31+23%3A59&monitorings=643

Exemplo de retorno:

{
  "authors": 
  [
    {
      "id": 8722129,
      "source": "TWT",
      "sourceId": "42502069",
      "username": "profdrpassos",
      "name": "Alfredo Passos",
      "authorUrl": "https://twitter.com/profdrpassos",
      "imageUrl": "http://pbs.twimg.com/profile_images/813422968919486464/vYV5cLVY_normal.jpg",
      "isVerified": false,
      "personalUrl": "https://about.me/alfredopassos",
      "about": "Competitive Intelligence:the only way to success.",
      "declaredLocation": null,
      "metrics":
      [
        {
          "name": "followers",
          "value": 2371
        },
        {
          "name": "following",
          "value": 1517
        },
        {
          "name": "publications",
          "value": 88807
        }
      ]
    },
    {
      "id": 8817579,
      "source": "TWT",
      "sourceId": "129646722",
      "username": "sentimonitor",
      "name": "Sentimonitor",
      "authorUrl": "http://twitter.com/sentimonitor",
      "imageUrl": "http://pbs.twimg.com/profile_images/734722843804585984/ZAo8iABZ_normal.jpg",
      "isVerified": false,
      "personalUrl": "https://www.sentimonitor.com/",
      "about": "Sentimonitor é uma plataforma de Inteligência Artificial para extração de Insights de Big Data. Você sabe quais insights seu público revela na internet?",
      "declaredLocation": null,,
      "metrics":
      [
        {
          "name": "followers",
          "value": 220
        },
        {
          "name": "following",
          "value": 403
        },
        {
          "name": "publications",
          "value": 697
        }
      ]
    }
  ],
  "total": 2,
  "offset": 0,
  "count": 2
}

Ranking de Autores: por padrão, a API GET /authors retorna uma lista com os autores que mais tiveram publicações de acordo com os filtros indicados. Para alterar a forma como os autores são ordenados, use o parâmetro authorRanking com um dos seguintes valores:

  • interactions: ordena os autores pelo número total de interações em suas postagens filtradas (o autor com maior número de interações somando todas as publicações filtradas é retornado na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à FCP, FCB, FCG, TWT, ITG, ITB, YTB ou NTC.
  • likes: ordena os autores pelo número total de curtidas em suas postagens filtradas (o autor com maior número de curtidas somando todas as publicações filtradas é retornado na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à FCP, FCB, FCG, TWT, ITG, ITB, YTB ou NTC.
  • comments: ordena os autores pelo número total de comentários em suas postagens filtradas (o autor com maior número de comentários somando todas as publicações filtradas é retornado na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à FCP, FCB, FCG, ITG, ITB, YTB ou NTC.
  • shares: ordena os autores pelo número total de compartilhamentos em suas postagens filtradas (o autor com maior número de compartilhamentos somando todas as publicações filtradas é retornado na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à FCP, FCB, FCG, TWT, ou NTC.
  • impressions: ordena os autores pelo número total de impressões estimadas em suas postagens filtradas (o autor com maior número de impressões estimadas somando todas as publicações filtradas é retornado na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à TWT, ITG ou ITB.
  • followers: ordena os autores pelo número de seguidores (o autor com maior número de seguidoresé retornado na primeira posição). Esta opção só está disponível se o filtro opcional viewSource for igual à TWT, ITG, ITB ou YTB.

Campos de retorno: a API GET /authors retorna um objeto com os seguintes campos:

  • authors: lista com a os principais autores retornados. Cada objeto nesta lista representa um autor, e possui os seguintes campos:
    • id: identificador único do autor na plataforma Sentimonitor.
    • source: código da rede do autor onde a mensagem foi capturada. Consulte a lista de fontes para detalhes.
    • sourceId: identificador único do autor da mensagem na plataforma onde a mensagem foi capturada. Em alguns casos pode ser usado em chamadas diretas na API da rede onde foi capturada. Por exemplo, no caso do Twitter, o sourceId é o ID do perfil no Twitter.
    • username: nome do usuário na rede social. Em algumas redes (Twitter e Instagram, por exemplo), é o arroba do perfil.
    • name: nome próprio do perfil, quando disponível.
    • authorUrl: link para o perfil do autor na rede, quando disponível.
    • imageUrl: link para a imagem/foto de perfil do autor da mensagem.
    • isVerified: valor boleano indicando se o perfil foi verificado pela rede onde foi capturado.
    • personalUrl: link pessoal indicado no perfil do autor (em geral, aponta o site pessoal ou outra rede social do mesmo autor).
    • about: texto com a descrição pessoal do perfil do autor, quando disponível.
    • declaredLocation: quando disponível, contém o texto do campo de localização do perfil do autor, conforme preenchido pelo próprio. Observe que este local nem sempre irá corresponder à uma localidade real.
    • metrics: lista de métricas do autor da mensagem. Cada item desta lista é um objeto com campos name (nome da métrica) e value (valor numérico da metrica). Exemplos de métricas são followers (número de seguidores do perfil), following (número de perfis que este autor segue) e publications (número de publicações/mensagens que este perfil já publicou no tempo de vida de sua conta). Outras métricas podem ser incluidas nesta lista em futuras atualizações da plataforma.
  • total: quantidade total de mensagens que atendem aos critérios indicados no filtro da chamada à API.
  • offset: quantidade de mensagens ignoradas através do parâmetro offset (consulte Paginação para detalhes).
  • count: número de autores retornados nessa chamada de API.

GET /indicators

Retorna diversos indicadores associados aos documentos filtrados.

Requer como parâmetro todos os filtros obrigatórios, e possui suporte a todos os filtros opcionais. Consulte a seção Filtragem para detalhes.

Os indicadores retornados são exatamente os mesmos exibidos na interface Web do Sentimonitor, e são controlados através do filtro viewSource. Consulte a documentação deste filtro para detalhes.

URL do recurso: https://app.sentimonitor.com/api/5.0/indicators

Exemplo de retorno:

{
  "indicators": 
  [
    {
      "name": "posts",
      "currentValue": 327,
      "previousValue": 996
    },
    {
      "name": "replication",
      "currentValue": 28,
      "previousValue": 105
    },
    {
      "name": "avgReplicationPerPost",
      "currentValue": 0.09491525423728814,
      "previousValue": 0.12946979038224415
    },
    {
      "name": "overallEngagement",
      "currentValue": 272,
      "previousValue": 2912
    },
    {
      "name": "wgtAvgEngagementPerPost",
      "currentValue": 107.25324675324676,
      "previousValue": 645.0129589632829
    },
    {
      "name": "postImpressions",
      "currentValue": 11394561,
      "previousValue": 32069387
    },
    {
      "name": "avgImpressionsPerPost",
      "currentValue": 38495.1385135135,
      "previousValue": 37508.0549707602
    }
  ]
}

Campos de retorno: a API GET /indicators retorna um objeto com o campo indicators. Esse campo é uma lista de objetos, onde cada objeto dessa lista possui os seguintes campos:

  • name: nome do indicador.
  • currentValue: valor do indicador para o período indicado nos filtros.
  • previousValue: valor do indicador no período anterior, para comparação. O período anterior é definido por um período de igual duração ao período indicado nos filtros, mas que termina no momento anterior o início do período indicado nos filtros. Por exemplo, se os filtros indicarem um período entre 01/jan/2021 0:00 e 31/jan/2021 23:59, o período anterior será de 01/dez/2020 0:00 e 31/dez/2020 23:59.

Indicadores Disponíveis: a plataforma possui diversos indicadores. Porém, alguns deles só são calculados em um contexto em que fazem sentido. Por exemplo, não é possível calcular os compartilhamentos em uma rede onde esse indicador não está disponível (como o Instagram).

O contexto é definido pelo filtro viewSource, que pode ser informado na chamada da API. Quando esse parâmetro não é informado, os seguintes indicadores são retornados:

  • posts: informa o número total de mensagens nos filtros indicados.
  • replication: informa o número de compartilhamentos de publicações no Facebook, somado com o número de Retweets no Twitter.
  • avgReplicationPerPost: contém a replicação média por post.
  • interactions: informa o número total de interações nas postagens do Facebook, Twitter, Instagram e YouTube. Por questões de compatibilidade, esse indicador está replicado no indicador overallEngagement.
  • wgtAvgEngagementPerPost: média ponderada de interações por mensagem. Para detalhes de como é calculado, consulte o manual da plataforma.
  • postImpressions: número total de impressões nas publicações. Para detalhes de como é calculado, consulte o manual da plataforma.
  • avgImpressionsPerPost: número médio de impressões por publicação. Para detalhes de como é calculado, consulte o manual da plataforma.

Quando o parâmetro viewSource é informado, diferentes conjuntos de indicadores são retornados. Para cada uma das fontes que possuem indicadores específicos, estes são os indicadores retornados pela API:

  • FCB:
    • posts: informa o número total de mensagens nos filtros indicados.
    • likes: informa o número total de curtidas nas mensagens filtradas.
    • shares: informa o número de compartilhamentos das mensagens filtradas.
    • comments: informa o número de comentários nas mensagens filtradas.
  • FCG:
    • posts: informa o número total de mensagens nos filtros indicados.
    • likes: informa o número total de curtidas nas mensagens filtradas.
    • shares: informa o número de compartilhamentos das mensagens filtradas.
    • comments: informa o número de comentários nas mensagens filtradas.
    • avgLikesPerPost: número médio de curtidas nas postagens.
    • avgCommentsPerPost: número médio de comentários nas postagens.
    • avgSharesPerPost: número médio de compartilhamentos das postagens.
  • FCP:
    • posts: informa o número total de mensagens nos filtros indicados.
    • likes: informa o número total de curtidas nas mensagens filtradas.
    • shares: informa o número de compartilhamentos das mensagens filtradas.
    • comments: informa o número de comentários nas mensagens filtradas.
    • facebookEngagement: numero total de interações (curtidas, comentários e compartilhamentos) nas postagens filtradas.
    • fanPageLikes: número total de fãs nas páginas responsáveis pelas publicações filtradas.
    • fanPageTalking: soma do indicador Falando sobre isso (*People Talking About*) em todas as páginas responsáveis pelas publicações filtradas.
  • ITB e ITG:
    • posts: informa o número total de mensagens nos filtros indicados.
    • likes: informa o número total de curtidas nas mensagens filtradas.
    • comments: informa o número de comentários nas mensagens filtradas.
    • postImpressions: número estimado de impressões das publicações filtradas.
    • avgLikesPerPost: número médio de curtidas nas postagens.
    • avgCommentsPerPost: número médio de comentários nas postagens.
    • avgEngagementPerPost: número médio de interações (curtidas e comentários) nas publicações.
    • avgImpressionsPerPost: número médio de impressões estimado por publicação.
  • NTC:
    • posts: informa o número total de notícias nos filtros indicados.
    • likes: informa o número total de curtidas nas mensagens filtradas. Este número é estimado a partir de ferramentas públicas das redes sociais, e pode não refletir o número real, o qual pode ser maior por conta de variações na URL compartilhada pelos usuários.
    • shares: informa o número de compartilhamentos das mensagens filtradas. Este número é estimado a partir de ferramentas públicas das redes sociais, e pode não refletir o número real, o qual pode ser maior por conta de variações na URL compartilhada pelos usuários.
    • comments: informa o número de comentários nas mensagens filtradas. Este número é estimado a partir de ferramentas públicas das redes sociais, e pode não refletir o número real, o qual pode ser maior por conta de variações na URL compartilhada pelos usuários.
  • TWT:
    • tweets: número total de Tweets nos filtros indicados.
    • likes: número total de curtidas nos Tweets filtrados.
    • avgLikesPerTweet: número médio de curtidas por Tweet filtrado.
    • retweets: número total de Retweets nos Tweets filtrados.
    • avgRetweetsPerTweet: número médio de Retweets por Tweet filtrado.
    • avgEngagementPerTweet: número médio de interações (curtidas e Retweets) por Tweet filtrado.
    • impressions: número total de impressões estimados nos Tweets filtrados.
    • avgImpressionsPerTweet: número médio de impressões estimado por Tweet filtrados.
  • YTB:
    • videos: número total de vídeos nos filtros indicados.
    • likes: número total de curtidas nos vídeos filtrados.
    • avgLikesPerPost: número médio de curtidas por vídeo filtrado.
    • comments: número total de comentários nos vídeos filtrados.
    • avgCommentsPerPost: número médio de comentários por vídeo filtrado.
    • avgEngagementPerPost: número médio de interações (curtidas e comentários) por vídeo filtrado.
  • RVW:
    • reviews: número total de avaliações nos filtros indicados.
    • npsGlobalScore: NPS calculado a partir das avaliações filtradas.
    • avgNpsScore: nota média nas avaliações filtradas.

GET /chart

Permite acessar os dados dos diversos gráficos da plataforma Sentimonitor com uma única chamada de API.

Observe que esta API retorna apenas os dados númericos e textuais para a construção dos gráficos. A imagem do gráfico precisa ser gerada pelo cliente da API.

Requer como parâmetro todos os filtros obrigatórios, e possui suporte a todos os filtros opcionais. Consulte a seção Filtragem para detalhes. Além dos filtros, a API requer os seguintes parâmetros:

  • series: informa como os dados devem ser segmentados. Suporta os seguintes valores:
    • monitorings: realiza as agregações em primeiro nível por monitoramento filtrado.
    • sources: realiza as agregações em primeiro nível por fonte filtrada.
    • sentiments: realiza as agregações em primeiro nível por sentimento.
    • tags: realiza as agregações em primeiro nível por tag filtrada.
    • gender: realiza as agregações em primeiro nível por gênero.
    • languages: realiza as agregações em primeiro nível por linguagem da publicação.
    • types: realiza as agregações em primeiro nível por tipo de publicação (foto, vídeo, status, etc).
    • location_city: realiza as agregações em primeiro nível por cidade detectada nas mensagens.
    • location_state: realiza as agregações em primeiro nível por estado da federação detectado nas mensagens filtradas.
    • npsGroups: realiza as agregações em primeiro nível por classificação de nota NPS (promotor, passivo, detrator).
    • weekdayHour: série especial que força a agregação em dois níveis: dia da semana (domingo, segunda-feira, etc.) no primeiro nível, e hora do dia (0h, 1h, ..., 22h, 23h). Ao utilizar esta série, deve se utilizar o parâmetro type com o valor line. Esta série exige o parâmetro extra metric.
    • wordcloud: segmenta os dados por palavras mais citadas, retornando, para cada palavra, o número de publicações que a mencionam. Observações:
      • Ao utilizar esta série, deve se utilizar o parâmetro type com o valor pie.
      • São retornadas apenas um conjunto de, no máximo, 100 palavras mais utilizadas. Não é possível gerar a listagem de todas as palavras citadas ao menos uma vez nas mensagens.
    • emojicloud: segmenta os dados por Emojis mais utilizados, retornando, para cada Emoji, o número de publicações que o utilizaram. Observações:
      • Ao utilizar esta série, deve se utilizar o parâmetro type com o valor pie.
      • São retornadas apenas um conjunto de, no máximo, 100 emojis mais utilizadas. Não é possível gerar a listagem de todos os Emojis citadas ao menos uma vez nas mensagens.
  • type: informa o tipo de gráfico que se quer construir. A API utiliza este tipo para decidir como fazer a agregação dos dados a serem retornados. Suporta os seguintes valores:
    • pie: faz a agregação dos dados em um único nível, segmentando por tipo de série escolhida (parâmetro series).
    • bar: faz a agregação dos dados em dois níveis. O primeiro nível é definido pela série escolhida (parâmetro series). O segundo nível é feito pelo sentimento das mensagens.
    • line: faz a agregação dos dados em dois níveis. O primeiro nível é definido pela série escolhida (parâmetro series). O segundo nível é feito dividindo o período total em subsegmentos.
    • list: faz a agregação em um único nível, mas por termos utilizados.
  • metric: além dos parâmetros obrigatórios acima, a API suporta, opcionalmente o parâmetro metric para indicar o valor que será agregado para gerar os gráficos. Os seguintes valores são suportados:

    • posts: realiza as agregações pelo número de postagens. Ou seja, cada ponto no gráfico representa o número de postagens daquela série e segmentação de segundo nível (sentimento ou período). É o valor padrão quando o parâmetro metric não é informado.
    • comments: realiza as agregações pelo número de comentários nas postagens.
    • likes: realiza as agregações pelo número de curtidas.
    • shares: realiza as agregações pelo número de compartilhamentos.
    • interactions: realiza as agregações pelo número de interações.
    • fans: realiza as agregações pelo número de fans nas páginas do Facebook das postagens filtradas.
    • talking: realiza as agregações pelo indicador Falando sobre isso (*People Talking About*) nas páginas do Facebook das postagens filtradas.

URL do recurso: https://app.sentimonitor.com/api/5.0/chart

Exemplo de retorno com os parâmetros series=sources e type=bar:

{
  "type": "bar",
  "metric": "posts",
  "series": "sources",
  "seriesData": [
    {
      "id": "TWT",
      "title": "Twitter",
      "dataPoints": [
        {
          "id": "B",
          "label": "Positivo",
          "value": 17958
        },
        {
          "id": "N",
          "label": "Neutro",
          "value": 21717
        },
        {
          "id": "R",
          "label": "Negativo",
          "value": 27409
        }
      ]
    },
    {
      "id": "ITB",
      "title": "Instagram Business",
      "dataPoints": [
        {
          "id": "B",
          "label": "Positivo",
          "value": 1235
        },
        {
          "id": "N",
          "label": "Neutro",
          "value": 1245
        },
        {
          "id": "R",
          "label": "Negativo",
          "value": 612
        }
      ]
    },
    {
      "id": "YTB",
      "title": "YouTube",
      "dataPoints": [
        {
          "id": "B",
          "label": "Positivo",
          "value": 692
        },
        {
          "id": "N",
          "label": "Neutro",
          "value": 2296
        },
        {
          "id": "R",
          "label": "Negativo",
          "value": 259
        }
      ]
    }
  ]
}

Filtragem

Diversos endpoints da API do Sentimonitor requerem como parâmetros de requisição os filtros, que limitam a quais dados a requisição abrangerá. Filtros comuns incluem o período das postagens que devem ser consideradas, a rede social ou as tags aplicadas. Esses endpoints aceitam os parâmetros de filtros, descritos abaixo.

Os filtros devem ser submetidos como parâmetros das requisições. Os valores passados como filtros devem ser codificados para URLs (O chamado 'URL encoding'). Por exemplo, nos parâmetros que recebem uma lista, os valores devem ser separados por vírgula (,), que após ser codificada, é convertida em %2C

Filtros obrigatórios

Os seguintes filtros são obrigatórios, e precisam estar presentes em todas as requisições à endpoints que usem filtros:

  • monitorings

Lista com os IDs dos monitoramentos que devem ser considerados, separados por vírgulas (,). Por exemplo, se o monitoramento com ID = 45 deve ser considerado, utilize

monitorings=45

Já se os monitoramentos com IDs 40, 41 e 42 devam ser considerados, utilize:

monitorings=40,41,42

Que, após o 'URL Encoding', torna-se:

monitorings=41%2C42%2C43
  • start

Data e hora de inicio do período em que as postagens devem ser consideradas. Todas as postagens cuja data de publicação tenha sido igual ou posterior ao informado serão consideradas. O formato deve ser yyyy-MM-dd HH:mm. Por exemplo, para definir um período que se inicia no dia 25 de janeiro de 2016, às 10 horas e 25 minutos, utilize:

start=2016-01-25 10:25

Que, após o 'URL Encoding', torna-se:

start=2016-01-25%2010%3A25

Note que a hora deve ser informada no formato '24 horas' (por exemplo, '10' significa '10 horas da manhã', enquanto que '22' significa '10 horas da noite').

  • end

Data e hora do fim do período em que as postagens devem ser consideradas. Todas as postagens cuja data de publicação tenha sido igual ou anterior ao informado serão consideradas. O formato deve ser yyyy-MM-dd HH:mm. Por exemplo, para definir um período que termina em 25 de janeiro de 2016, às 23 horas, utilize:

end=2016-01-25 23:00

Que, após o 'URL Encoding', torna-se:

end=2016-01-25%2023%3A00

Note que a hora deve ser informada no formato '24 horas'. Também observe que o horário informado no filtro 'start' deve ser anterior ao informado no filtro 'end' (caso contrário, nenhuma postagem será considerada).

Filtros Opcionais

Lista com os códigos das fontes de dados que devem ser consideradas, separadas por virgula. Apenas as postagens encontradas nas redes informadas serão consideradas. Se não for informado, todas as redes serão consideradas.

O objetivo deste filtro é permitir o agrupamento de mensagens por fonte, permitindo analizar as postagens e indicadores gerais em várias redes ao mesmo tempo. Note que este filtro não permite visualizar indicadores e nem usar os rankings específicos de uma fonte específica (para estes casos, utilize o filtro viewSource).

Note que nem todas as fontes abaixo são suportadas atualmente para monitoramento, e estão disponíveis apenas para acesso a dados históricos. Os seguintes códigos são suportados:

Código | Fonte                           | Apenas Histórico
-------|---------------------------------|-----------------
  FCP  | Facebook - Páginas              | 
  ITB  | Instagram Business              | 
  TWT  | Twitter                         | 
  YTB  | Youtube                         | 
  NTC  | Notícias                        | 
  RVW  | Avaliações                      | 
  FCG  | Facebook - Grupos               |       Sim
  GPL  | Google Plus                     |       Sim
  GNW  | Google News                     |       Sim
  FCB  | Facebook - Postagens Públicas   |       Sim
  FCI  | Facebook - Perfil Individual    |       Sim
  FSQ  | FourSquare Search               |       Sim
  FSP  | FourSquare Photo Search         |       Sim
  GBL  | Google Blogs                    |       Sim
  ITG  | Instagram                       |       Sim
  LKD  | LinkedIn                        |       Sim
  OKT  | Orkut                           |       Sim
  RSS  | Feeds RSS                       |       Sim
  TMB  | Tumblr                          |       Sim
  WRP  | Wordpress                       |       Sim

Por exemplo, para considerar apenas as postagens publicadas no Facebook - Páginas ou no Twitter, inclua o parâmetro

sources=FCP,TWT

Após o 'URL Encoding', fica

sources=FCP%2CTWT
  • viewSource

ID da fonte que deve ser considerada para análise. Restringe as postagens a apenas àquelas da rede informada. Ao utilizar este filtro, é possível utilizar opções específicas da rede para ranking de postagens e autores, assim como consultar os indicadores específicos da rede informada.

Observe que, diferentemente do filtro sources, este filtro é restrito a uma única fonte. Não é possível informar várias fontes separadas por vírgula neste caso.

Todas as fontes suportadas pelo filtro sources são suportadas.

Por exemplo, para se fazer análise avançada com indicadores ou ranking do Facebook - Páginas, deve se utilizar:

source=FCP
  • query

Permite filtrar as postagens por aquelas que contenham as palavras ou frases informadas neste filtro. Com ele, é possível analizar um tópico específico, ignorando-se outras palavras. A query pode ser texto de acordo com o descrito em "Filtro por palavras", apresentado no Manual do Sentimonitor. Note que é necessário, assim como nos outros filtros, fazer o URL encoding do string de busca. Se este filtro não for informado, todas as postagens são consideradas.

Por exemplo, para fazer uma busca pelo texto cachorro AND quente, inclua o seguinte parâmetro:

query=cachorro AND quente

que, após o URL encoding, fica

query=cachorro%20AND%20quente
  • authorName

Permite filtrar as postagens por aquelas cujo nome do autor que contenham as palavras informadas. Com ele, é possivel buscar as postagens de autores com o nome informado. Se um nome for utilizado por mais de um autor, as postagens de todos esses autores serão consideradas. Se o filtro não for informado, todos os autores são considerados.

Por exemplo, para fazer uma busca pelas postagens cujos autores conhenham a palavra sentimonitor no nome, inclua o filtro:

authorName=sentimonitor
  • authorAbout

Permite filtrar as postagens por aquelas cuja descrição feita pelo autor em seu perfil contenha as palavras informadas. Por conta disso, ao ser utilizado, automaticamente restringe as postagens àquelas cujo autor tenha preenchido o campo Bio/Biografia/Sobre do seu perfil na rede social.

Por exemplo, para fazer uma buscas por autores que declararam seu interesse por futebol na descrição do perfil, inclua o filtro:

authorAbout=futebol

Lista com os sentimentos dos documentos que devem ser considerados. Cada postagem possui um sentimento atribuido de forma automática ou manual. Assim, esse filtro permite tratar apenas as postagens com determinados sentimentos. Se não for informado, será considerado todos os sentimentos.

Os Sentimentos disponíveis são os seguintes

Código | Sentimento
-------|--------------
   B   | Bom/Positivo
   N   | Neutro
   R   | Ruim/Negativo

Por exemplo, para considerar apenas as postagens Neutras ou positivas, inclua nos parâmetros o seguinte filtro

sentiments=B,N

Que, após o 'URL encoding', ficaria

sentiments=B%2CN

Lista de codigos de linguagem dos documentos. Permite filtrar os documentos por linguagem. Com ele, é possivel restringir os documentos a uma ou mais linguagens especificas. Se não for informado, todas as linguas são consideradas.

Os códigos suportados são os seguintes:

Código | Linguagem
-------------------
  de   | Alemão
  es   | Espanhol
  fr   | Francês
  en   | Inglês
  nl   | Holandês
  pt   | Portugues
  cs   | Tcheco

Por exemplo, para restringir as postagens àquelas em Portugues ou Inglês, adicione o seguinte filtro:

languages=pt,en

Após fazer o 'URL Encoding', fica:

languages=pt%2Cen
  • tags

Lista com os IDs das tags que devem ser consideradas, separados por virgulas. Apenas os documentos com ao menos uma das tags informadas serão considerados. Por padrão, se esse filtro não for incluido, todas as tags cadastradas serão consideradas. Assim, este filtro é relevante no caso de desconsiderar postagens baseado nas tags.

Por exemplo, se desejar considerar apenas os documentos com as tags 51, 52 ou 53, inclua o parâmetro:

tags=51,52,53

Após o 'URL encoding', torna-se:

tags=51%2C52%2C53
  • ignoreTags

Lista com os IDs das tags que não devem ter sido aplicadas, separados por virgulas. Apenas as postagens que não contenham nenhuma das tags informadas nesse filtros serão considerados. Por padrão, se esse filtro não for informado, nenhuma tag será considerada. Dessa forma, esse filtro é relevante para desconsiderar postagens baseados em suas tags.

Por exemplo, para desconsiderar as postagens que tenham as tags 54, 55 nem 56, adicione o parâmetro

ignoreTags=54,55,56

Após o 'URL encoding', torna-se:

ignoreTags=54%2C55%2C56
  • tagExpression

Permite fazer filtragem de documentos com base em expressões com as tags. Qualquer expressão por tags suportada pelo filtro de Taga avançado (consulte o item 'Filtragem por Tags' no Manual do Sentimonitor). Se não for informado, todos as tags serão consideradas.

Este filtro possui prioridade sobre os filtros tags e ignoreTags. Portanto, se for utilizado, estes outros filtros serão ignorados.

Por exemplo, se desejar considerar todas as postagens que tenham as tags 'SAC' ou 'SPAM', inclua o seguinte parâmetro:

tagExpression='SAC' | 'SPAM'

que, após aplicar o 'URL encoding', torna-se:

tagExpression=%27SAC%27%20%7C%20%27SPAM%27
  • authors

Lista com os IDs dos autores que devem ser considerados, separados por virgulas. Apenas as postagens dos autores informados nesse filtro serão considerados. Por padrão, se esse filtro não for informado, todos os autores serão considerados. Assim, esse filtro é relevante para avaliar a postagem de um grupo de autores específico.

Por exemplo, para considerar apenas as postages dos autores com ID 62 e 63, adicione o parâmetro

authors=62,63

Após o 'URL encoding', torna-se

authors=62%2C63
  • authorTags

Lista com os IDs de tags aplicadas em autores que devem ser considerados. Apenas as postagens cujos autores tenham as tags informadas nesse filtro serão consideradas. Por padrão, se esse filtro não for informado, todas as tags de autores serão consideradas. Dessa forma, esse filtro é relevante para avaliar as postagens baseado nas tags aplicadas aos seus autores.

  • onlyVerifiedAuthors

Booleano indicando se apenas as postagens de autores verificados ou não verificados devem ser consideradas. Se utilizado, apenas os autores com status verificado igual ao informado serão considerado. Se não for informado, todos os autores serão considerados. Suporta os valores true ou false.

Por exemplo, para considerar apenas as postagens de autores verificados, inclua o filtro

onlyVerifiedAuthors=true
  • onlyWithPersonalUrl

Booleano indicando se apenas as postagens de autores com url de site pessoal devam ser consideradas ou não. Se utilizado com o valor true, apenas postagens de autores com URL pessoal serão considerados. Se for usado com o valor false, apenas autores sem URL pessoal serão considerados. Se não for informado, todos os autores são considerados.

Por exemplo, para filtrar as postagens apenas de autores com URL de perfil pessoal, inclua o parâmetro

onlyWithPersonalUrl=true
  • contributors

Lista com os IDs de revisores que devem ser considerados. Apenas postagens que tenham sido revisadas pelos usuários informados serão considerados. Por padrão, todos os revisores que trabalharam em qualquer um dos monitoramentos informados (ver filtro monitorings) serão considerados. Com isso, esse filtro é relevante para as postagens em que um ou mais revisores trabalharam (por exemplo, em um processo de auditoria).

Para mais detalhes sobre o processo de revisão, veja "Revisão das Postagens e Autores" no Manual do Usuário Sentimonitor.