Skip to content
Ronaldo Meneguite edited this page Jul 4, 2018 · 3 revisions

GET /v1/assets/{hash} - Retorna um asset por seu identificador

Permission: assets.show

Parâmetros

[
  {
    "name": "Authorization",
    "in": "header",
    "type": "string",
    "required": false,
    "description": "Token válido",
    "comments": "Esse parâmetro é opcional quando será enviado o parâmetro token via query"
  },
  {
    "name": "hash",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador do Asset a ser retornado"
  },
  {
    "name": "token",
    "in": "query",
    "type": "string",
    "required": false,
    "description": "Token válido",
    "comments": "Esse parâmetro é opcional quando será enviado o parâmetro Authorization via header"
  },
  {
    "name": "download",
    "in": "query",
    "type": "string",
    "required": false,
    "description": "Caso seja enviado true é forçado o download do asset"
  },
]

Respostas

HTTP 200 - Asset retornado com sucesso

No conteúdo da requisição é retornado o conteúdo do Asset

HTTP 400 - Um Identificador inválido foi passado

{
  "message":"Invalid identifier to requested resource"
}

HTTP 401 - Acesso não autorizado

{
  "message":"Unauthorized"
}

HTTP 429 - Excedido o número de tentativas de acesso

{
  "message":"Exceeded the limit of attempts. Wait for 5 minutes for another try."
}

POST /v1/assets - Cadastra um novo Asset

Permission: assets.store

Parâmetros

[
  {
    "name": "Authorization",
    "in": "header",
    "type": "string",
    "required": true,
    "description": "Token válido"
  },
  {
    "name": "file",
    "in": "formData",
    "type": "file",
    "required": true,
    "description": "Arquivo a ser salvo"
  },
  {
    "name": "prefix",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Prefixo a ser usado no nome do arquivo"
  },
  {
    "name": "description",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Descrição do arquivo a ser enviado"
  },
  {
    "name": "others",
    "in": "formData",
    "type": "array",
    "required": false,
    "description": "Informações adicionais a ser armazenadas junto ao asset"
  }
]

Exemplo de Envio:

{
  "file": "Conteúdo do arquivo a ser enviado",
  "prefix": "document",
  "description": "Alguma descrição",
  "others": [
    {
      "info": "Alguma informação extra"
    }
  ]
}

Respostas

HTTP 200 - Upload efetuado com sucesso

{
  "data": {
    "hash": "fa06c90d-edd2-439a-95ff-eedeb065f56b",
    "user_id": null,
    "url": "https://pay.hashlee.com/v1/assets/fa06c90d-edd2-439a-95ff-eedeb065f56b?token=YOUR_TOKEN",
    "path": "assets/2018/03/document-fa06c90d-edd2-439a-95ff-eedeb065f56b.jpg",
    "thumb": null,
    "name": "min",
    "extension": "jpg",
    "type": "image/jpeg",
    "size": 19675,
    "active": false,
    "description": "Alguma descrição",
    "others": [
      {
        "info": "Alguma informação extra"
      }
    ],
    "created_at": "2018-03-09T13:14:57-03:00",
    "updated_at": "2018-03-09T13:14:57-03:00"
  }
}

HTTP 422 - Erro ao validar os parâmetros enviados

{
  "message": "The given data was invalid.",
  "errors": {
    "file": [
      "The file field is required."
    ]
  }
}

HTTP 401 - Acesso não autorizado

{
  "message":"Unauthorized"
}

HTTP 429 - Excedido o número de tentativas de acesso

{
  "message":"Exceeded the limit of attempts. Wait for 5 minutes for another try."
}

Clone this wiki locally