Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome físico: | cdp/apiSupplyDocuments.p |
Objetivo
Esta API tem como objetivo incluir a opção de anexar arquivos em uma ordem de compra bem como ser possível realizar ações de consulta, filtro, exclusão, download e upload.
Funcionamento
A API fornece uma série de métodos que podem ser executados individualmente para apresentação de anexos na tela do documento.
A sintaxe para a chamada da API, que deve ser de forma persistente:
run cdp/apiSupplyDocuments.p persistent set h-handle. |
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Quando a API estiver executada em modo persistente, os seguintes métodos estarão disponíveis para execução:
| pi-metadata-v1 | |||||
Requisito | Nenhum. | ||||
Descrição | Repassa o parâmetro do tipo de evento recebido pela API de comunicação (cdp/supplyDocuments) para a API de documentos (hubapi/apiDocuments) chamando o método pi-metadata-v1. Retorna o metadados com campos e ações ativos referentes a tela de Listagem ou Edição, dependendo de qual tipo foi enviado pela requisição, para a montagem dinâmica da tabela com as informações vindas do backend. | ||||
Parâmetros | Tipo | Input/Output | Descrição | ||
oInput | JsonObject | INPUT | Parâmetros para a busca de metadados: pathParams: Informar: metadata.
| ||
| cEvent | Character | INPUT | Identifica qual o tipo de evento vindo do queryParams para a busca do metadado correto. | ||
| cVersion | Character | INPUT | Identifica a versão da API. | ||
| oOutput | JsonObject | OUTPUT | Retorno contendo o metadados com campos e ações conforme parâmetros recebidos:
Para verificar o que significa cada campo de listagem, conferir abaixo:
| ||
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo de busca dos dados. | ||
Retorno | Retorna informações do metadados ou erros ocorridos durante a busca | ||||
| pi-query-v1 | |||||
Requisito | Nenhum. | ||||
Descrição | Repassa os parâmetros recebidos pela API de comunicação (cdp/supplyDocuments) para a API de documentos (hubapi/apiDocuments) após a execução das validações de restrição, chamando o método pi-query-v1. Retorna a lista de anexos relacionados a um documento. | ||||
Parâmetros | Tipo | Input/Output | Descrição | ||
oInput | JsonObject | INPUT | Parâmetros para a busca de anexos: queryParams: → processType=: Tipo do processo vinculado ao documento, sendo "1" a Ordem de Compra, com base na include uninc/i01un403.i. → processKey=: Código da chave do processo, identifica o processo ao qual o anexo pertence. A chave pode ou não ser composta. Caso seja, será separada por pipe "|" e deve ser enviada no formato encode. No exemplo abaixo, a chave "1234%7CABC" está no formato encode e corresponde a chave composta: "1234|ABC".
A consulta também permite a pesquisa por campos. Os parâmetros são os mesmos utilizados na queryParams de busca, sendo apenas adicionando o "search" na requisição juntamente com o critério de filtro que pode ser: nome do anexo, descrição do anexo ou usuário criador. No exemplo abaixo está sendo solicitada uma consulta utilizando um filtro para mostrar apenas os documentos anexados pelo usuário "super".
| ||
| aResult | JsonArray | OUTPUT | Retorno do processo, contendo os itens da listagem de anexos conforme parâmetros enviados.
Para verificar o que significa cada campo, conferir na descrição das temp-tables no final desta documentação:
| ||
| lHasNext | Logical | OUTPUT | Indica se existem mais registros a serem mostrados na página. | ||
| iTotalHits | Integer | OUTPUT | Contagem do total de registros encontrados. | ||
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo. | ||
Retorno | Retorna a lista de arquivos relacionados a um documento ou erros ocorridos durante a busca. | ||||
| pi-upload-v1 | ||||
Requisito | Nenhum. | |||
Descrição | Repassa os parâmetros recebidos pela API de comunicação (cdp/supplyDocuments) para a API de documentos (hubapi/apiDocuments) chamando o método pi-upload-v1. Retorna informações do arquivo em que o upload está sendo efetuado. | |||
Parâmetros | Tipo | Input/Output | Descrição | |
oInput | JsonObject | INPUT | Parâmetros para o upload: pathParams: Informar: upload. queryParams → files=: Arquivo a ser efetuado o upload, sendo enviado também como parâmetro. Exemplo abaixo do formato de requisição com arquivo enviado como parâmetro:
| |
| oOutput | JsonObject | OUTPUT | Informações do arquivo:
Para verificar o que significa cada campo, conferir abaixo:
| |
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo de upload. | |
Retorno | Retorna informações do nome do arquivo e seu conteúdo em base64 ou erros ocorridos durante o processo. | |||
| pi-download-v1 | ||||
Requisito | Nenhum. | |||
Descrição | Repassa os parâmetros recebidos pela API de comunicação (cdp/supplyDocuments) para a API de documentos (hubapi/apiDocuments) chamando o método pi-download-v1. Também realiza validações de restrição dos usuários em relação a menu e processos. Retorna informações do arquivo em que o download está sendo efetuado. | |||
Parâmetros | Tipo | Input/Output | Descrição | |
oInput | JsonObject | INPUT | Parâmetros para download do anexo: pathParams: Informar: download e ID do documento.
| |
| oOutput | JsonObject | OUTPUT | Retorno das informações do arquivo que está sendo realizado o download:
Para verificar o que significa cada campo, conferir abaixo:
| |
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante a busca dos códigos dos anexos. | |
Retorno | Retorna informações de nome e conteúdo do anexo que está sendo feito download ou erros ocorridos durante o processo. | |||
| pi-delete-v1 | ||||||
Requisito | Nenhum. | |||||
Descrição | Repassa os parâmetros recebidos pela API de comunicação (cdp/supplyDocuments) para a API de documentos (hubapi/apiDocuments) chamando o método pi-delete-v1. Também realiza validações de restrição dos usuários em relação a menu e processos. Retorna informações relacionadas a exclusão dos anexos. | |||||
Parâmetros | Tipo | Input/Output | Descrição | |||
oInput | JsonObject | INPUT | Parâmetros para eliminação de anexo individual: pathParams: Informar: ID do anexo.
Parâmetros para eliminação de anexo em lote: Payload: Informar os IDs a serem eliminados:
| |||
| oOutput | JsonObject | OUTPUT | Informações da exclusão: Não há retorno direto via Output nesse método. Em caso de sucesso na exclusão individual ou lote, será retornado vazio. A montagem do JsonObject e seu retorno ocorrerá na API de comunicações, cdp/supplyDocuments com base no conteúdo vindo da temp-table RowErrors. Para mais informações vide documentação : supplyDocuments - Anexos de Suprimentos (Compras, Contratos, entre outros). | |||
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo: A temp-table vem populada com registros criados na API de documentos (cdp/apiDocuments), devido a erros ocorridos durante o processo de eliminação. Esses registros serão usados para a montagem da mensagem de erro que será retornada via OUTPUT de um JsonObject, na API de comunicação (cdp/supplyDocuments), conforme cada caso específico.
Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação:
| |||
| ListaIdsExcluidos | Character | OUTPUT | IDs que foram eliminados com sucesso. Serão apresentado na mensagem de retorno caso aconteça de ter erros e sucessos em uma mesma eliminação em lote | |||
| Retorno | Erros ocorridos durante a eliminação via temp-table RowErrors. | |||||
| pi-create-v1 | ||||
Requisito | Nenhum. | |||
Descrição | Repassa os parâmetros recebidos pela API de comunicação (cdp/supplyDocuments) para a API de documentos (hubapi/apiDocuments) chamando o método pi-create-v1. Também realiza validações de restrição dos usuários em relação a menu e processos. Retorna informações sobre o anexo criado. | |||
Parâmetros | Tipo | Input/Output | Descrição | |
oInput | JsonObject | INPUT | Parâmetros para criação: Payload:
| |
| oOutput | JsonObject | OUTPUT | Informações do anexo criado:
Para verificar o que significa cada campo conferir nas temp-tables no final desta documentação:
| |
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante a criação de arquivo. | |
Retorno | Informações do anexo criado ou erros ocorridos durante o processo. | |||
| pi-valida | ||||
Requisito | Nenhum. | |||
Descrição | Realiza a verificação dos parâmetros passados na queryParams da pi-query-v1, para restrição de consulta, permitindo buscar apenas todos os documentos do tipo e chave de processo informados. | |||
Parâmetros | Tipo | Input/Output | Descrição | |
iProcessType | Integer | INPUT | Tipo do processo vindo da queryParams. Caso não tenha sido passado, será retornado um erro. | |
| cProcessKey | Character | INPUT | Chave do processo vindo da queryParams. Caso não tenha sido passado, será retornado um erro. | |
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo. | |
Retorno | Informações sobre os erros ocorridos durante o processo. | |||
| pi-valida-ordem | ||||
Requisito | Nenhum. | |||
Descrição | Realiza a verificação das permissões do usuário logado em relação ao programa de ordens de compra. | |||
Parâmetros | Tipo | Input/Output | Descrição | |
iProcessType | Integer | INPUT | Tipo do processo vindo da queryParams. | |
| cProcessKey | Character | INPUT | Chave do processo vindo da queryParams. | |
| RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo. | |
Retorno | Informações sobre os erros ocorridos durante o processo. | |||
Definição de temp-tables:
RowErrors | Entrada/Saída | |||
Temp-table com dados dos erros ocorridos durante o processo | Saída | |||
Atributo | Tipo | Descrição | Obrigatório | Evolução |
ErrorSequence | INTEGER | Número da sequência do erro | Sim | Não se aplica |
ErrorNumber | INTEGER | Código do erro | Sim | Não se aplica |
| ErrorDescription | CHARACTER | Descrição do erro | Sim | Não se aplica |
| ErrorParameters | CHARACTER | Parâmetros da mensagem de erro | Sim | Não se aplica |
| ErrorType | CHARACTER | Tipo do erro | Sim | Não se aplica |
| ErrorHelp | CHARACTER | Texto de ajuda da mensagem de erro | Sim | Não se aplica |
| ErrorSubType | CHARACTER | Subtipo do erro | Sim | Não se aplica |
ttDocumentFile | Entrada/Saída | ||||
Temp-table com os campos a serem retornados na busca dos documentos do processo. | Saída | ||||
Atributo | Nome no Objeto | Tipo | Descrição | Obrigatório | Evolução |
num_id_docto | documentId | INTEGER | Número do ID do documento | Sim | Não se aplica |
cdn_tipo_processo | processType | INTEGER | Número do tipo do processo | Sim | Não se aplica |
| desc_tipo_proces | processTypeDescription | CHARACTER | Descrição do tipo do processo | Sim | Não se aplica |
| cod_chave_proces | processKey | CHARACTER | Código da chave do processo | Sim | Não se aplica |
| cod_usuar_docto | creationUser | CHARACTER | Código do usuário criador | Sim | Não se aplica |
| nom_usuar_docto | creationUserName | CHARACTER | Nome do usuário criador | Sim | Não se aplica |
| dtm_criac_docto | creationDatetime | DATETIME | Data e hora da criação | Sim | Não se aplica |
| nom_arq_docto | documentName | CHARACTER | Nome do documento | Sim | Não se aplica |
| nom_dir_docto | documentDir | CHARACTER | Caminho do diretório do documento | Sim | Não se aplica |
| ind_tam_docto | documentSize | CHARACTER | Tamanho do documento | Sim | Não se aplica |
| des_docto | documentDescription | CHARACTER | Descrição do documento | Sim | Não se aplica |