Guia prático que explica como anexar ficheiros a documentos
Anexar ficheiro a um documento
O processo é realizado em dois passos. No primeiro o ficheiro é transferido para o servidor de uploads para uma área temporária. No segundo passo a API é utilizada para estabelecer a associação ao documento sendo então o ficheiro arquivado definitivamente.
A tabela apresenta os URL de API e UPLOAD em função do serviço:
Para utilizar os exemplos deste guia sugerimos exportar a configuração para variáveis de shell, por exemplo para o serviço Cloudware Business, depois obter um token de acesso definir as seguintes variáveis.
1º Passo transferir ficheiro para o servidor de arquivo
Neste passo o ficheiro é transferido para uma área temporária no servidor de ficheiros, o método devolve o caminho para um ficheiro único temporário que será mantido durante sete dias.
O servidor de ficheiros retorna no atributo file o identificador do ficheiro temporário que será utilizado no próximo passo.
200 Ficheiro transferido com sucesso (Content-Type: application/json)
Para usar este identificador no exemplo do passo 2 coloque-o na variavel TEMP_FILE
Respostas de erro
413 Ficheiro excede o limite de 50 MB, resposta (Content-Type: text/html)
401 Token de acesso não é válido (Content-Type: text/html)
2º Passo associar ficheiro ao documento
A API disponibiliza três rotas para associar anexos documentos:
/api/attachments/purchases_documents/:document_id - para associar a facturas de compra
/api/attachments/documents/:document_id - para associar a facturas de venda
/api/attachments/receipts/:document_id - para associar a recibos
Estas rotas aceitam pedidos POST com o seguinte body:
Exemplo de pedido para factura de compra, para executar definir TEMP_FILE com valor obtido no 1º passo e DOCUMENT_ID com o identificador de uma fatura de compra da empresa.
413 A empresa não tem espaço disponível, será necessário comprar mais espaço arquivo (Content-Type: application/json)
401 A empresa não tem o módulo de arquivo digital activado ou utilizador da sessão não tem permissão para aceder (Content-Type: application/json)
{
"data": {
"type": "attachment",
"attributes": {
"file": <nome do ficheiro temporário obtido no 1º passo>,
"file_name": <nome com que o ficheiro será arquivado e exibido ao utilizador>,
"file_type": <application/pdf ou image/jpeg ou image/png>
}
}
}
{
"errors": [
{
"status": "413",
"code": "JA000",
"detail": "Excedeu o limite de espaço do seu arquivo digital"
}
]
}