Class: ApiBrasil::Services::Platform::DevicesService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/api_brasil/services/platform/devices_service.rb

Overview

Gestao de devices (/devices/*).

Devices sao a credencial de consumo dos servicos device-based: crie um device com a SecretKey da API desejada e use o device_token retornado como header DeviceToken.

Instance Attribute Summary

Attributes inherited from BaseService

#http

Instance Method Summary collapse

Methods inherited from BaseService

#delete, #download, #get, #initialize, #patch, #post, #put

Constructor Details

This class inherits a constructor from ApiBrasil::Services::BaseService

Instance Method Details

#destroy(device_token = nil, options = {}) ⇒ Object

Remove um device: DELETE /devices/destroy.

Returns:

  • (Object)


60
61
62
# File 'lib/api_brasil/services/platform/devices_service.rb', line 60

def destroy(device_token = nil, options = {})
  delete("/devices/destroy", { "search" => device_token || http.device_token }, options)
end

#list(query = {}, options = {}) ⇒ Object

Lista os devices do usuario: GET /devices.

Parameters:

  • query (Hash) (defaults to: {})

    ex: { paginate: true }

Returns:

  • (Object)


18
19
20
21
22
23
# File 'lib/api_brasil/services/platform/devices_service.rb', line 18

def list(query = {}, options = {})
  options = Core::HttpClient.normalize_keys(options)
  options[:query] = query.merge(options[:query] || {})

  get("/devices", options)
end

#requests(body = nil, options = {}) ⇒ Object

Historico de requisicoes do device: POST /devices/requests.

Returns:

  • (Object)


67
68
69
# File 'lib/api_brasil/services/platform/devices_service.rb', line 67

def requests(body = nil, options = {})
  post("/devices/requests", body, options)
end

#show(device_token = nil, options = {}) ⇒ Object

Detalha um device: GET /devices/show?search={device_token}.

Returns:

  • (Object)


43
44
45
46
47
48
# File 'lib/api_brasil/services/platform/devices_service.rb', line 43

def show(device_token = nil, options = {})
  options = Core::HttpClient.normalize_keys(options)
  options[:query] = { "search" => device_token || http.device_token }.merge(options[:query] || {})

  get("/devices/show", options)
end

#store(body, options = {}) ⇒ Object

Cria um device: POST /devices/store.

A SecretKey da API (painel APIBrasil) vai no header - passe em options[:secret_key] ou configure secret_key no cliente.

Parameters:

  • body (Hash)

    device_name, type, device_key, webhooks...

Returns:

  • (Object)


32
33
34
35
36
37
38
# File 'lib/api_brasil/services/platform/devices_service.rb', line 32

def store(body, options = {})
  options = Core::HttpClient.normalize_keys(options)
  secret = options[:secret_key] || http.secret_key
  options[:secret_key] = secret unless secret.nil?

  post("/devices/store", body, options)
end

#update(body, options = {}) ⇒ Object

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

Returns:

  • (Object)


53
54
55
# File 'lib/api_brasil/services/platform/devices_service.rb', line 53

def update(body, options = {})
  post("/devices/update", body, options)
end