Toggle navigation
  • Área restrita
  • Home
  • Sobre
  • API
  • Feed
  • Casos de Uso
  • Estatísticas

Desenvolvedores

API 2.0

O CaUMa possui uma API REST que permite que outros aplicativos possam interagir com o serviço de forma bem definida. Podendo ser utilizada na integração com ferramenta de proteção dos usuários, como anti-spam.


Funcionalidades

  • Autenticação dos usuários da API
  • Requisição feita via HTTP POST
  • Dados transmitidos utilizando formato JSON
  • Possibilidade de consultar múltiplas numa única requisição
  • Download da lista de URLs com possibilidade de filtros

Consulta

Uma consulta deve ser realizada para o endereço https://cauma.pop-ba.rnp.br/api/v2.0/find utilizando o método HTTP POST com os seguintes dados:

  • Cabeçalho HTTP indicando que o conteúdo possui formato JSON
  • Content-Type: application/json
  • Conteúdo da mensagem HTTP contendo objeto JSON com informações de autenticação do usuário e uma lista de URLs a serem analisadas.
  • {
        "client": {
            "clientLogin": <login>,
            "clientKey": "<key>"
        },
        "threatEntries": ["<URL1>","<URL2>","<URL3>"]
    }

Resposta

Já as consultas autenticadas com sucesso receberão uma resposta HTTP com status 200. O conteúdo da resposta é um objeto JSON com uma lista com true para as URLs encontradas e false para as URLs não encontradas, cada item da lista corresponde a uma URL submetida na consulta.

{
    "data": {
        "threatResults": [true, false, true]
    }
}

Exemplos

HTTPie

Criar arquivo consulta.json no formato descrito na seção acima e executar o seguinte comando.

$ http https://cauma.pop-ba.rnp.br/api/v2.0/find < consulta.json

Python
import requests
import json

def run_post():
    url = 'https://cauma.pop-ba.rnp.br/api/v2.0/find'
    headers = {"Content-Type": "application/json"}
    data = {
           "client": {"clientLogin": <login>, "clientKey": "<key>"},
           "threatEntries": ["<URL1>","<URL2>","<URL3>"]
           }

    return requests.post(url, json=data, headers=headers)

print json.dumps(run_post().json())

cURL

Criar arquivo consulta.json no formato descrito na seção acima e executar o seguinte comando.

$ curl -i -H "Accept: application/json"            \
          -H "Content-Type: application/json"      \
          -X POST -d "$(cat consulta.json)"        \
           https://cauma.pop-ba.rnp.br/api/v2.0/find

Download

É possível baixar as URLs contidas na base do CaUMa para consulta local. Para isso, uma consulta deve ser realizada para o endereço https://cauma.pop-ba.rnp.br/api/v2.0/download utilizando o método HTTP POST e os dados de autenticação no corpo da requisição. Opcionalmente, é possível limitar o conjunto de dados retornados através dos parâmetros abaixo:

  • page - utilizado para controlar a paginação do conjunto de dados retornado, os valores aceitos são números inteiros.
  • limit - define o número máximo de URLs retornadas, os valores aceitos são números inteiros.
  • start - restringe o conjunto de dados a URLs inseridas a partir da data especificada, aceita o formato de data definido na RFC 3339, sendo o horário opcional (e.g. 1996-12-19 ou 1996-12-19T16:39:57-08:00).
  • end - restringe o conjunto de dados a URLs inseridas a até da data especificada, aceita o mesmo formato de data especificado para o parâmetro start.

Resposta

O servidor retorna uma lista paginada das URLs e os dados associdos a cada uma delas. A resposta é limitada a no máximo 1000 URLs por uma questão de performance e as URLs adicionais podem ser obtidas através do parâmetro page. Os dados são ordenados pela data de inserção em ordem decrescente, assim as URLs mais recentes serão retornadas na primeira página.