Configuração do cliente.
Campos não informados são lidos das variáveis de ambiente
APIBRASIL_BEARER_TOKEN, APIBRASIL_DEVICE_TOKEN, APIBRASIL_SECRET_KEY
e APIBRASIL_BASE_URL. Credenciais vazias contam como ausentes: informar
"" é a forma de desligar o que veio do ambiente.
ApiBrasil.new(bearer_token: "jwt", device_token: "device")
# o mesmo, via configuração da aplicação
config :apibrasil,
bearer_token: {:system, "APIBRASIL_BEARER_TOKEN"},
timeout: 60_000
Summary
Functions
Configuração do cliente.
Base da API usada quando nada é informado.
Tempo limite padrão das requisições, em milissegundos.
Devolve a configuração equivalente a um cliente já montado.
Lê a configuração das variáveis de ambiente e da configuração da
aplicação (config :apibrasil, ...).
Devolve esta configuração sobreposta por override — os campos
preenchidos em override têm prioridade.
Cria uma configuração a partir de uma keyword list, mapa ou struct.
Resolve a configuração com o ambiente e devolve o cliente pronto para uso.
Types
@type t() :: %ApiBrasil.Core.Config{ base_url: String.t() | nil, bearer_token: String.t() | nil, device_token: String.t() | nil, headers: map(), hooks: ApiBrasil.Core.Hooks.t(), options: keyword(), retry: ApiBrasil.Core.Retry.t() | nil, secret_key: String.t() | nil, timeout: non_neg_integer() | nil, transport: ApiBrasil.Core.Transport.t() | nil }
Functions
Configuração do cliente.
:bearer_token— token JWT obtido no login (Authorization: Bearer);:device_token— token do dispositivo, exigido pelos serviços device-based;:secret_key— SecretKey da API, usada apenas na criação de devices;:base_url— base da API. Padrão:https://gateway.apibrasil.io/api/v2;:timeout— tempo limite das requisições em ms. Padrão:30000;:headers— headers adicionais enviados em todas as requisições;:transport— camada de transporte HTTP. Padrão:ApiBrasil.Core.Transport.Httpc;:retry— política de retry. Padrão:%ApiBrasil.Core.Retry{};:hooks— ganchos de observabilidade;:options— opções aplicadas a todas as chamadas do cliente.
@spec default_base_url() :: String.t()
Base da API usada quando nada é informado.
@spec default_timeout() :: pos_integer()
Tempo limite padrão das requisições, em milissegundos.
@spec from_client(ApiBrasil.Client.t()) :: t()
Devolve a configuração equivalente a um cliente já montado.
@spec from_env() :: t()
Lê a configuração das variáveis de ambiente e da configuração da
aplicação (config :apibrasil, ...).
Devolve esta configuração sobreposta por override — os campos
preenchidos em override têm prioridade.
Cria uma configuração a partir de uma keyword list, mapa ou struct.
@spec resolve(t() | keyword() | map()) :: ApiBrasil.Client.t()
Resolve a configuração com o ambiente e devolve o cliente pronto para uso.