Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome físico: | ccp/v1/ordersSuggestions.p |
Objetivo
Tem a função de fazer o processamento das ordens de compra gerando sugestões de pedido de compras, juntando uma ou mais ordens em um único card/seção. Essa junção é feita obedecendo aos seguintes critérios:
- Estabelecimento
- Fornecedor
- Condição de Pagamento
- Natureza de Compra
- Processo
- Transportador
Funcionamento
A API fornece uma série de métodos que podem ser executados individualmente para apresentação das informações da(s) sugestões de compra.
A sintaxe para a chamada da API, que deve ser de forma persistente:
run ccp/rules/ordersSuggestionsRules.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.
Métodos Negócio
Quando a API estiver executada em modo persistente, os seguintes métodos estarão disponíveis para execução:
pi-metadata-v1 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Requisito | Nenhum. | ||||||||||
Sintaxe | RUN pi-metadata-v1 in handle (INPUT oInput, OUTPUT oOutput). | ||||||||||
Descrição | Repassa o parâmetro do tipo de evento recebido pela API de comunicação (ccp/api/v1/ordersSuggestions) para a camada de negócio (ccp/metadata/orderSuggetionsMetadata) chamando o método pi-metadata-v1. Retorna o metadados com os campos referentes a tela de Listagem (list), Edição (edit) ou Detalhe (detail), dependendo de qual tipo foi enviado pela requisição, para a montagem dinâmica da tela com as informações vindas do backend. | ||||||||||
Parâmetro | Tipo | Input/Output | Descrição | ||||||||
oInput | JsonObject | INPUT | Parâmetros requisitados para busca de metadados.
| ||||||||
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 os campos conforme parâmetros recebidos:
List
Edit
Descrição dos campos:
Detail
Descrição dos campos:
| ||||||||
RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo de busca dos dados. | ||||||||
Retorno | Retorna a busca dos dados do metadados escolhido ou erros ocorridos durante a busca. |
pi-query-v1 | |||||||
---|---|---|---|---|---|---|---|
Requisito | Ter registro nas tabelas de sugestão de pedido, registro esse criado através da execução do método pi-process. | ||||||
Sintaxe | RUN pi-query-v1 in handle (INPUT oInput, OUTPUT oOutput). | ||||||
Descrição | Executa a consulta das sugestões de pedido de compra no banco de dados, geradas pelo método pi-process e repassa os parâmetro da requisição recebido pela API de comunicação (ccp/api/v1/ordersSuggestions.p) para a camada de negócio (ccp/rules/ordersSuggestionsRules.p) chamando o método pi-query-v1. É possível filtrar a API utilizando filtros simples e complexos. Retorna as sugestões de pedido de compra. Se houver filtro, retorna os valores filtrados. | ||||||
Parâmetro | Tipo | Input/Output | Descrição | ||||
oInput | JsonObject | INPUT | Parâmetros para busca de sugestões de pedido de compra:
| ||||
aResult | JsonArray | OUTPUT | Retorno da requisição trazendo as informações das sugestões de pedido de compra.
Descrição dos campos:
| ||||
lHasNext | Logical | OUTPUT | Indica que existem mais registros a serem mostrados. | ||||
aExpandables | JsonArray | OUTPUT | Cria um novo array caso a tabela de processo de sugestão de pedido de compra não esteja disponível. | ||||
RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo de busca dos dados. | ||||
Retorno | Retorna a busca das sugestões de pedido de compra bem como seus dados, ou erros ocorridos durante a busca. |
pi-query-orderlines-v1 | |||||
---|---|---|---|---|---|
Requisito | Ter registro nas tabelas de sugestão de pedido, registro esse criado através da execução do método pi-process. | ||||
Sintaxe | RUN pi-query-orderlines-v1 in handle (INPUT oInput, OUTPUT oOutput). | ||||
Descrição | Busca as ordens de compra das sugestões cadastradas na tabela de ordens da sugestão do pedido de compra (sugest-ped-comp-ordem) através de uma chave. Para montar a chave é necessário o código do usuário, sequência do processamento e sequência da sugestão (valores esses que podem ser consultados via pi-query-v1). Repassa o parâmetro recebido pela API de comunicação (ccp/api/v1/ordersSuggestions.p) para a camada de negócio (ccp/rules/ordersSuggestionsRules.p) chamando o método pi-query-orderlines-v1. Retorna as informações das ordens relacionadas a chave enviada por pathParam. | ||||
Parâmetro | Tipo | Input/Output | Descrição | ||
oInput | JsonObject | INPUT | Parâmetros para busca das ordens de compras atreladas a uma sugestão de pedido de compra:
| ||
aResult | JsonArray | OUTPUT | Retorno trazendo todas as ordens atreladas ao usuário, processo e sequência enviados por pathParams.
Descrição dos campos:
| ||
lHasNext | Logical | OUTPUT | Indica que existem mais registros a serem mostrados. | ||
RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante o processo de busca dos dados. | ||
Retorno | Retorna as ordens de uma sugestão de pedido de compra conforme a chave, ou erros ocorridos durante a busca |
pi-validate-fields | |||||||
---|---|---|---|---|---|---|---|
Requisito | Nenhum. | ||||||
Sintaxe | RUN piValidateFields in handle (INPUT oInput, OUTPUT oOutput). | ||||||
Descrição | Valida se o campo messageText, responsável por trazer o texto da mensagem na modal de Gerar Pedido, está preenchido corretamente conforme seu campo auxiliar "messageCode" (Código de mensagem, na modal Gerar Pedido). Caso haja alguma falha no preenchimento, ele será validado e retornado preenchido corretamente em um JSON, evitando assim erro na exibição das informações. O parâmetro é repassado pela api de comunicação (ccp/api/v1/ordersSuggestions) para a camada de negócio (ccp/rules/ordersSuggestionsRules) chamando o método piValidateFields. Retorna o texto da mensagem enviada por payload. | ||||||
Parâmetro | Tipo | Input/Output | Descrição | ||||
oInput | JsonObject | INPUT | Parâmetros para busca de ordens específicos.
| ||||
oOutput | JsonObject | OUTPUT | Informações do respectivo texto cadastrado para o código da mensagem enviado por payload
Descrição dos campos:
| ||||
RowErrors | Temp-table | OUTPUT | Informações sobre os erros ocorridos durante a busca dos dados. | ||||
Retorno | Texto cadastrado para o código da mensagem enviado por payload, bem como o próprio código da mensagem. |
pi-process-v1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
Requisito | Nenhum. | ||||||||
Sintaxe | RUN pi-process-v1 in handle (INPUT oInput, OUTPUT oOutput). | ||||||||
Descrição | Realiza o processamento das sugestões de pedido, ou seja, procura as ordens de compra com campos em comum e cria os registros das tabelas sugest-ped-comp-process, sugest-ped-comp e sugest-ped-comp-ordem. Repassa os parâmetros recebidos pela API de comunicação (ccp/rules/ordersSuggestions) para a camada de negócio (ccp/rules/ordersSuggestionsRules) chamando o método pi-process-v1. O processamento é feito com base no que for recebido por payload. Além do payload vazio, é possível enviar nele filtros limitando assim as ordens que serão consideradas para a geração de sugestões, com base em diferentes critérios e combinações. Uma sugestão de compra é gerada quando uma ou mais ordens seguem todas as especificações a seguir:
| ||||||||
Parâmetro | Tipo | Input/Output | Descrição | ||||||
oInput | JsonObject | INPUT | Parâmetros para busca de ordens específicos.
| ||||||
oOutput | JsonObject | OUTPUT | Retorno da requisição trazendo as informações da finalização do processamento.
Descrição dos campos:
| ||||||
Retorno | Retorna os dados relacionados a criação do processamento da sugestão. |