Integracao Touch Comp ERP Terceiros (API/Endpoints)/Tratativa Arquivos Upload Download
Integracao_Touch_Comp_ERP_Terceiros_(API/Endpoints)/Tipos_Recursos_API
Esta wiki detalha o funcionamento de Download e Upload de arquivos/imagens no Touch Comp ERP(API). O funcionamento destes é padrão em todo o sistema, de forma a facilitar e unificar seu funcionamento e integrações com diversos módulos e recursos.
Conceito
O Conceito para upload ou download é o mesmo. Você envia uma solicitação, que irá gerar uma chave(key), que posteriormente será utilizada para informar o envio ou o download do arquivo, no momento que você precisar.
Upload
Em lugares que o sistema precisa de um arquivo, quando você envia um arquivo de Excel para que seja importado, ou quando você envia uma Imagem para ser anexado ao um registro:
- Realiza o upload do arquivo, para o endpoint /auth/services/file-upload/upload
- Ao finalizar o upload, o sistema irá retornar uma chave referente a este upload
- Esta chave, você irá enviar ao serviço em questão, e não o arquivo em si. Ao receber a chave, o sistema acessa seu serviço de arquivos e recupera o arquivo, finalizando processo. Em lugares que é necessário enviar mais de um arquivo, você deve compactá-los em um arquivo zip, e enviar este arquivo zip para Upload.
Download
No caso do download o funcionamento é análogo ao de upload.
- Você solicita em um endpoint o arquivo. Quando o sistema processa e finaliza, será retornado uma chave referente este arquivo.
- Com a chave, você irá chamar o endpoint /auth/services/file-download/download/{chaveArquivo}
Você poderá solicitar o download de uma mesma chave quantas vezes precisar, pois o arquivo fica salvo no gerenciamento de download da API por alguns dias. Não é possível informar exatamente quantos dias, pois o cliente poderá alterar este tempo de retenção conforme sua necessidade.
Abordagem
Esta abordagem facilita o entendimento de integração com um todo do ERP, evitando comportamentos distintos entre recursos. Além disso possibilita um melhor aproveitamento pelo cliente, a nível de eficiência. Por exemplo:
Imagina que você solicitou o arquivo de exportação, que leva vários minutos a ser processado. O arquivo foi processado e você iniciou o download. Neste momento, há algum problema, como de conexão via internet, e o download é cancelado. Com isso, ao solicitar o arquivo novamente, com a mesma chave, o download que será realizado novamente, mas não será necessário gerar todo o arquivo novamente.
Você enviou um arquivo para ser importado. Depois de realizar o upload, você envia para o serviço em questão para ser processado. Neste momento ocorre uma falha, por um parametro informado erroneamente. Nesta abordagem, você não terá que fazer o upload do arquivo novamente. Apenas e unicamente, deverá chamar o mesmo serviço, com a mesma chave, alterando apenas o parametro, para finalizar a importação.