Developer API - Notificações push

  1. Atributos de uma notificação push
  2. Listagem de todas as notificações push
  3. Busca de uma notificação push específica
  4. Criação de uma nova notificação push

Atributos de uma notificação push

Atributos de uma notificação push:

Nome Tipo Descrição
id Integer ID do registro
content String Conteúdo da notificação (payload)
updated_at String Timestamp da atualização do registro (ISO 8601)
created_at String Timestamp da criação do registro (ISO 8601)
created_by Integer ID do usuário que criou o registro
created_via String Canal utilizado para criar o registro (Interface ou API)

Listagem de todas as notificações push

Retorna um array com todas as notificações push.

Método e formato da URL

GET https://api.cloudwalk.io/{versão}/notifications?access_token={token}

Exemplo de utilização

$ curl -X GET "https://api.cloudwalk.io/v1/notifications?access_token=$TOKEN"
require 'net/http'

token = 'API_TOKEN'

uri = URI("https://api.cloudwalk.io/v1/notifications?access_token=#{token}")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri.request_uri)

res = http.request(request)

puts "Response #{res.code} #{res.message}: #{res.body}"

Exemplo de resposta

{
   "pagination":{
      "page":1,
      "total_pages":1,
      "entries":2,
      "total_entries":2
   },
   "notifications":[
      {
         "notification":{
            "id":1,
            "content":"SHOW_MESSAGE|ping",
            "updated_at":"2015-03-02T18:59:14Z",
            "created_at":"2015-03-02T18:59:14Z",
            "created_by":1,
            "created_via":"interface"
         }
      },
      {
         "notification":{
            "id":2,
            "content":"SHOW_MESSAGE|pong",
            "updated_at":"2015-03-02T18:59:29Z",
            "created_at":"2015-03-02T18:59:29Z",
            "created_by":1,
            "created_via":"interface"
         }
      }
   ]
}

Busca de uma notificação push específica

Retorna os detalhes de uma notificação push específica.

Método e formato da URL

GET https://api.cloudwalk.io/{versão}/notifications/{notification_id}?access_token={token}

Exemplo de utilização

$ curl -X GET "https://api.cloudwalk.io/v1/notifications/1?access_token=$TOKEN"
require 'net/http'

token = 'API_TOKEN'

uri = URI("https://api.cloudwalk.io/v1/push_notifications/445566?access_token=#{token}")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri.request_uri)

res = http.request(request)

puts "Response #{res.code} #{res.message}: #{res.body}"

Exemplo de resposta

{
  "notification":{
    "id":1,
    "content":"SHOW_MESSAGE|ping",
    "updated_at":"2015-03-02T18:59:14Z",
    "created_at":"2015-03-02T18:59:14Z",
    "created_by":1,
    "created_via":"interface"
  }
}

Criação de uma nova notificação push

Cria uma nova notificação push.

Método e formato da URL

POST https://api.cloudwalk.io/{versão}/notifications?access_token={token}

Exemplo de utilização

$ curl -X POST "https://api.cloudwalk.io/v1/notifications?access_token=$TOKEN" \
-d '{"content":"ping","range":"specific_logical_numbers","group_id":1,"logical_numbers":"00110,00111","kind":"show","app_id":1}'
require 'net/http'
require 'json'

token = 'API_TOKEN'

payload = {
  "content" => "ping",
  "range" => "specific_logical_numbers",
  "group_id" => 1,
  "logical_numbers" => "00110,00111",
  "kind" => "show",
  "app_id" => 1
}

uri = URI("https://api.cloudwalk.io/v1/notifications?access_token=#{token}")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.request_uri)
request.body = payload.to_json

res = http.request(request)

puts "Response #{res.code} #{res.message}: #{res.body}"
  • group_id: O ID do grupo que deve receber a notificação
  • range: group para notificar o grupo todo ou specific_logical_numbers para notificar somente números lógicos específicos
  • logical_numbers: Se o range "specific_logical_numbers" foi selecionado, informe os números lógicos (separados por vírgula)
  • kind: show para exibir instantaneamente o conteúdo ou processing para manipular dinamicamente o conteúdo
  • app_id: (optional) Se o tipo "processing" foi escolhido, informe o ID da aplicação que irá processar a conteúdo da notificação

Exemplo de resposta

{
  "message":"The notification was successfully received and has been queued for processing."
}