Plataforma (platform)

2.0info: 4.1.2 Armazenamento de Arquivos description: Este serviço permite os clientes armazenar, acessar e atualizar dados na Cloud AWS. x-senior-domain: plataforma x-senior-domain-path: platform x-senior-service-path: blob_service contact: name: Senior X Platform url: https://dev.senior.com.br email: seniorx-dev@senior.com.brhost: api.senior.com.br /platform/blob_servicesecurityDefinitions: bearerAuth: type: apiKey in: header name: Authorization – application/json – application/jsonparameters: clientId: name: client_id type: string in: header required: true description: Identificação da aplicação cadastrada no portal do desenvolvedor (api.xplatform.com.br)paths: /uploadFile: post: description: Cria uma nova área para armazenamento de arquivos, caso ainda não exista e devolve uma url para onde o arquivo deve ser enviado. Essa área de armazenamento é uma espécie de estrutura de diretório único, formada por um domínio/serviço, e uma senha (areaSecret) que permite um certo nível de segurança. Com isso, é possível evitar que um serviço diferente, inadvertidamente, sobrescreva ou exclua arquivos que não são do seu 'domínio'. Obs.: Uma vez definido o areaSecret, não é mais possível alterá-lo. Então, para todas as chamadas subsequentes, será necessário informar o mesmo areaSecret, caso contrário, ele irá tentar criar uma nova área, mas ela já existe. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – #/parameters/clientId – name: input in: body required: true schema: #/definitions/blobRequest responses: 200: description: Ok schema: type: object required: – domainName – serviceName – targetObjectId – location properties: domainName: type: string description: Nome do domínio serviceName: type: string description: Nome do serviço targetObjectId: type: string description: Identificador único do arquivo type: string description: Qual a versão? token: type: string description: As versões podem ter tokens secretos para controlar o acesso location: #/definitions/location fileName: type: string description: O nome efetivo do arquivo default: description: Error response schema: #/definitions/genericError /uploadFiles: post: description: Cria uma nova área para armazenamento de arquivos, caso ainda não exista e devolve uma url para onde os arquivos devem ser enviados. Essa área de armazenamento é uma espécie de estrutura de diretório único, formada por um domínio/serviço, e uma senha (areaSecret) que permite um certo nível de segurança. Com isso, é possível evitar que um serviço diferente, inadvertidamente, sobrescreva ou exclua arquivos que não são do seu 'domínio'. Obs.: Uma vez definido o areaSecret, não é mais possível alterá-lo. Então, para todas as chamadas subsequentes, será necessário informar o mesmo areaSecret, caso contrário, ele irá tentar criar uma nova área, mas ela já existe. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – #/parameters/clientId – name: input in: body required: true schema: type: object required: – blobRequest properties: blobRequest: type: array items: #/definitions/blobRequest description: responses: 200: description: Ok schema: type: object required: – blobDetails properties: blobDetails: #/definitions/blobDetails default: description: Error response schema: #/definitions/genericError /requestDownloads: post: description: Demonstra a intensão de realizar o download de um ou mais arquivos. Quando o arquivo estiver realmente disponível, um sinal downloadAvailable será enviado. Também poderá ser usado isDownloadAvailable para pesquisar a conclusão. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – #/parameters/clientId – name: input in: body required: true schema: type: object required: – blobRequest properties: blobRequest: type: array items: #/definitions/blobRequest description: responses: 200: description: Ok schema: type: object required: – blobDetails properties: blobDetails: #/definitions/blobDetails default: description: Error response schema: #/definitions/genericError /deleteFiles: post: description: Exclui um ou mais arquivos permanentemente. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – #/parameters/clientId – name: input in: body required: true schema: type: object required: – deleteFileInput properties: deleteFileInput: type: array items: #/definitions/deleteFileInput description: responses: 200: description: Ok schema: type: object required: – success properties: success: type: boolean description: default: description: Error response schema: #/definitions/genericError /commitFile: post: description: Confirma o arquivo disponível no local de trabalho fornecido como um anexo permanente para um objeto de destino. Quando a operação realmente for concluída, um sinal fileCommitted será enviado. Apenas o serviço que possui o próprio blob pode confirmar um arquivo. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – #/parameters/clientId – name: input in: body required: true schema: #/definitions/commitFileInput responses: 200: description: Ok schema: type: object required: – domainName – serviceName – targetObject – location properties: domainName: type: string description: Nome do domínio serviceName: type: string description: Nome do serviço targetObject: type: string description: Identificador único do arquivo location: #/definitions/location name: type: string description: Nome do arquivo size: type: integer description: Tamanho do arquivo type: #/definitions/fileType type: string description: Título summary: type: string description: @Deprecated Este campo será removido dia 28/02/2020 keyWords: type: string description: @Deprecated Este campo será removido dia 28/02/2020 contentType: type: string description: Tipo de conteúdo (Mime type) thumbnailGenerationError: type: string description: Thumbnail generation error metadataExtractionError: type: string description: Metadata extraction error default: description: Error response schema: #/definitions/genericError /isDownloadAvailable: post: description: Permite que um cliente verifique se um download solicitado já está disponível. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – #/parameters/clientId – name: input in: body required: true schema: #/definitions/blobDetails responses: 200: description: Ok schema: type: object required: – available properties: available: type: boolean description: default: description: Error response schema: #/definitions/genericError get: description: Permite que um cliente verifique se um download solicitado já está disponível. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – #/parameters/clientId – name: input in: body required: true schema: #/definitions/blobDetails responses: 200: description: Ok schema: type: object required: – available properties: available: type: boolean description: default: description: Error response schema: #/definitions/genericErrordefinitions: fileType: type: string enum: – Unknown – PDF – MsWord – MsExcel – MsPowerPoint – MsVisio – MsOutlook – MsPublisher – OoxmlWord – OoxmlExcel – OoxmlPowerPoint – OoxmlVisio – PlainText – Image – Video – Audio requirement: type: string enum: – Open – External – Temporary protocol: type: string enum: – File – HTTP – S3 – DAV deleteFileInput: type: object required: – domainName – serviceName – targetObject – areaSecret – fileName – failIfNotExists properties: domainName: type: string description: Nome do domínio serviceName: type: string description: Nome do serviço targetObject: type: string description: Identificador único do arquivo. areaSecret: type: string description: Nome da área ou pasta onde se encontra o arquivo, criada durante o upload. fileName: type: string description: O nome efetivo do arquivo. styles: type: array items: type: string description: Utilizado para apagar miniaturas de imagens. Ex: '32×32', '50×50'. Indica qual a proporção da imagem que deve ser apagada. failIfNotExists: type: boolean description: Especifica se esta ação deve falhar se o arquivo fornecido não existir commitFileInput: type: object required: – domainName – serviceName – targetObject – version – areaSecret – release – fileName properties: domainName: type: string description: Nome do domínio serviceName: type: string description: Nome do serviço targetObject: type: string description: Identificador único do arquivo type: string description: Versão do arquivo areaSecret: type: string description: Nome da área ou pasta onde se encontra o arquivo, criada durante o upload release: type: boolean description: Se a cópia de trabalho deve ser liberada após o commit fileName: type: string description: O nome efetivo do arquivo defaultStyle: type: string description: Tamanho default da imagem (substitui o arquivo original): '32×32#', '50×50>' onde o '>' indica que a proporção de tela será mantida styles: type: array items: type: string description: Tamanhos de imagens que deverão ser criadas: '32×32#', '50×50>' onde o '>' indica que a proporção de tela será mantida extractMetadata: type: boolean description: Retornar o metadata do arquivo de forma síncrona cacheTimeToExpireInMonths: type: integer description: Tempo em meses para expirar o cache ignoreThumbnailGenerationErrors: type: boolean description: Ignora erros na criação de thumbnails ignoreMetadataExtractionErrors: type: boolean description: Ignora erros na extração de metadados blobRequest: type: object required: – domainName – serviceName – targetObjectId properties: domainName: type: string description: Nome do domínio serviceName: type: string description: Nome do Serviço areaSecret: type: string description: Nome da área ou pasta onde se encontra o arquivo, criada durante o upload. targetObjectId: type: string description: Identificador único do arquivo. fileName: type: string description: O nome efetivo do arquivo. type: string description: Versão do arquivo token: type: string description: As versões podem ter tokens secretos para controlar o acesso requirements: type: array items: #/definitions/requirement description: Requisitos de localização supportedProtocols: type: array items: #/definitions/protocol description: Os protocolos de transferência de arquivos que o cliente pode suportar. style: type: string description: O tamanho/estilo/formato ex: '32×32#', '50×50>' onde '>' indicado para manter a proporção ttl: type: integer description: Tempo de vida do arquivo em segundos blobDetails: type: object required: – domainName – serviceName – targetObjectId – location properties: domainName: type: string description: Nome do domínio serviceName: type: string description: Nome do serviço targetObjectId: type: string description: Identificador único do arquivo type: string description: Qual a versão? token: type: string description: As versões podem ter tokens secretos para controlar o acesso location: #/definitions/location fileName: type: string description: O nome efetivo do arquivo location: type: object required: – protocol – uri properties: protocol: #/definitions/protocol uri: type: string description: credentials: #/definitions/credentials credentials: type: object properties: genericError: properties: message: type: string description: Messaging describing the error. reason: type: string description: A symbolic code identifying the category of the reason of the error. enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE