ApiBrasil.Platform.Devices (APIBrasil v0.0.1)

Copy Markdown View Source

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.

Lista os devices do usuário: GET /devices.

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

Cria um device: POST /devices/store.

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

result()

@type result() :: {:ok, map()} | {:error, ApiBrasil.Core.Error.t()}

Functions

destroy(client, device_token \\ nil, opts \\ [])

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

destroy!(client, device_token \\ nil, opts \\ [])

@spec destroy!(ApiBrasil.Client.t(), String.t() | nil, keyword()) :: map()

Como destroy/3, mas levanta ApiBrasil.Core.Error em caso de falha.

list(client, query \\ nil, opts \\ [])

@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"}).

list!(client, query \\ nil, opts \\ [])

@spec list!(ApiBrasil.Client.t(), map() | keyword() | nil, keyword()) :: map()

Como list/3, mas levanta ApiBrasil.Core.Error em caso de falha.

requests(client, body \\ nil, opts \\ [])

@spec requests(ApiBrasil.Client.t(), term(), keyword()) :: result()

Histórico de requisições do device: POST /devices/requests.

requests!(client, body \\ nil, opts \\ [])

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

show(client, device_token \\ nil, opts \\ [])

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

show!(client, device_token \\ nil, opts \\ [])

@spec show!(ApiBrasil.Client.t(), String.t() | nil, keyword()) :: map()

Como show/3, mas levanta ApiBrasil.Core.Error em caso de falha.

store(client, body \\ nil, opts \\ [])

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

store!(client, body \\ nil, opts \\ [])

@spec store!(ApiBrasil.Client.t(), term(), keyword()) :: map()

Como store/3, mas levanta ApiBrasil.Core.Error em caso de falha.

update(client, body \\ nil, opts \\ [])

@spec update(ApiBrasil.Client.t(), term(), keyword()) :: result()

Atualiza um device: POST /devices/update (body com device_token + campos).

update!(client, body \\ nil, opts \\ [])

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