Ir para o conteúdo principal

EasyproProdutoMedida

Documentacao Tecnica
Nome do cliente OSKLEN
Nome do projeto Integracao LINX - EasyPro
Biblioteca wosk_easypro_produto_medida
Data 30/03/2026

Historico de Versoes
Data Versao Modificado por Descricao da Mudanca
30/03/2026 1.0 Maykon/Gustavo Criacao da documentacao tecnica do servico de tabela de medidas de produto EasyPro.

Descricao

Este servico de tabela de medidas disponibiliza a consulta de produtos e suas medidas tecnicas no EasyPro.
O processo valida filtros de entrada, monta a lista de itens de medida por produto e retorna o resultado consolidado em JSON.

Endpoint (API)

O endpoint recebe parametros para consulta de produtos com tabela de medidas. A consulta pode ser executada por data de cadastramento ou por codigo de produto, com paginacao opcional por limite e deslocamento.

  • Chamada: Requisicao HTTP
  • Recurso: /bibliotecas/a30bc99d-3c43-4810-be03-a705b02ea115/wosk_easypro_produto_medida
  • Metodo HTTP: GET

Estruturacao de Dados
Campo Tipo Obrigatorio Descricao
key string Sim Chave de autenticacao da requisicao.
DATA_CADASTRAMENTO datetime Condicional Obrigatorio quando PRODUTO nao for informado.
PRODUTO string Nao Codigo do produto para consulta direta.
OFFSET number Condicional Obrigatorio quando LIMIT for informado.
LIMIT number Nao Quantidade maxima de linhas retornadas.
Estrutura de cada elemento de ITENS retornado no payload
Campo Tipo Obrigatorio Descricao
CODIGO_MEDIDAS string Sim Codigo da medida vinculada ao produto.
MEDIDA string Sim Descricao da medida.
TAMANHO_BASE string Sim Tamanho base da grade.
PORC_TOLERANCIA number Sim Percentual de tolerancia da medida.
M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13 number Sim Valores numericos de medidas por posicao da tabela.

Exemplo de payload enviado para o endpoint (JSON):

{
    "key": "<API_KEY>",
    "DATA_CADASTRAMENTO": "<YYYY-MM-DD HH:MM:SS>",
    "PRODUTO": "<PRODUTO>",
    "OFFSET": <OFFSET>,
    "LIMIT": <LIMIT>
}
Estrutura da mensagem de resposta (GET)

Exemplo de resposta do endpoint (GET):

{
    "ROWS": [
        {
            "PRODUTO": "12345",
            "DESC_PRODUTO": "CAMISETA BASICA",
            "CODIGO_GRUPO": "01",
            "GRUPO_PRODUTO": "VESTUARIO",
            "CODIGO_SUB_GRUPO": "0101",
            "SUBGRUPO_PRODUTO": "CAMISETAS",
            "GRADE": "ADULTO",
            "CODIGO_TABELA_MEDIDAS": "TB001",
            "DATA_CADASTRAMENTO": "2026-03-30 00:00:00",
            "ITENS": [
                {
                    "CODIGO_MEDIDAS": "01",
                    "MEDIDA": "BUSTO",
                    "TAMANHO_BASE": "M",
                    "PORC_TOLERANCIA": 2.5000,
                    "M1": 48.0000,
                    "M2": 50.0000,
                    "M3": 52.0000,
                    "M4": 54.0000,
                    "M5": 56.0000,
                    "M6": 58.0000,
                    "M7": 60.0000,
                    "M8": 62.0000,
                    "M9": 64.0000,
                    "M10": 66.0000,
                    "M11": 68.0000,
                    "M12": 70.0000,
                    "M13": 72.0000
                }
            ]
        }
    ],
    "TOTAL": 1
}

Operação de Dados

Leitura principal: a consulta base usa SELECT DISTINCT na view W_ISNAPP_EASYPRO_TABELA_MEDIDAS para retornar dados gerais do produto e referencia da tabela de medidas, com filtros dinamicos de DATA_CADASTRAMENTO e PRODUTO.

SELECT DISTINCT PRODUTO, DESC_PRODUTO, CODIGO_GRUPO, GRUPO_PRODUTO, CODIGO_SUB_GRUPO, SUBGRUPO_PRODUTO, GRADE, CODIGO_TABELA_MEDIDAS, DATA_CADASTRAMENTO FROM W_ISNAPP_EASYPRO_TABELA_MEDIDAS

Leitura complementar de medidas: para cada PRODUTO retornado na consulta principal, o servico executa busca adicional na mesma view para montar o array ITENS e remove PRODUTO da subestrutura interna.

SELECT
    PRODUTO,
    CODIGO_MEDIDAS, MEDIDA, TAMANHO_BASE, PORC_TOLERANCIA, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13
FROM W_ISNAPP_EASYPRO_TABELA_MEDIDAS
WHERE PRODUTO = '<PRODUTO>'

Transformacao de dados: PORC_TOLERANCIA, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13 sao normalizados com setNumeric antes da serializacao da resposta.

Tratamento de dados

Montagem da consulta principal:

  • LIMIT e OFFSET sao convertidos para inteiro por cast explicito antes de compor a clausula de paginacao OFFSET ... FETCH NEXT ....
  • Na montagem dos filtros com bind, os valores sao enviados como string; quando o valor for NULL(), ocorre conversao para null antes do bind.

Pos-leitura de dados (consulta complementar de ITENS):

  • PORC_TOLERANCIA, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13: normalizados com setNumeric(...) para padronizacao numerica antes da serializacao do retorno.
  • O campo PRODUTO e removido da subestrutura de ITENS com unset($r['PRODUTO']) para evitar redundancia, mantendo o codigo do produto apenas no nivel principal do registro retornado.

Montagem da resposta final:

  • Para cada registro principal, o array ITENS e acoplado ao registro de produto, consolidando dados gerais e medidas detalhadas em uma unica estrutura JSON.
  • O contador TOTAL e incrementado por registro efetivamente serializado em ROWS, garantindo consistencia entre volume retornado e metadado de totalizacao.
Integracao
  • Processamento: Consulta no banco LINX/EasyPro
  • Tabelas: W_ISNAPP_EASYPRO_TABELA_MEDIDAS

Tratamento de retorno

Sucesso: retorna JSON com ROWS, TOTAL, Mensagem = OK e Mensagem Detalhada = Listagem Efetuada.
Erro: validacao de parametros e metodos nao implementados retornam excecao com detalhe do problema.

Fluxo do Processo

wosk_easypro_produto_medida.jpg

Criterios de Aceitacao
Processo Subprocesso Descricao Situacao esperada
Endpoint (API) Consulta por data Ao enviar GET sem PRODUTO, o servico deve exigir DATA_CADASTRAMENTO e aplicar filtro pela data informada. Resposta restrita aos produtos cadastrados na data solicitada.
Endpoint (API) Consulta por produto Ao enviar GET com PRODUTO, o servico deve montar o array ITENS com as medidas detalhadas do produto. Resposta contendo dados gerais do produto e subestrutura ITENS com medidas numericas normalizadas.
Endpoint (API) Paginacao Ao informar LIMIT, o servico deve exigir OFFSET e aplicar ordenacao por PRODUTO com OFFSET/FETCH. Consulta paginada sem quebra de contrato de entrada.

Situacoes consideradas
Valor Significado
GET Executa consulta de tabela de medidas de produto.
LIMIT + OFFSET Ativa paginacao ordenada por produto.
Mensagem = OK Indica listagem concluida com sucesso.