ApiBrasil.Client (APIBrasil v0.0.1)

Copy Markdown View Source

Cliente já resolvido — o valor que todas as funções de serviço recebem como primeiro argumento.

Crie com ApiBrasil.new/1 (ou ApiBrasil.from_env/0) em vez de montar a struct à mão: new/1 resolve o ambiente, aplica os padrões e normaliza os headers.

client = ApiBrasil.new(bearer_token: "jwt", device_token: "device")

{:ok, envelope} =
  ApiBrasil.Messaging.WhatsApp.send_text(client, %{
    "number" => "5511999999999",
    "text" => "Olá! 👋"
  })

Por ser um valor imutável, trocar credenciais devolve um novo cliente:

outro = ApiBrasil.put_device_token(client, "outro_device")

Summary

Types

t()

@type t() :: %ApiBrasil.Client{
  base_url: String.t(),
  bearer_token: String.t() | nil,
  device_token: String.t() | nil,
  headers: %{required(String.t()) => String.t()},
  hooks: ApiBrasil.Core.Hooks.t(),
  options: keyword(),
  retry: ApiBrasil.Core.Retry.t(),
  secret_key: String.t() | nil,
  timeout: non_neg_integer(),
  transport: ApiBrasil.Core.Transport.t()
}