EasyPAC — API de Integração
EasyPAC — API de Integração
Documentação sobre a API REST (JSON) do EasyPAC, que permite que sistemas externos enviem dados de forma automatizada para os módulos de Acesso, Cadastro Geral, Lote e Registro Geral, eliminando a digitação manual de informações já geradas em outros sistemas.
Visão Geral das Integrações Disponíveis
O EasyPAC disponibiliza uma API REST (formato JSON) que permite que sistemas externos do cliente troquem informações com o EasyPAC de forma automatizada, eliminando a digitação manual de dados que hoje são gerados em outros sistemas.
A API é organizada em quatro módulos de integração:
1. Acesso
Autenticação de usuário e geração de token de acesso. É o ponto de entrada obrigatório para qualquer integração.
2. Cadastro Geral
Consulta, criação e atualização de itens cadastrais dentro de um cadastro já existente no EasyPAC (ex: listas de produtos, participantes, fornecedores).
3. Lote
Gerenciamento completo de lotes de produto, lotes de carga e lotes de romaneio. Permite que sistemas de rastreabilidade e logística alimentem o EasyPAC com dados de recebimento, carga e romaneio de produtos.
4. Registro Geral
Consulta e envio de registros de conformidade (monitoramento e verificação), incluindo o lançamento de não conformidades e suas respectivas ações corretivas. Módulo utilizado por sistemas de supervisório, coleta de dados de campo ou sistemas de qualidade que precisam lançar resultados diretamente nas planilhas do EasyPAC.
Autenticação
Todas as rotas da API, exceto o login, exigem que o token de acesso seja enviado no cabeçalho HTTP de cada requisição:
Authorization: Bearer <token>/acesso/login
Autentica o usuário do sistema integrador junto ao EasyPAC e retorna um token JWT que deve ser reutilizado em todas as chamadas seguintes. O dispositivo informado (id_Dispositivo) precisa estar liberado no portal do EasyPAC, consumindo uma licença de integração.
- usuario (obrigatório) — e-mail ou usuário de acesso ao EasyPAC.
- senha (obrigatório) — senha de acesso.
- id_Dispositivo (obrigatório) — identificador único do dispositivo/sistema integrador. Precisa estar previamente liberado no portal.
- hash_dispositivo (opcional) — identificador complementar do dispositivo.
- code — código de retorno da operação (ex: “200” indica sucesso).
- token — token JWT que deve ser enviado no cabeçalho Authorization de todas as demais requisições.
- valid — data e hora até quando o token permanece válido. Após esse prazo, é necessário autenticar novamente.
Módulo Cadastro Geral
Permite que o sistema do cliente (por exemplo, um ERP) mantenha sincronizadas listas cadastrais dentro do EasyPAC, como listas de produtos, participantes ou fornecedores, sem necessidade de cadastro manual dentro do aplicativo.
/cadastro/ObterCadastroPorTipoCadastro/{tipoCadastro}
Consulta o cadastro completo de um determinado tipo (ex: “PRODUTOS-ERP”), retornando todos os itens já cadastrados no EasyPAC para aquele tipo.
- tipoCadastro (obrigatório, na URL) — corresponde ao CNPJ da empresa, preferencialmente sem pontuação.
- id — identificador interno do cadastro no EasyPAC.
- nome — nome do cadastro consultado.
- ativo — indica se o cadastro está ativo (1) ou inativo (0).
- itens — lista de itens pertencentes a esse cadastro, cada um contendo:
- id — identificador interno do item.
- descricao — descrição/nome do item.
- Id_NK — chave natural do item, geralmente o código utilizado no sistema de origem (ERP) para identificar o item de forma única.
- Id_Cadastro — identificador do cadastro ao qual o item pertence.
- ativo — indica se o item está ativo (1) ou inativo (0).
/cadastro/CadastrarItem
Cadastra um novo item dentro de um cadastro já existente no EasyPAC (ex: inclui um novo produto na lista de produtos).
- id — normalmente 0 ao cadastrar um item novo (o EasyPAC gera o identificador).
- descricao — descrição do item a ser cadastrado.
- Id_NK — chave natural/código de origem do item, usada para localizá-lo depois em atualizações.
- Id_Cadastro — identificador do cadastro ao qual o item pertence.
- ativo — indica se o item deve entrar ativo (1) ou inativo (0).
Confirmação de sucesso (HTTP 200). Não há corpo de retorno com dados adicionais.
/cadastro/AtualizarItem
Atualiza um item já existente em um cadastro, localizado normalmente pelo campo Id_NK ou id.
Mesma estrutura do cadastro de item (id, descricao, Id_NK, Id_Cadastro, ativo) — os valores enviados substituem os valores atuais do item.
Confirmação de sucesso (HTTP 200).
Módulo Lote
Permite que sistemas de rastreabilidade, recebimento ou logística enviem ao EasyPAC as informações de lotes de produto, lotes de carga (caminhões/entregas) e lotes de romaneio, mantendo o rastreio de produtos dentro do EasyPAC sincronizado com o sistema de origem do cliente. O módulo é dividido em três sub-entidades relacionadas entre si: Lote Produto (a origem), Lote Carga (a entrega/transporte vinculada ao lote de produto) e Lote Romaneio (o vínculo entre o lote de produto e um número de romaneio/centro).
4.1 Lote Produto
Cadastra um ou mais lotes de produto (aceita uma lista, permitindo envio em massa).
- tipoLote (obrigatório) — código que classifica o tipo de lote.
- codigoLote (obrigatório) — código identificador do lote, usado depois para consultas e vínculos.
- codigoParticipante / nomeParticipante — identificação do participante/fornecedor de origem do lote.
- cidade / uf — localidade de origem do lote.
- propriedadeRural — identificação da propriedade de origem, quando aplicável.
- dataLote — data do lote.
- dataValidadeLote — data de validade do lote.
- quantidadeEntregues / quantidadeDescartados — quantidades recebidas e descartadas no lote.
- cnpjEmpresa — CNPJ da empresa à qual o lote pertence.
- situacao — código de situação do lote.
- idDeIntegracao — identificador de controle usado pelo sistema integrador para rastrear o registro na origem.
O que é retornado: confirmação de sucesso (HTTP 200).
Consulta lotes de produto já cadastrados, filtrando por código do lote, data e, opcionalmente, CNPJ da empresa (o segmento de CNPJ pode ser omitido para uma busca mais ampla).
O que é retornado: uma lista de objetos LoteProduto com os mesmos campos enviados no cadastro (id, tipoLote, codigoLote, codigoParticipante, nomeParticipante, cidade, uf, propriedadeRural, dataLote, dataValidadeLote, quantidadeEntregues, quantidadeDescartados, cnpjEmpresa, situacao, idDeIntegracao), permitindo ao sistema integrador conferir o que já está gravado no EasyPAC.
Arquiva (inativa) um lote de produto. A operação não apaga fisicamente o registro, apenas o desativa.
Campos enviados: codigoLote e dataLote (ambos obrigatórios), usados para localizar o lote a ser arquivado.
O que é retornado: confirmação de sucesso (HTTP 200).
Módulo Registro Geral
Permite que sistemas externos (supervisórios, coletores de dados de campo, sistemas de qualidade) enviem diretamente ao EasyPAC os resultados de monitoramentos e verificações, incluindo o lançamento de não conformidades e das ações corretivas tomadas. É o módulo indicado para eliminar a digitação manual de planilhas de qualidade que hoje são preenchidas em outro sistema e depois copiadas manualmente para o EasyPAC.
Consulta os registros já lançados para uma empresa em uma data base específica, com filtros opcionais por PAC e número de documento.
- IdEmpresa (obrigatório) — código interno da empresa.
- DataBase (obrigatório) — data base da consulta.
- IdPac (opcional) — código do PAC; use 0 para retornar todos.
- NumDoc (opcional) — número do documento.
O que é retornado: lista de registros gerais, com os mesmos campos descritos na rota de envio, permitindo ao sistema integrador conferir o que já foi gravado no EasyPAC.
Consulta somente os registros que possuem não conformidades registradas, para uma empresa, data base e, opcionalmente, um PAC específico (use 0 para todos os PACs).
O que é retornado: lista de registros gerais que contêm ao menos uma não conformidade associada.
É a rota principal de integração com sistemas de supervisão e coleta de dados. Envia um ou mais registros de conformidade (monitoramento ou verificação) para o EasyPAC, podendo incluir não conformidades e suas respectivas ações corretivas no mesmo envio.
- idUsuario (obrigatório) — identificador do usuário responsável pelo lançamento.
- idEmpresa (obrigatório) — identificador da empresa.
- idTurno (obrigatório) — identificador do turno em que o registro foi coletado.
- dataHoraRegistro (obrigatório) — data e hora em que o registro foi coletado.
- dataBase (obrigatório) — data base à qual o registro pertence.
- idPlanilha (obrigatório) — identificador da planilha do EasyPAC onde o registro será lançado. A planilha precisa já existir previamente cadastrada.
- idItemPlanilha (obrigatório) — identificador do item específico dentro da planilha.
- numeroDocumento (opcional) — número de documento associado ao registro.
- numeroRegistro (obrigatório) — número sequencial do registro dentro do conjunto enviado.
- statusConformidade (obrigatório) — indica o resultado da conformidade: 0 = Conforme, 1 = Não Conforme, 3 = Não Aplicável, 4 = Não Observado.
- status (obrigatório) — indica a situação geral do registro: 2 = Ativo, 4 = Em Teste, 6 = Teste Cancelado, 9 = Cancelado.
- tipoRegistro (obrigatório) — indica a natureza do registro: 1 = Monitoramento, 2 = Verificação.
- valor (obrigatório) — valor efetivamente coletado/medido (texto, número ou nome, conforme o tipo do item de planilha).
- observacoes (opcional) — observações adicionais sobre o registro.
- codControle (opcional) — código de controle interno do sistema integrador.
- naoConformidades (opcional) — lista de não conformidades associadas a este registro; pode ser enviada vazia ([]) quando não houver ocorrências. Cada não conformidade contém:
- idNc (obrigatório) — identificador da não conformidade no EasyPAC.
- observacoes (opcional) — descrição da não conformidade.
- responsavelPlano (obrigatório) — identificador do responsável pelo plano de ação.
- acoes (opcional) — lista de ações corretivas vinculadas à não conformidade. Cada ação contém:
- idAcao (obrigatório) — identificador da ação.
- resultado (obrigatório) — resultado da execução da ação: 0 = Conforme, 1 = Não Conforme.
- observacoes (opcional) — observações sobre a execução da ação.
- dataHora (obrigatório) — data e hora em que a ação foi executada.
O que é retornado: confirmação de sucesso (HTTP 200). Registros inválidos dentro do envio retornam mensagem de erro descritiva indicando o motivo da falha (ex: campo obrigatório ausente, planilha não localizada, identificador inexistente).
- A planilha correspondente (idPlanilha) precisa estar previamente cadastrada no EasyPAC.
- Todos os campos obrigatórios da estrutura da planilha precisam existir no envio.
- Os identificadores referenciados (usuário, empresa, item de planilha, PAC, turno) precisam existir previamente no sistema.
Altera um registro geral já existente, identificado pelo seu ID interno no EasyPAC.
id (obrigatório, na URL) — identificador interno do registro a ser alterado.
Mesma estrutura de campos da rota de envio de registros (idUsuario, idEmpresa, idTurno, dataHoraRegistro, idPlanilha, idItemPlanilha, numeroDocumento, numeroRegistro, statusConformidade, status, dataBase, tipoRegistro, valor, observacoes, codControle, naoConformidades) — os valores enviados substituem os valores atuais do registro.
O que é retornado: confirmação de sucesso (HTTP 200).
Códigos de Referência (Valores Codificados)
Status de Conformidade (campo statusConformidade)
- 0 = Conforme
- 1 = Não Conforme
- 3 = Não Aplicável
- 4 = Não Observado
Status Geral do Registro (campo status)
- 2 = Ativo
- 4 = Em Teste
- 6 = Teste Cancelado
- 9 = Cancelado
Tipo de Registro (campo tipoRegistro)
- 1 = Monitoramento
- 2 = Verificação
Resultado da Ação (campo resultado, dentro de ações de não conformidade)
- 0 = Conforme
- 1 = Não Conforme
Códigos de Resposta HTTP
Perguntas Frequentes Sobre o Uso da API
Quero montar um BI próprio, posso utilizar a API?
Sim. A API pode ser consumida por um processo próprio do cliente para alimentar um Business Intelligence.
Posso ligar o Power BI diretamente na API?
Não. Não é possível conectar o Power BI diretamente aos endpoints da API. É necessário montar um processo próprio de extração de dados (ETL) e um Data Warehouse (DW) intermediário, que consolide os dados obtidos via API antes de alimentar o Power BI.
Posso integrar um sistema de supervisório com o EasyPAC para enviar dados automaticamente?
Sim. Essa integração é feita através da rota de envio de registros (POST /registrogeral/enviarregistros), permitindo que o sistema de supervisório envie diretamente os resultados de monitoramento e verificação, incluindo não conformidades e ações corretivas.
Posso montar uma integração com o meu ERP para criar cadastros e lotes que atualizem as listas do EasyPAC?
Sim. O módulo Cadastro Geral permite criar e atualizar itens de cadastro (ex: produtos, participantes), e o módulo Lote permite criar lotes de produto, carga e romaneio, mantendo as listas do EasyPAC sincronizadas com o ERP do cliente.
O EasyPAC busca os dados automaticamente no meu sistema?
Não. A integração funciona apenas no modelo de envio (push): o sistema do cliente é sempre quem inicia o envio das informações para a API do EasyPAC. O EasyPAC nunca consulta ou busca dados no sistema do cliente.
A API cria a estrutura da planilha de qualidade automaticamente?
Não. A planilha e seus itens precisam já estar previamente cadastrados dentro do EasyPAC. A API apenas insere dados dentro de estruturas já existentes; ela não cria planilhas nem itens de planilha.
Preciso me autenticar a cada envio de registro?
Não a cada envio individual, mas o token obtido no login possui prazo de validade (campo valid retornado no login). Após esse prazo, é necessário realizar login novamente para obter um novo token.
Posso enviar mais de um registro em uma única requisição?
Sim. As rotas de cadastro de lote (produto, carga e romaneio) e a rota de envio de registros aceitam uma lista (array) de objetos, permitindo o envio em lote de múltiplos registros em uma única chamada.