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:

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 é o ModuloAPI.Adaptores.Default que comunica-se com a api de produção. Há disponível também o adaptador de testes ModuloAPI.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

@type shared_opts() :: [
  adaptador: module(),
  auth_token: ExDatacube.API.auth_token(),
  receive_timeout: pos_integer()
]

Link to this section API Veículos

Link to this function

consulta_nacional_agregados(placa, opts \\ [])

View Source (since 0.4.0)
@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")
Link to this function

consulta_nacional_completa(placa, opts \\ [])

View Source (since 0.2.0)
@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")
Link to this function

consulta_nacional_simples_v2(placa, opts \\ [])

View Source (since 0.2.0)
@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")
Link to this function

consulta_nacional_simples_v3(placa, opts \\ [])

View Source (since 0.4.0)
@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

Link to this function

consulta_nacional_cnh(cpf, opts \\ [])

View Source (since 0.2.0)
@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

Link to this function

consulta_dados_cnpj(cnpj, opts \\ [])

View Source (since 0.2.0)
@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")