Developer API - Arquivos

  1. Atributos de um arquivo
  2. Listagem de todos arquivos
  3. Busca de um arquivo específico
  4. Cadastro de um novo arquivo
  5. Atualização de um arquivo
  6. Exclusão de um arquivo

Atributos de um arquivo

Os seguintes atributos compõe um arquivo:

Nome Tipo Descrição
id Integer ID do registro
name String Nome do arquivo
file_type String Tipo do arquivo (Asset ou Torrent)
description String Descrição do arquivo
content String Binário do arquivo, codificado com Base64
size Integer Tamanho do arquivo, em bytes
crc String CRC do arquivo
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 todos arquivos

Retorna um array com todos os arquivos.

Método e formato da URL

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

Exemplo de utilização

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

token = 'API_TOKEN'

uri = URI("https://api.cloudwalk.io/v1/files?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
   },
   "files":[
      {
         "file":{
            "id":6,
            "name":"bins.dat",
            "file_type":"asset",
            "description":"Bins",
            "size":19,
            "crc":"B446",
            "updated_at":"2015-03-02T15:49:56Z",
            "created_at":"2015-03-02T15:47:34Z",
            "created_by":1,
            "created_via":"interface"
         }
      },
      {
         "file":{
            "id":8,
            "name":"config.dat",
            "file_type":"asset",
            "description":"Config",
            "size":11,
            "crc":"416C",
            "updated_at":"2015-03-02T15:52:23Z",
            "created_at":"2015-03-02T15:52:23Z",
            "created_by":1,
            "created_via":"interface"
         }
      }
   ]
}

Busca de um arquivo específico

Retorna os detalhes de um arquivo específico.

Método e formato da URL

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

Exemplo de utilização

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

token = 'API_TOKEN'

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

{
  "file":{
    "id":6,
    "name":"bins.dat",
    "file_type":"asset",
    "description":"Bins",
    "content":"MT0yCjM9NAo0PTUKNj03Cjg9OQ==",
    "size":19,
    "crc":"B446",
    "updated_at":"2015-03-02T15:49:56Z",
    "created_at":"2015-03-02T15:47:34Z",
    "created_by":1,
    "created_via":"interface"
  }
}

Cadastro de um novo arquivo

Cria um novo arquivo.

Método e formato da URL

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

Exemplo de utilização

$ curl -X POST "https://api.cloudwalk.io/v1/files?access_token=$TOKEN" \
-F "[email protected]" \
-F "description=CloudWalk DAT"

@file.dat é o arquivo que está sendo cadastrado, portanto, neste exemplo, existe um arquivo chamado file.dat no diretório corrente, em que se está executando o comando curl.

require 'net/http/post/multipart'

token = 'API_TOKEN'

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

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

request = Net::HTTP::Post::Multipart.new(uri.request_uri,
  "description" => "CloudWalk DAT",
  "&asset" => UploadIO.new(File.open("file.dat"), "text/plain", "file.dat")
)

res = http.request(request)

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

Exemplo de resposta

{
  "file":{
    "id":10,
    "name":"file.dat",
    "file_type":"asset",
    "description":"CloudWalk DAT",
    "content":"YT1iCmM9ZAplPWY=",
    "size":11,
    "crc":"416C",
    "updated_at":"2015-03-02T16:30:51Z",
    "created_at":"2015-03-02T16:30:51Z",
    "created_by":1,
    "created_via":"api"
  }
}

Atualização de um arquivo

Modifica um arquivo já existente.

Método e formato da URL

PUT https://api.cloudwalk.io/{versão}/files/{file_id}?access_token={token}

Exemplo de utilização

$ curl -X PUT "https://api.cloudwalk.io/v1/files/3?access_token=$TOKEN" \
-F "[email protected]" \
-F "description=New CloudWalk DAT"
require 'net/http/post/multipart'

token = 'API_TOKEN'

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

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

request = Net::HTTP::Put::Multipart.new(uri.request_uri,
  "description" => "CloudWalk DAT",
  "&asset" => UploadIO.new(File.open("file.dat"), "text/plain", "file.dat")
)

res = http.request(request)

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

Exemplo de resposta

{
  "file":{
    "id":10,
    "name":"file.dat",
    "file_type":"asset",
    "description":"New CloudWalk DAT",
    "content":"YT1iCmM9ZAplPWYKZz1o",
    "size":15,
    "crc":"1E15",
    "updated_at":"2015-03-02T16:42:01Z",
    "created_at":"2015-03-02T16:30:51Z",
    "created_by":1,
    "created_via":"api"
  }
}

Exclusão de um arquivo

Exclui um arquivo.

Método e formato da URL

DELETE https://api.cloudwalk.io/{versão}/files/{file_id}?access_token={token}

Exemplo de utilização

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

token = 'API_TOKEN'

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

{}