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) |
Retorna um array com todos os arquivos.
GET https://api.cloudwalk.io/{versão}/files?access_token={token}
$ 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}"
{
"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"
}
}
]
}
Retorna os detalhes de um arquivo específico.
GET https://api.cloudwalk.io/{versão}/files/{file_id}?access_token={token}
$ 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}"
{
"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"
}
}
Cria um novo arquivo.
POST https://api.cloudwalk.io/{versão}/files?access_token={token}
$ 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}"
{
"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"
}
}
Modifica um arquivo já existente.
PUT https://api.cloudwalk.io/{versão}/files/{file_id}?access_token={token}
$ 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}"
{
"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"
}
}
Exclui um arquivo.
DELETE https://api.cloudwalk.io/{versão}/files/{file_id}?access_token={token}
$ 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}"
{}