
OBJETIVO
Integrar os sistemas Seidor e Ti9, referente aos registros de Clientes, Produtos e Pedidos de Vendas.
PRÉ-REQUISITOS
Vide Interface de Programação de Aplicativos (API) para integração ao ERP Ti9: Layout de Integração Ti9 v2.3.pdf
Vide manual da API para toda a especificação técnica: PORTAL - Interface de Programação de Aplicativos (API) para integração ao ERP Ti9 - V1.6.pdf
UTILIZAÇÃO
Através dos endpoints disponibilizados, as informações pode ser trocadas com o sistema Ti9 usando os métodos HTTP: POST e GET.
O método POST deve ser usado tanto para a inclusão dos registros quanto para a atualização destes. A API recepcionará o JSON enviado via POST. Todos os dados serão validados e caso estejam coerentes, o registro será salvo.
Para os Produtos:
- Caso um POST seja realizado em um registro já existente, o mesmo será atualizado com todos os dados do JSON.
Para os Clientes:
- Na criação de novo cliente, a resposta do servidor será: 201 - Created, seguida da mensagem que identifica, através de um número, o registro do cliente criado: "Requisição executada com sucesso. Código Pessoa: 007777", onde "007777" é o código do cliente atribuído pelo Ti9.
- Também sobre a inserção de um novo cliente, o valor de Código de Serviço Correios (visível através do GET Pedido Vendas) terá como valor padrão "04162".
- Caso um POST seja realizado em um registro já existente, o mesmo será atualizado com os dados do JSON. A API reconhece o cliente através do CNPJ.
Para os Pedidos de Vendas:
- O campo "ped_cliente" do layout deve ser enviado com o número do pedido Seidor. Este dado é muito importante para a identificação do pedido quando da atualização deste. Vide abaixo.
- Quando da inserção do pedido de vendas, após validação, todos os dados serão salvos. A resposta do servidor será: 201 - Created, seguida da mensagem que identifica, através de um número, o pedido de vendas criado: “Pedido de vendas adicionado com sucesso! Número (Ti9): 0099999”, onde "0099999" é o número que o Ti9 atribuiu ao pedido criado.
- Os pedidos de venda serão recebidos a nível da etapa "Pedido", no Fluxo de aprovações do Ti9.
- A partir deste momento, o pedido de vendas fica aguardando a atualização por parte dos sistemas Seidor, das informações de Meios de Pagamento, Peso Líquido, Peso Bruto e Volume.
Importante: Devido ao fato de todo o cálculo de peso bruto, líquido e volume serem feitos em outros sistemas, o Ti9 espera receber estas informações. Portanto, estas deve ser recebidas no cabeçalho do JSON como total, isto é, a soma dos pesos e volumes de todos os itens.
- O Ti9 então identifica este pedido com o status "W_UP_FROM_SEIDOR" e bloqueia qualquer tentativa de avanço no fluxo deste pedido de vendas, conforme ilustram as figuras 01 e 02:
Figura 01 - Relação dos pedidos. Aqui notamos quatro pedidos que estão com a situação de aguardo de atualizações.
Figura 02 - Pedido de vendas com fluxo bloqueado por ainda estar aguardando as atualizações de Meio de Pagamento, Pesos Líquido e Bruto e Volume.
- Quando o sistema Seidor desejar enviar estas atualizações para o Ti9, então ele deve realizar um novo POST, com o JSON completo do pedido de vendas. A API identificará o pedido de vendas através do campo "ped_cliente", conforme já citado.
- A partir de então, serão considerados os dados de Meio de Pagamento, Pesos Bruto e Líquido, Volume e Itens (vide abaixo), recepcionados no JSON. Os dados serão validados e estes serão atualizados no registro do pedido de vendas.
Importante: assim como os dados Meio de Pagamento, Pesos Bruto e Líquido e Volume, a API também irá considerar os itens recepcionados. Isto quer dizer que, se o JSON inicial contemplava 03 itens, mas o JSON de atualização contempla 02 itens, então este pedido ficará, no final, com 02 itens. A API remove e recoloca os itens do pedido, conforme explicitado no JSON.
- A partir daí, o pedido está liberado para seguir o fluxo.
GET do status do Pedido de Vendas:
- A API também disponibiliza um GET para que o sistema Seidor receba a situação deste pedido de vendas, isto é, em qual etapa do fluxo Ti9 ele se encontra. São eles:
PENDENTE: o pedido de vendas se encontra na etapa "Pedido" do fluxo do Ti9. Pode ou não já ter recebido as atualizações por parte da Seidor. O pedido pode ser atualizado por parte da Seidor quantas vezes for necessário se ainda estiver nesta etapa.Figura 03 - Get do status Etapa Pendente.
Figura 04 - Post da atualização Etapa Pendente.
APROVADO: o pedido de vendas já foi atualizado com as informações por parte da Seidor e o usuário já o avançou no fluxo do Ti9. As atualizações neste pedido por parte da Seidor não são mais aceitas, onde qualquer tentativa retornará mensagem de crítica por parte da API.
Figura 05 - Get do status. Aprovado:
Figura 06 -Post de tentativa de atualização
FATURADO: o pedido já foi faturado no Ti9. Pode ou não já ter sua nota transmitida (NFe) para a SEFAZ. Caso já tenha sido transmitida com sucesso, o retorno também contemplará o número e série da NF, bem como a DANFE em formato Base64.
Figura 07 - Get do status. Pedido já faturado e NFe devidamente transmitida para a SEFAZ. Veja que o DANFE está contido no JSON, em formato Base64. Importante: Inserção de Etiquetas para parametrização de TAG de Serviço do Transportador
Para que o código de serviço do correios seja disponibilizado no endpoint Get Pedido de Vendas, deve-se cadastrá-lo na tela "Campo do EDI e Etiquetas" de acordo com as instruções abaixo:1.Cadastro do Grupo “CORREIOS”2.Cadastro da variável "CÓDIGO SERVIÇO"3.Grupo "CORREIOS" inserido no cadastro do cliente4.Variável do Serviço inserido no Cadastro do Cliente5.Sobre a qual parte do Fluxo de Aprovações do Pedido de Vendas acionaria a disponibilização de tal campo para a OT, foi concordado que seria a etapa Expedição.Cabe aqui ressaltar que o Faturista poderá mudar o valor do campo "CÓDIGO SERVIÇO" na tela acima a qualquer momento antes da etapa Expedição. Caso a etapa de Expedição já tenha sido alcançada, deve-se voltar o pedido para uma etapa anterior de modo a realizar esta alteração.
GET do Produto
- A API disponibiliza um GET para que o sistema Seidor receba dados de produtos.
Para tal, deve-se primeiro parametrizar os grupos de estoque que serão usados para filtrar o retorno de tais produtos.
A parametrização deve ser feita no ERP Ti9 através do módulo "Estoque", tela "Parâmetros de Estoque", menu "Integração".Após concluída a parametrização, o GET retornará todos os produtos ativos a partir da data informada no endpoint
GET da view v_wel_ipi_produto
Para a consulta da relação de dados da view "v_wel_ipi_produto" a API fornece dois endpoints: um para a consulta de todos as linhas da view e outro para consulta de algum produto específico (onde deve ser fornecido o código do produto no endpoint).
Quando o GET é feito sem especificar o produto, todos da view serão retornados:
Quando o código do produto for informado ao final da URL, serão retornadas as informações do produto em questão: