Ir para o conteúdo principal

EasyproPedidoCompra

Documentação Técnica
Nome do cliente OSKLEN
Nome do projeto Integração LINX - EasyPro
Biblioteca wosk_easypro_pedido_compra
Data 30/03/2026

Histórico de Versões
Data Versão Modificado por Descrição da Mudança
30/03/2026 1.0 Maykon/Gustavo Criação da documentação técnica do serviço de pedido de compra EasyPro.

Descrição

Este serviço de pedido de compra disponibiliza consulta e atualização de itens de pedido no EasyPro.
O fluxo valida os parâmetros recebidos, busca os dados em views de apoio e persiste a inspeção de itens na tabela de compras.

Endpoint (API)

O endpoint recebe parâmetros de consulta para listar pedidos de compra com paginação opcional e detalhes de itens por pedido. No modo de atualização, recebe o número do pedido e a lista de itens inspecionados para atualizar os registros correspondentes.

 
Contrato HTTP - Consulta
  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/3e4db338-c809-489b-a571-45caff304f86/wosk_easypro_pedido_compra
  • Método HTTP: GET
 
Contrato HTTP - Atualização
  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/3e4db338-c809-489b-a571-45caff304f86/wosk_easypro_pedido_compra
  • Método HTTP: PUT

Campos adicionais tratados no fluxo interno de gravação: PEDIDO, PRODUTO, COR_PRODUTO, QTDE_INSPECIONADA e DATA_PARA_TRANSFERENCIA, com validação de existência prévia na tabela COMPRAS_PRODUTO antes da atualização.

Estruturação de Dados
Campos de consulta (GET)
Campo Tipo Obrigatório Descrição
key string Sim Chave de autenticação da requisição.
EMISSAO datetime Condicional Obrigatório quando PEDIDO, FORNECEDOR e COD_FORNECEDOR não são informados.
PEDIDO string Não Número do pedido de compra.
FORNECEDOR string Não Nome do fornecedor associado ao pedido.
COD_FORNECEDOR string Não Código do fornecedor associado ao pedido.
OFFSET number Condicional Obrigatório quando LIMIT for informado.
LIMIT number Não Quantidade máxima de linhas retornadas.
Campos de entrada para atualização (PUT)
Campo Tipo Obrigatório Descrição
key string Sim Chave de autenticação da requisição.
PEDIDO string Sim Número do pedido de compra que será atualizado.
ITENS array Sim Lista de itens inspecionados para atualização.
Estrutura de cada elemento de ITENS
Campo Tipo Obrigatório Descrição
PRODUTO number Sim Código referência do produto.
COR_PRODUTO string Sim Código SKU do produto.
QTDE_INSPECIONADA number Sim Quantidade inspecionada para o item do pedido.

Exemplo de payload enviado para o endpoint (JSON):

{
    "key": "<API_KEY>",
    "PEDIDO": "<PEDIDO>",
    "ITENS": [
        {
            "PRODUTO": <PRODUTO>,
            "COR_PRODUTO": "<COR_PRODUTO>",
            "QTDE_INSPECIONADA": <QTDE_INSPECIONADA>
        }
    ]
}
 
Estrutura da mensagem de resposta

Exemplo de resposta do endpoint (GET):

{
    "ROWS": [
        {
            "PEDIDO": "0001234567",
            "EMISSAO": "2026-03-30 00:00:00",
            "FORNECEDOR": "FORNECEDOR EXEMPLO",
            "COD_FORNECEDOR": "000045",
            "QTDE_TOTAL": 120.0000,
            "ITENS": [
                {
                    "PRODUTO": 1002003,
                    "COR_PRODUTO": "AZ01",
                    "QTDE_ENTREGAR": 50.0000,
                    "QTDE_ENTREGUE": 10.0000
                }
            ]
        }
    ],
    "TOTAL": 1
}

Exemplo de resposta do endpoint (PUT):

{
    "PEDIDO": "0001234567",
    "ITENS": [
        {
            "PRODUTO": 1002003,
            "COR_PRODUTO": "AZ01",
            "QTDE_INSPECIONADA": 12,
            "PEDIDO": "0001234567"
        }
    ],
    "Mensagem Detalhada": "Registrado com sucesso.",
    "Mensagem": "OK"
}

Operações com Dados

Leitura principal (consulta): a listagem de pedidos utiliza a view W_ISNAPP_EASYPRO_PEDIDO_COMPRAS com filtros dinâmicos de EMISSAO, PEDIDO, FORNECEDOR e COD_FORNECEDOR, além de paginação por ORDER BY PEDIDO ASC OFFSET/FETCH quando LIMIT é informado.

SELECT * FROM W_ISNAPP_EASYPRO_PEDIDO_COMPRAS

Leitura complementar de itens: para cada pedido retornado, o serviço consulta os itens em W_ISNAPP_EASYPRO_PEDIDO_COMPRAS_ITEM, converte QTDE_ENTREGAR e QTDE_ENTREGUE com setNumeric e remove PEDIDO da subestrutura ITENS.

SELECT * FROM W_ISNAPP_EASYPRO_PEDIDO_COMPRAS_ITEM WHERE PEDIDO = '<PEDIDO>'

Persistência: a atualização ocorre com transação explícita na tabela COMPRAS_PRODUTO, preenchendo QTDE_INSPECIONADA e DATA_PARA_TRANSFERENCIA com data/hora corrente para cada item recebido.

Tratamento de Dados

Transformações aplicadas nos dados durante o processamento:

QTDE_TOTAL, QTDE_ENTREGAR, QTDE_ENTREGUE: normalizados para padronização numérica no retorno.

ITENS.PEDIDO: removido na montagem da subestrutura de itens para eliminar redundância com o PEDIDO do nível principal.

OFFSET, LIMIT: convertidos para inteiro antes de compor a paginação da consulta.

ITENS.PEDIDO: preenchido com o valor de PEDIDO do payload principal antes da atualização, para consolidar a chave de persistência por PEDIDO, PRODUTO e COR_PRODUTO.

Integração
  • Processamento: Consulta e atualização no banco LINX/EasyPro
  • Tabelas: W_ISNAPP_EASYPRO_PEDIDO_COMPRAS, W_ISNAPP_EASYPRO_PEDIDO_COMPRAS_ITEM, COMPRAS_PRODUTO

Tratamento de retorno

Sucesso em consulta: retorna estrutura JSON com ROWS e TOTAL, além de metadados com Mensagem = OK e Mensagem Detalhada = Listagem Efetuada.
Sucesso em atualização: retorna os dados recebidos com Mensagem = OK e Mensagem Detalhada = Registrado com sucesso.
Erro: validações obrigatórias, método não implementado e falhas de transação geram exceção com detalhe do motivo.

Fluxo do Processo

wosk_easypro_pedido_compra.drawio.jpg

Critérios de Aceitação
Processo Subprocesso Descrição Situação esperada
Endpoint (API) Consulta de pedidos Ao enviar GET com filtros válidos, o serviço deve aplicar filtros dinâmicos na view de pedidos e montar ITENS para cada pedido retornado. Resposta com ROWS preenchido e TOTAL coerente com os filtros.
Endpoint (API) Validação de contrato Ao enviar PUT sem PEDIDO ou sem ITENS, o serviço deve bloquear a gravação e retornar erro de validação. Sem atualização em COMPRAS_PRODUTO e exceção com mensagem descritiva.
Endpoint (API) Atualização de itens Ao enviar PUT com PEDIDO e itens existentes, o serviço deve atualizar QTDE_INSPECIONADA e DATA_PARA_TRANSFERENCIA em transação única. Registros atualizados em COMPRAS_PRODUTO e retorno com Mensagem = OK.

Situações consideradas
Valor Significado
GET Executa consulta de pedidos com filtros e paginação opcional.
PUT Atualiza itens inspecionados do pedido na tabela COMPRAS_PRODUTO.
Mensagem = OK Operação finalizada com sucesso para consulta ou atualização.