View Source ExDatacube (ExDatacube v0.4.0)
Wrapper de comunicação com à API da DataCube.
A API da DataCube conta com três grandes seções:
- Veículos (
ExDatacube.Veiculos
); - Cadastros (
ExDatacube.Cadastros
); - CNH (
ExDatacube.CNH
).
Cada uma dessas seções é implementada de forma independente, de modo que as configurações também precisam ser fornecidas independentemente.
opções-compartilhadas
Opções compartilhadas
Todas as funções de comunicação com a api compartilham as opções a seguir. Além de passar as opções para as funções, há a opção de definí-las globalmente através da configuração da aplicação:
config :ex_datacube, auth_token: "token"
config :ex_datacube, ExDatacube.Veiculos,
auth_token: "token",
adaptador: ExDatacube.Veiculos.Adaptores.Default
:auth_token
— token de autenticação à API, que pode ser fornecido de três maneiras, seguindo a seguinte precedência:- nas opções de qualquer chamada;
- configuração global no contexto da api (
config :ex_datacube, API, ...
); - configuração global (
config :ex_datacube, ...
).
:adaptador
— Adaptador a ser utilizado nas chamadas. Por padrão, o adaptador usado é oModuloAPI.Adaptores.Default
que comunica-se com a api de produção. Há disponível também o adaptador de testesModuloAPI.Adaptores.Stub
que pode ser usado por bibliotecas como a Mox para realizar testes.:receive_timeout
— timeout da requisição. Default: 1 minuto.
Link to this section Summary
API Veículos
Retorna resultado da busca de veículos no endpoint agregados.
Retorna resultado da busca de veículos completa.
Retorna resultado da busca de veículos simplificada v2. Nesta consulta temos informação de renavam, chassi, proprietário e dados cadastrais do veículo.
Retorna resultado da busca de veículos simplificada v3. Nesta consulta temos informação de renavam, chassi e dados cadastrais do veículo.
API CNH
Retorna CNH de motorista da base nacional.
API Cadastros
Retorna dados da empresa identificada pelo cnpj
.
Link to this section Types
Link to this section API Veículos
@spec consulta_nacional_agregados(ExDatacube.Veiculos.placa(), shared_opts()) :: {:ok, ExDatacube.Veiculos.Veiculo.t()} | {:error, ExDatacube.API.error()}
Retorna resultado da busca de veículos no endpoint agregados.
Este endpoint retorna as mesmas informações da simples v3 (praticamente) mas não possui abrangência para toda base de veículos. Logo, há certas consultas que não retornaram a informação de renavam.
options
Options
Veja a seção "Opções compartilhadas" na documentação do módulo para as opções possíveis.
exemplo
Exemplo
{:ok, %ExDataCube.Veiculos.Veiculo{} = veiculo} =
ExDatacube.consulta_nacional_agregados("FLT9034")
@spec consulta_nacional_completa(ExDatacube.Veiculos.placa(), shared_opts()) :: {:ok, ExDatacube.Veiculos.Veiculo.t()} | {:error, ExDatacube.API.error()}
Retorna resultado da busca de veículos completa.
options
Options
Veja a seção "Opções compartilhadas" na documentação do módulo para as opções possíveis.
exemplo
Exemplo
{:ok, %ExDataCube.Veiculos.Veiculo{} = veiculo} =
ExDatacube.consulta_nacional_completa("FLT9034")
@spec consulta_nacional_simples_v2(ExDatacube.Veiculos.placa(), shared_opts()) :: {:ok, ExDatacube.Veiculos.Veiculo.t()} | {:error, ExDatacube.API.error()}
Retorna resultado da busca de veículos simplificada v2. Nesta consulta temos informação de renavam, chassi, proprietário e dados cadastrais do veículo.
options
Options
Veja a seção "Opções compartilhadas" na documentação do módulo para as opções possíveis.
exemplo
Exemplo
{:ok, %Veiculo{} = veiculo} =
ExDatacube.consulta_nacional_simples_v2("FLT9034")
@spec consulta_nacional_simples_v3(ExDatacube.Veiculos.placa(), shared_opts()) :: {:ok, ExDatacube.Veiculos.Veiculo.t()} | {:error, ExDatacube.API.error()}
Retorna resultado da busca de veículos simplificada v3. Nesta consulta temos informação de renavam, chassi e dados cadastrais do veículo.
Não há informação de proprietário nesta consulta
options
Options
Veja a seção "Opções compartilhadas" na documentação do módulo para as opções possíveis.
exemplo
Exemplo
{:ok, %Veiculo{} = veiculo} =
ExDatacube.consulta_nacional_simples_v3("FLT9034")
Link to this section API CNH
@spec consulta_nacional_cnh(ExDatacube.CNH.cpf(), shared_opts()) :: {:ok, map()} | {:error, ExDatacube.API.error()}
Retorna CNH de motorista da base nacional.
options
Options
Veja a seção "Opções compartilhadas" na documentação do módulo para as opções possíveis.
exemplo
Exemplo
{:ok, map()} = ExDatacube.consulta_nacional_cnh("348.666.357-67")
Link to this section API Cadastros
@spec consulta_dados_cnpj(ExDatacube.Cadastros.cnpj(), shared_opts()) :: {:ok, map()} | {:error, ExDatacube.API.error()}
Retorna dados da empresa identificada pelo cnpj
.
options
Options
Veja a seção "Opções compartilhadas" na documentação do módulo para as opções possíveis.
exemplo
Exemplo
{:ok, map()} = ExDatacube.consulta_dados_cnpj("47.960.950/0001-21")