Developer API - Aplicações

  1. Tipos de aplicações
  2. Atributos de uma aplicação
  3. Listagem de todas aplicações
  4. Busca de uma aplicação específica
  5. Criação de uma nova aplicação
  6. Modificação de uma aplicação
  7. Exclusão de uma aplicação

Tipos de aplicações

Atualmente somente aplicações POSXML são suportadas, mas em breve aplicações Ruby também estarão disponíveis, então requisições de aplicação devem sempre indicar o tipo.

Atributos de uma aplicação

Os seguintes atributos compõe uma aplicação:

Nome Tipo Descrição
id Integer ID do registro
name String Nome da aplicação
description String Breve descrição da aplicação
authorizer_url String URL do autorizador que a aplicação irá se conectar
communication_format String Formato da comunicação com o autorizador (HTTP, ISO8583 ou ISO20022).
displayable Boolean Determina se a aplicação deve ou não ser exibida no menu de aplicativos
pos_display_label String Nome exibido no meu de aplicativos (se displayable for verdadeiro)
crc String CRC da aplicação
size Integer Tamanho da aplicação, em bytes
uuid String Identificador Único Universal
bytecode Bytecode Binário da aplicação
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 aplicações

Retorna um array com todas as aplicações.

Método e formato da URL

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

Exemplo de utilização

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

token = 'API_TOKEN'

uri = URI("https://api.cloudwalk.io/v1/apps/posxml?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
   },
   "posxml_apps":[
      {
         "posxml_app":{
            "id":172,
            "name":"helloworld.posxml",
            "description":"Hello World",
            "authorizer_url":"http://myhost.com",
            "communication_format":"http",
            "displayable":true,
            "pos_display_label":"HELLO WORLD",
            "crc":"5A02",
            "size":18,
            "uuid":"2ca44bb6567747f8a3b0eed5dfe714f0",
            "bytecode":"ZDAKMApoZWxsb3dvcmxkLnBvc3htbAoNdQ0=",
            "updated_at":"2015-01-30T12:09:49-03:00",
            "created_at":"2015-01-30T12:09:30-03:00",
            "created_by":218,
            "created_via":"interface"
         }
      },
      {
         "posxml_app":{
            "id":173,
            "name":"sample.posxml",
            "description":"Sample App",
            "authorizer_url":"tcp://myhost.com:800",
            "communication_format":"http",
            "displayable":true,
            "pos_display_label":"SAMPLE APP",
            "crc":"1FAE",
            "size":17,
            "uuid":"34809a19bc192aa901823c911230ff0a"
            "bytecode":"ZDAKMApzYW1wbGUucG9zeG1sCg11DQ==",
            "updated_at":"2015-01-30T12:13:26-03:00",
            "created_at":"2015-01-30T12:12:42-03:00",
            "created_by":218,
            "created_via":"interface"
         }
      }
   ]
}

Busca de uma aplicação específica

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

Método e formato da URL

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

Exemplo de utilização

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

token = 'API_TOKEN'

uri = URI("https://api.cloudwalk.io/v1/apps/posxml/172?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

{
  "posxml_app":{
    "id":172,
    "name":"helloworld.posxml",
    "description":"Hello World",
    "authorizer_url":"http://myhost.com",
    "communication_format":"http",
    "displayable":true,
    "pos_display_label":"HELLO WORLD",
    "crc":"5A02",
    "size":18,
    "uuid":"2ca44bb6567747f8a3b0eed5dfe714f0",
    "bytecode":"ZDAKMApIZWxsbyBXb3JsZAoN",
    "updated_at":"2015-01-30T12:09:49-03:00",
    "created_at":"2015-01-30T12:09:30-03:00",
    "created_by":218,
    "created_via":"interface"
  }
}

Criação de uma nova aplicação

Cria uma nova aplicação.

Método e formato da URL

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

Exemplo de utilização

$ curl -X POST "https://api.cloudwalk.io/v1/apps/posxml?access_token=$TOKEN" \
-d '{"name":"newapp","description":"desc","displayable":"false","authorizer_url":"http://auth.io"}'
require 'net/http'
require 'json'

token = 'API_TOKEN'

payload = {
  "name" => "newapp",
  "description" => "desc",
  "displayable" => false,
  "authorizer_url" => "http://auth.io"
}

uri = URI("https://api.cloudwalk.io/v1/apps/posxml?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}"

Exemplo de resposta

{
  "posxml_app":{
    "id":173,
    "name":"newapp.posxml",
    "description":"desc",
    "authorizer_url":"http://auth.io",
    "communication_format":"http",
    "displayable":false,
    "pos_display_label":"",
    "crc":"EFBD",
    "size":20,
    "uuid":"763f25a891924e0d974d5df871381b11",
    "bytecode":"ZDAKMApuZXdhcHAucG9zeG1sCg0=",
    "updated_at":"2015-01-30T20:33:31Z",
    "created_at":"2015-01-30T20:33:31Z",
    "created_by":218,
    "created_via":"api"
  }
}

Modificação de uma aplicação

Modifica uma aplicação já existente.

Método e formato da URL

PUT https://api.cloudwalk.io/{versão}/apps/{tipo}/{app_id}?access_token={token}

Exemplo de utilização

O bytecode enviado no parâmetro binary precisa estar encodado com Base64.

$ curl -X PUT "https://api.cloudwalk.io/v1/apps/posxml/173?access_token=$TOKEN" \
-d '{"binary":"ZDAKMApDbG91ZFdhbGsKDQ=="}'
require 'net/http'
require 'json'

token = 'API_TOKEN'

payload = {
  "binary" => "ZDAKMApDbG91ZFdhbGsKDQ=="
}

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

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

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

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

Exemplo de resposta

{
  "posxml_app":{
    "id":173,
    "name":"newapp.posxml",
    "description":"desc",
    "authorizer_url":"http://auth.io",
    "communication_format":"http",
    "displayable":false,
    "pos_display_label":"",
    "crc":"905A",
    "size":16,
    "uuid":"6828c8d4b01242158243b797ae10df4b",
    "binary":"ZDAKMApDbG91ZFdhbGsKDQ==",
    "updated_at":"2015-01-30T21:50:21Z",
    "created_at":"2015-01-30T21:39:23Z",
    "created_by":218,
    "created_via":"api"
  }
}

Exclusão de uma aplicação

Exclui uma aplicação.

Método e formato da URL

DELETE https://api.cloudwalk.io/{versão}/apps/{tipo}/{app_id}?access_token={token}

Exemplo de utilização

$ curl -X DELETE "https://api.cloudwalk.io/v1/apps/posxml/173?access_token=$TOKEN"
require 'net/http'

token = 'API_TOKEN'

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

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

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

res = http.request(request)

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

Exemplo de resposta

{}