View Source ExDatacube (ExDatacube v0.3.1)

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.

  • :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 completa.

Retorna resultado da busca de veículos simplificada v2.

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_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.

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 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")