Fork me on GitHub

Pasta e Arquivo são referenciados, respectivamente, como: folder e file. Estes compõem a seção de Arquivos de Apoio dispostos em uma Disciplina, onde é possível guardar, organizar e baixar arquivos.

Folder

Representa uma pasta no sistema de arquivos, a qual pode estar contida em uma pasta e conter várias pastas e arquivos. Uma disciplina pode possuir várias pastas.

Atributos

Atributo Descrição
ID Identificador único do Folder
name Nome
created_at Data de criação

Links

Link Descrição
self Pasta em questão
folder Pasta na qual a pasta em questão está contida (pasta pai)
files Arquivos contidos
folders Pastas contidas
space Disciplina onde a pasta se encontra
user Usuário criador

GET /api/folders/:id

Retorna a pasta em questão.

Autorização

É necessário estar matriculado no curso ao qual a pasta pertence (no caso, o curso da disciplina).

Parâmetros

Atributo Descrição Restrições
id ID da pasta N/A

Exemplo

Requisição:
GET /api/folders/4

Resposta:

{
  "id" : 4,
    "name" : "My Folder",
    "created_at" "2012-01-13T12:11:22-02:00…",
    "links" : [
    {
      "href" : "http://www.redu.com.br/api/folders/4",
      "rel" : "self"
    },
    {
      "href" : "http://www.redu.com.br/api/folders/2",
      "rel" : "folder"
    },
    {
      "href" : "http://www.redu.com.br/api/folders/4/files",
      "rel" : "files"
    },
    {
      "href" : "http://www.redu.com.br/api/folders/4/folders",
      "rel" : "folders"
    },
    {
      "href" : "http://www.redu.com.br/api/spaces/1626",
      "rel" : "space"
    },
    {
      "href" : "http://www.redu.com.br/api/users/julianalucena",
      "rel" : "user"
    },
    ]
}

GET /api/folders/:folder_id/folders

Retorna as pastas contidas na pasta em questão.

Autorização

É necessário estar matriculado no curso ao qual a pasta pertence (no caso, o curso da disciplina).

Parâmetros

Atributo Descrição Restrições
id ID da pasta pai N/A

GET /api/spaces/:space_id/folders

Retorna as pastas contidas na disciplina informada.

Autorização

É necessário estar matriculado no curso ao qual a disciplina pertence.

Parâmetros

Atributo Descrição Restrições
id ID da disciplina N/A

POST /api/folders/:id/folders

Cria novo diretório dentro do diretório especificado.

Autorização

É necessário estar matriculado no curso ao qual a disciplina pertence e ser administrador, professor ou tutor no curso.

Parâmetros

Atributo Descrição Restrições
folder[name] Novo nome do arquivo N/A

Exemplo

O exemplo abaixo foi realizado utilizando o programa cURL.

curl \
  -H 'Authorization: OAuth us8Jsbsgbc3bb5b56nCuBFirbXni0LpQWI' \
  -H 'Content-type: application/json' \
  -X 'POST' \
  -d '{ "folder" : { "name" : "new folder" } }' \
  http://redu.com.br/api/folders/31/folders -vv

PUT /api/folders/:id

Atualiza nome de um Folder.

Autorização

É necessário estar matriculado no curso ao qual a disciplina pertence e ser administrador, professor ou tutor no curso.

Parâmetros

Atributo Descrição Restrições
folder[name] Novo nome do arquivo N/A

DELETE /api/folders/:id

Remove a pasta especificada.

Autorização

É necessário estar matriculado no curso e ser administrador, professor ou tutor no curso.

File

Representa um arquivo no sistema de arquivos, o qual está contido em uma pasta.

Atributos

Atributo Descrição
id Identificador único do File
name Nome
mimetype Formato do arquivo
size Tamanho em megabytes
byte Tamanho em bytes
created_at Data de criação

Links

Link Descrição
self Arquivo em questão
folder Pasta na qual o arquivo está contido (pasta pai)
space Disciplina onde a pasta se encontra
user Usuário criador
raw Endereço do arquivo bruto para download

GET /api/files/:id

Retorna o arquivo em questão.

Autorização

É necessário estar matriculado no curso ao qual o arquivo pertence (no caso, o curso da disciplina).

Parâmetros

Atributo Descrição Restrições
id ID do arquivo N/A

Exemplo

Requisição:
GET /api/files/4

Resposta:

{
  "id" : 4,
    "name" : "My File",
    "mimetype" : "application/pdf",
    "size" : "132Mb",
    "byte" : "12213",
    "created_at" "2012-01-13T12:11:22-02:00…",
    "links" : [
    {
      "href" : "http://www.redu.com.br/api/files/4",
      "rel" : "self"
    },
    {
      "href" : "http://www.redu.com.br/api/folders/2",
      "rel" : "folder"
    },
    {
      "href" : "http://www.redu.com.br/api/spaces/1626",
      "rel" : "space"
    },
    {
      "href" : "http://www.redu.com.br/api/users/julianalucena",
      "rel" : "user"
    },
    {
      "href" : "http://s3.amazonaws.com/redu_files/myfiles/attachments/309/original/01_intro.pdf?AWSAccessKeyId=AKIAIRKVQDTWT2NN4J4Q&Expires=1358789646&Signature=AoV34rkOyu9PFNxMxxAqQlDTBzA%3D",
      "rel" : "raw"
    },
    ]
}

GET /api/folders/:folder_id/files

Retorna os arquivos contidos na pasta em questão.

Autorização

É necessário estar matriculado no curso ao qual a pasta / o arquivo pertence (no caso, o curso da disciplina).

Parâmetros

Atributo Descrição Restrições
id ID da pasta N/A

POST /api/folders/:folder_id/files

Cria um novo arquivo dentro da pasta especificada.

Autorização

É necessário estar matriculado no curso e ser administrador, professor ou tutor no curso.

Parâmetros

Atributo Descrição Restrições
file[content] Dados binários do arquivo a ser criado Tamanho máximo de 100 Mb
Upload de arquivos

Em casos casos em que há o upload de arquivos, são necessários os seguintes cabeçalhos HTTP:

1. Content-Type: multipart/form-data
2. Content-Length: 13951 (tamanho do arquivo em bytes)

O uso do Content-type multipart/form-data torna possível que o corpo da requisição HTTP seja composto vários conjuntos de dados, cada qual possuindo seu próprio Content-type. Com isso podemos enviar, além do name e type, os dados binários que compõem uma imagem ou um PDF.

Exemplo

O exemplo abaixo foi realizado utilizando o programa cURL.

curl \
  -H 'Authorization: OAuth us8JsbsgaH32jh3h23g32irbXni0LpQWI' \
  -F 'file[content]=@spec/fixtures/api/pdf_example.pdf;type=application/pdf' \
  http://redu.com.br/api/folders/31/files -vv

DELETE /api/files/:id

Remove o arquivo especificado

Autorização

É necessário estar matriculado no curso e ser administrador, professor ou tutor no curso.