Run in Insomnia
Environment:

logo

Introdução

A interface de serviços da API público provê uma API REST para efetuar operações e consultas na base de dados sobre Ocorrências Criminais, SINESP - Ministério da Justiça. As requisições podem ser feitas diretamente através do link: crimepontodata.tk/ seguindo a formatação descrita nesta documentação.

A API possui um sistema de autenticação para maior segurança, contudo está temporariamente desabilitado para uma experiência inicial com o projeto.

Aqui você encontrará todas as informações necessárias para integrar seu sistema com a API público, CRIME.DATA. Esta documentação foi criada usando o Insomnia e a interface que consome os dados das requisições com a framework Dash (Disponível em CRIME.DATA).

Chaves de Acesso

Para conectar-se a API precisará primeiro autenticar-se com:

  • Email
  • Senha

Na rota /login, que retornará um:

  • Token

Autenticação

Usamos o jwt token como forma de autenticação. Ele deve ser passado como cabeçalho (Header) nas rotas protegidas que necessitem obrigatoriamente dele.

O JSON Web Token é um padrão da Internet para a criação de dados com assinatura opcional e/ou criptografia, cuja sua payload contém o JSON que afirma algum número de declarações. Mais informações sobre o JSON Web Token poderão ser encontradas no site jsonwebtoken.io.

Formato das Respostas

Todos os recursos suportam o envio de respostas no formato JSON. Para obter a resposta basta enviar uma requisição HTTP.

Recursos

Abaixo estão listados os recursos disponivéis pela API.

cURL

User


 

POST Cadastrar usuário

http://crimepontodata.tk/cadastro

Descrição

Recurso responsável por cadastrar e inserir um usuário no banco de dados.

Headers
Content-Type
application/json
Body json
{
  "email": "email@email.com",
  "password": "veryhardpassword"
}

Example request:
curl "http://crimepontodata.tk/cadastro" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
  "email": "email@email.com",
  "password": "veryhardpassword"
}' 
Example response:
{
  "id": 1,
  "email": "email@email.com",
  "password_hash": "$2a$08$B5XMAm1hoKmV1xACRA/DqOzkT/XTu5G9x3PFOsSURBobR4qJ0jcjW",
}

Login


 

POST Login

http://crimepontodata.tk/login

Descrição

Recurso responsável por logar o usuário no sistema e retorná-lo o token de acesso.

Headers
Content-Type
application/json
Body json
{
  "email": "email@email.com",
  "password": "veryhardpassword"
}

Example request:
curl "http://crimepontodata.tk/login" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
  "email": "email@email.com",
  "password": "veryhardpassword"
}' 
Example response:
{
  "id": 1,
  "email": "sergio.s.neto@alu.ufc.br",
  "name": "Sergio",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM"
}

Quantidades


 

GET Crimes por Ano

http://crimepontodata.tk/quantidade/crimes/:ano

Descrição

Este recurso retorna a quantidade de vítimas e ocorrências (independente da especificação dos mesmos) registradas em um dado ano ou todos os disponíveis na base.

Parâmetros

O parâmetro :ano recebe a identificação do ano, por exemplo 2020.

Headers
null
null
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM

Example request:
curl "http://crimepontodata.tk/quantidade/crimes/:ano" \
  -H 'null: null' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM' \
  -X GET 
Example response:
{
	“Ano” : 2018,
	“Vitimas” : 200
	“Ocorrencias”: 200
}
 

GET Ocorrências

http://crimepontodata.tk/quantidade/ocorrencias/:nome/:sigla

Descrição

Este recurso retorna a quantidade de crimes notificados em um determinado estado.

Parâmetros

O parâmetro :sigla recebe a identificação do estado, por exemplo ceara ou ce. Caso demande a requisição para os dados do país inteiro, inserir bra ou brasil.

O parâmetro :nomecrime recebe a especificação do crime, por exemplo roubo_veiculo. Caso demande a requisição para os dados de todos os crimes, inserir todos.

Headers
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM

Example request:
curl "http://crimepontodata.tk/quantidade/ocorrencias/:nome/:sigla" \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM' \
  -X GET 
Example response:
{
	“quantidade_furto_de_veiculos ” : 200,
	“quantidade_roubo_instituicao_financeira”: 200,
	“quantidade_roubo_carga”: 200,
“quantidade_roubo_veiculo”: 200, 
	“quantidade_estupro” : 200,
	“quantidade_tentativa_homicidio” : 200
}
 

GET Vítimas

http://crimepontodata.tk/quantidade/vitimas/:nomedocrime/:sigla

Descrição

Este recurso retorna a quantidade de vítimas de um dado crime (ou todos os crimes da base) notificadas em um determinado estado (ou no país inteiro).

Parâmetros

O parâmetro :sigla recebe a identificação do estado, por exemplo ceara ou ce. Caso demande a requisição para os dados do país inteiro, inserir bra ou brasil.

O parâmetro :nomecrime recebe a especificação do crime, por exemplo homicidio_doloso. Caso demande a requisição para os dados de todos os crimes, inserir todos.

Headers
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM

Example request:
curl "http://crimepontodata.tk/quantidade/vitimas/:nomedocrime/:sigla" \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM' \
  -X GET 
Example response:
{
	“quantidade_homicidio_doloso ” : 200
	“quantidade_lesao_corporal_seguida_morte” : 200,
	“quantidade_latrocinio” : 200
}

Médias


 

GET Ocorrências Mensais

http://crimepontodata.tk/media/ocorrencias/:nomedocrime/:sigla/:inicio/:fim

Descrição

Este recurso retorna a média mensal de ocorrências de um crime em determinado período de tempo.

Parâmetros

O parâmetro :sigla recebe a identificação do estado, por exemplo ceara ou ce.

O parâmetro :nomecrime recebe a especificação do crime, por exemplo roubo_veiculo.

Os parâmetros início e fim recebem uma data de início e fim para o cálculo da média dentro daquele intervalo, por exemplo entre jan-2020 e mar-2020.

Headers
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM

Example request:
curl "http://crimepontodata.tk/media/ocorrencias/:nomedocrime/:sigla/:inicio/:fim" \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM' \
  -X GET 
Example response:
{
	“media_furto_de_veiculos ” : 200,
	“media_roubo_instituicao_financeira”: 200,
	“media_roubo_carga”: 200,
“media_roubo_veiculo”: 200, 
	“media_estupro” : 200,
	“media_tentativa_homicidio” : 200
}
 

GET Vítimas Mensais

http://crimepontodata.tk/media/vitimas/:nome/:sigla

Descrição

Este recurso retorna a média mensal de vítimas de um crime em determinado período de tempo.

Parâmetros

O parâmetro :sigla recebe a identificação do estado, por exemplo ceara ou ce.

O parâmetro :nomecrime recebe a especificação do crime, por exemplo homicidio_doloso.

Os parâmetros início e fim recebem uma data de início e fim para o cálculo da média dentro daquele intervalo, por exemplo entre jan-2020 e mar-2020.

Headers
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM

Example request:
curl "http://crimepontodata.tk/media/vitimas/:nome/:sigla" \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM' \
  -X GET 
Example response:
{
	“media_homicidio_doloso ” : 200
	“media_lesao_corporal_seguida_morte” : 200,
	“media_latrocinio” : 200
}

Rankings


 

GET Estadual por Crime

http://crimepontodata.tk/ranking/:quantidade/estadual/:nomedocrime

Descrição

Este recurso retorna o ranking de estados que apresentam uma maior ocorrência de determinado crime.

Parâmetros

O parâmetro :quantidade recebe um valor inteiro, por exemplo 2. Determina a quantidade de elementos que devem aparecer no ranking. Caso demande a requisição para todos os estados, inserir 6.

O parâmetro :nomecrime recebe a especificação do crime, por exemplo roubo_veiculo.

Headers
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM

Example request:
curl "http://crimepontodata.tk/ranking/:quantidade/estadual/:nomedocrime" \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM' \
  -X GET 
Example response:
{
	“Crime” : ‘Roubo de veículo”
	“Ranking_estadual” : [‘CE’, ‘SP’, ‘RJ’]
}
 

GET Criminal por Estado

http://crimepontodata.tk/ranking/:quantidade/criminal/:sigla

Descrição

Este recurso retorna o ranking de crimes que apresentam uma maior ocorrência em um dado estado (ou no país inteiro).

Parâmetros

O parâmetro :quantidade recebe um valor inteiro, por exemplo 10. Determina a quantidade de elementos que devem aparecer no ranking.

O parâmetro :sigla recebe a especificação do estado, por exemplo ceara ou ce. Caso demande a requisição para os dados do país inteiro, inserir bra ou brasil.

Headers
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM

Example request:
curl "http://crimepontodata.tk/ranking/:quantidade/criminal/:sigla" \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNTk4NTYyNTYwLCJleHAiOjE1OTkxNjczNjB9.BC9zTwZs-WPm7K2oqaHaOXV3zDBqIXE0gqx0WDvovCM' \
  -X GET 
Example response:
{
	“UF”: CE
	“Ranking_criminal”: [‘Roubo de veículo’, ‘Roubo de veículo’,‘Roubo de veículo’ ]
}