Gestão de devices (/devices/*).
Devices são a credencial de consumo dos serviços device-based: crie um
device com a SecretKey da API desejada e use o device_token retornado
como header DeviceToken.
alias ApiBrasil.Platform.Devices
{:ok, device} =
client
|> ApiBrasil.with_options(secret_key: "SUA_SECRET_KEY")
|> Devices.store(%{"device_name" => "meu-bot", "type" => "server"})
client = ApiBrasil.put_device_token(client, device["device_token"])
Summary
Functions
Remove um device: DELETE /devices/destroy.
Como destroy/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Lista os devices do usuário: GET /devices.
Como list/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Histórico de requisições do device: POST /devices/requests.
Como requests/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Detalha um device: GET /devices/show?search={device_token}.
Como show/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Cria um device: POST /devices/store.
Como store/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Atualiza um device: POST /devices/update (body com device_token + campos).
Como update/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Types
@type result() :: {:ok, map()} | {:error, ApiBrasil.Core.Error.t()}
Functions
@spec destroy(ApiBrasil.Client.t(), String.t() | nil, keyword()) :: result()
Remove um device: DELETE /devices/destroy.
nil (ou string vazia) usa o device configurado no cliente.
@spec destroy!(ApiBrasil.Client.t(), String.t() | nil, keyword()) :: map()
Como destroy/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec list(ApiBrasil.Client.t(), map() | keyword() | nil, keyword()) :: result()
Lista os devices do usuário: GET /devices.
query é opcional e vira query string (ex.: %{"search" => "meu-bot"}).
@spec list!(ApiBrasil.Client.t(), map() | keyword() | nil, keyword()) :: map()
Como list/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec requests(ApiBrasil.Client.t(), term(), keyword()) :: result()
Histórico de requisições do device: POST /devices/requests.
@spec requests!(ApiBrasil.Client.t(), term(), keyword()) :: map()
Como requests/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec show(ApiBrasil.Client.t(), String.t() | nil, keyword()) :: result()
Detalha um device: GET /devices/show?search={device_token}.
nil (ou string vazia) usa o device configurado no cliente.
@spec show!(ApiBrasil.Client.t(), String.t() | nil, keyword()) :: map()
Como show/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec store(ApiBrasil.Client.t(), term(), keyword()) :: result()
Cria um device: POST /devices/store.
O body aceita device_name, type (cellphone | tablet | computer |
server), device_key, server_search e os webhooks. A SecretKey da API
(painel APIBrasil) vai no header: informe em :secret_key nas opções da
chamada ou configure secret_key no cliente — nesse caso ela é injetada
automaticamente.
@spec store!(ApiBrasil.Client.t(), term(), keyword()) :: map()
Como store/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec update(ApiBrasil.Client.t(), term(), keyword()) :: result()
Atualiza um device: POST /devices/update (body com device_token + campos).
@spec update!(ApiBrasil.Client.t(), term(), keyword()) :: map()
Como update/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.