Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Definições de Serviços
    1. GET - WSPfsApi/legaldesk/anexo/download/{key}
    2. POST - WSPfsApi/legaldesk/anexo/upload
  3. Assuntos Relacionados

01. VISÃO GERAL

Os serviços especificados neste documento tem por objetivo:

  • Download  - Permitir ao usuário baixar um arquivo que está no Protheus através da chave desse arquivo.
  • Upload - Permitir ao usuário enviar arquivos para o diretório spool do Protheus.

02. DEFINIÇÕES DE SERVIÇOS

 a. GET - WSPfsApi/legaldesk/anexo/download/{key}

Exibe o conteúdo do arquivo que foi anexado no Protheus:

Parâmetro:

key - Chave do Registro de Anexo (NUM_FILIAL+NUM_COD em base 64)

Request Header
LEGALDESK: TRUE
TENANTID: T1,M SP 01
Content-Type: application/json
Response.json
Content-Disposition: attachment; filename="arquivo.txt"
Content-Length: 51
Content-Type: Application/octet-stream
{
    <arquivo.txt>
}

Obs: A transferência do arquivo é realizada via octet-stream e attachment conforme o response acima.

b. POST - WSPfsApi/legaldesk/anexo/upload

Recebe os dados do arquivo que será criado na pasta do Protheus

b.1. Body da requisição

O body da requisição é composto de duas partes. O envio do Anexo via Multipart/Form-Data e o Data que vincula o anexo a entidade de anexos.

Request
LEGALDESK: TRUE
TENANTID: T1,M SP 01
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------126713368602627514962789
Content-Length: 1149
----------------------------126713368602627514962789
Content-Disposition: form-data; name=""; filename="arquivo.txt"

<arquivo.txt>
----------------------------126713368602627514962789
Content-Disposition: form-data; name="data"

{ "entidade": "<Entidade>", "codEntidade": "<Código da Entidade>" } 
----------------------------126713368602627514962789--

O Endpoint dá a opção de receber o anexo e somente criar ele na pasta de Anexos, assim como já criar o vínculo dele na NUM (Anexos Jurídico).

Detalhes das propriedades da solicitação:

    • data.entidade: Tabela da Entidade. Indica qual a tabela que o anexo será vinculado.
    • data.codEntidade: Código da entidade.
      • Importante: O código deve ser a Chave Única da Tabela removendo a Filial do início da Chave, pois há um tratamento interno que resolve a parte da Filial da chave considerando o TenantID passado, caso a tabela seja Exclusiva.
Response.json
{
    "result": "Anexo copiado com sucesso.",
    "entityNUM": {
        "status": "CREATED",
        "id": "0000000139"
    }
}

Detalhes das propriedades da resposta:

    • resposta.result: Resultado geral da operação
    • resposta.entityNUM: Sessão sobre o registro gerado na NUM ( Tabela de Anexos do Jurídico )
    • resposta.entityNUM.id: Código do Anexo, caso a requisição tenha recebido a sessão de "data" no body
    • resposta.entityNUM.status: Status de retorno da geração da NUM. Abaixo os status possíveis
StatusDescrição
CREATED

O registro da NUM foi criado com sucesso. O Id do anexo será retornado na chave id.

Caso o anexo já esteja vinculado na NUM, o sistema irá retornar o Status Created e no Id irá retornar o código do registro que já estava criado.

ERROROcorreu erro no momento do vínculo com a NUM. O erro estará descrito na chave result.
NOT_CREATEDQuando a requisição não contiver a sessão "data" no body o sistema irá somente gerar o arquivo na pasta do Protheus, sem vincular o anexo na NUM.

Obs: A transferência do arquivo deve ser realizada via multipart/form-data conforme o header acima.

Obs²: Para os casos que enviarem a sessão "data", o sistema irá vincular a NUM automaticamente, desse modo não será necessário o uso da JURA290.

03. ASSUNTOS RELACIONADOS