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.
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
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
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.
"clientLogin": <login>,
"clientKey": "<key>"
"threatEntries": ["<URL1>","<URL2>","<URL3>"]
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.
"threatResults": [true, false, true]
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
def run_post():
url = 'https://cauma.pop-ba.rnp.br/api/v2.0/find'
"client": {"clientLogin": <login>, "clientKey": "<key>"},
return requests.post(url, json=data, headers=headers)
print json.dumps(run_post().json())
$ curl -i -H "Accept: application/json"            \
-X POST -d "$(cat consulta.json)"        \
https://cauma.pop-ba.rnp.br/api/v2.0/find
É 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.
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.