View Source ExDatacube.API (ExDatacube v0.3.0)
Módulo de comunicação com a API da Datacube.
Link to this section Summary
Types
Se token de autenticação à API for fornecido nas opções, ele será incluído no body da requisição caso um token não exista no mapa de parâmetros fornecido.
Função de decodificação dos retornos da API. Default Jason.decode!/1
Função de codificação dos parâmetros para x-www-form-urlencoded. Default URI.encode_query/1
Erros resultantes na comunicação com o servidor.
Erros provenientes do servidor da API (tradução códigos http)
Functions
URL base da API.
Faz uma chamada post à API no endpoint path
. Converte params
para x-www-form-urlencoded
.
Concatena path
com url base da API.
Link to this section Types
@type auth_token() :: String.t()
Se token de autenticação à API for fornecido nas opções, ele será incluído no body da requisição caso um token não exista no mapa de parâmetros fornecido.
Função de decodificação dos retornos da API. Default Jason.decode!/1
Função de codificação dos parâmetros para x-www-form-urlencoded. Default URI.encode_query/1
@type error() :: {server_error_type() | network_error_type(), ExDatacube.API.Resposta.error_message()}
@type network_error_type() :: :network_error
Erros resultantes na comunicação com o servidor.
@type opts() :: [ encode: encode(), decode: decode(), auth_token: auth_token(), receive_timeout: pos_integer() ]
@type server_error_type() ::
:bad_request
| :unauthorized
| :payment_required
| :forbidden
| :not_found
| :method_not_allowed
| :too_many_requests
| :method_failure
| :internal_server_error
| :service_unavailable
| :unknown_error
Erros provenientes do servidor da API (tradução códigos http)
Link to this section Functions
@spec base_url() :: base_urk :: String.t()
URL base da API.
@spec post(path :: String.t(), body :: map() | String.t(), opts()) :: {:ok, ExDatacube.API.Resposta.t()} | {:error, error()}
Faz uma chamada post à API no endpoint path
. Converte params
para x-www-form-urlencoded
.
exemplos
Exemplos
Requisitar consulta simples de uma placa
:
{:ok, %Resposta{} = resposta} = ExDatacube.API.post(
"veiculos/informacao-simples",
%{placa: "FLT9034"},
auth_token: "XXX"
)
Concatena path
com url base da API.