Requisições api do erp

Boa tarde

Falei no Chat e estou abrindo para acompanharmos.
Em contato com o suporte do nosso ERP foi nos informado que há muitas requisições na API e com isso ela esta dando timeout o tempo inteiro e além daqui no e commerce também utilizamos em outras aplicações. Foi desligado todas as aplicações aqui que utilizamos e mesmo assim a API continua com um volume alto de requisições. Como somente nós e vocês que utilizam penso que estas estariam vindo da parte de vocês. Poderiam verificar se esta no intervalo correto como já foi passado anteriormente?

Boa tarde,

Conforme conversamos, como houve alterações em massa nesse período, é bem provável que o problema esteja relacionado a isso.

Pelo que percebemos, o ERP não suporta esse tipo de operação em grande volume. A API exige múltiplas requisições para sincronizar um único pedido, o que acaba sobrecarregando o sistema.

Recomendo que essas alterações não sejam feitas em massa.

Poderíamos até configurar para ignorar os eventos de atualização, mas tem risco de deixar vários pedidos sem sincronização. Mas se quiserem podemos fazer algo nesse sentido.

No caso então esta havendo muitas requisições do lado de vocês devido a estrutura da api do ERP, certo?

exatamente, a API do ERP exige múltiplas requisições para sincronizar um único pedido

Solicitei ao ERP uma orientação quanto a utilização da API deles no que podemos resolver e até uma possibilidade de trabalhar em cima de eventos ao invés de requisições consntantes.
Aguardando retorno da parte deles!

1 curtida

Luiza o pessoal disse que ao que parece estão tentando atualizar pedidos em lote, mas pedidos antigos

Disseram pra que seja nessa ordem:

Verifica se o cliente esta cadastrado
Caso não esteja cadastra o cliente
Cadastra o endereço
Cria o pedido
Joga os produtos para dentro do pedido
Libera o pedido para LEX ou LFT no caso de ter vindo da LojaClassica

Disseram pelo volume de mais ou menos 50 pedidos que houveram hoje esse volume de mais de 3500 requisições não tem sentido.

Me informaram aqui que vocês estã otentando alterar o status d epedidos antigos que não foram inserido nem peso e medidas:

“o site segue tentando alterar status para lft de pedidos que ele não inseriu peso e volume”

Conseguem documentar o fluxo que gostariam que fosse ajustado? Assim conseguimos entender melhor e avaliar as mudanças necessárias.

esse não consegui entender muito bem

Primeiro fazer a busca na API se há o cliente cadastrado:

GET http://datacenter.fmz.com.br:8060/Horus/api/TServerB2B/Busca_Cliente

Querystring de filtragem disponíveis:
Parâmetro Descrição
COD_CLI Código do Cliente - Usado para uma pesquisa única
NOME Nome do Cliente - Usado para uma pesquisa única
CPF CPF do Cliente - Usado para uma pesquisa única
CNPJ CNPJ do Cliente - Usado para uma pesquisa única
DATA_INI Pesquisa por período de atualizações disponíveis, informar a Data de atualização inicial (Formato de data dd/mm/aaaa)
DATA_FIM Pesquisa por período de atualizações disponíveis, informar a Data de atualização Final (Formato de data dd/mm/aaaa)
TPO_PESSOA Informar a letra F para pesquisar por pessoa física e a letra J para pesquisar por pessoa jurídica
OFFSET Deslocamento dos resultados a serem retornados
LIMIT Número máximo de elementos a serem retornados

INSERIR o CLIENTE CASO NÂO HAJA CADASTRO
PUT http://waphorus.dalla.srv.br:8065/Horus/api/TServerB2B/InsAltCliente

EXEMPLO:
{
“COD_CLI”: “NOVO”,
“COD_RESPONSAVEL”: “73”,
“NOM_RESP”: “MARKTPLACE”,
“NOM_CLI”: “Nome do cliente”,
“TPO_PESSOA”: “F ou J”,
“CPF”: “CPF ciente”,
“CNPJ”: “cnpj cliente”,
“EMAIL”: “[email protected]
}

INSERIR O ENDREÇO DO CLIENTE:

http://waphorus.dalla.srv.br:8065/Horus/api/TServerB2B/InsAltEndCliente

BUSCAR NOVAMENTE O CLIENTE DENTRO DA AP
GET http://datacenter.fmz.com.br:8060/Horus/api/TServerB2B/Busca_Cliente

CRIA O PEDIDO
http://waphorus.dalla.srv.br:8065/Horus/api/TServerB2B/InsPedidoVenda

INSERI OS PRODUTOS DENTRO DO PEDIDO
http://waphorus.dalla.srv.br:8065/Horus/api/TServerB2B/InsItensPedidoVenda

LIBERA O PEDIDO PARA LEX
http://waphorus.dalla.srv.br:8065/Horus/api/TServerB2B/AltStatus_Pedido

São cerca de 6 requisições para a integração de pedidos que podem variar um pouco devido a quantidade de produtos, pois terá que ser em loop.

NO CADO DOS PEDIDOS VINDOS DO DOMINIO lojaclassica.com.br deverão cair como LFT utilizando o endpotint abaixo para pular a expedição:

obrigada @ministerioler

Já encaminhei para o dev, vamos analisar com calma e te dou um retorno por aqui assim que possível.

Essas configurações, por serem mais complexas, levam um pouco mais de tempo.

Obrigado Luiza!

Precisava também que modificassem o método para qual os pedidos vindos do dominio lojaclassica.com.br integram.

método: 49

Na integração com o ERP

esse seria o estoque? não está configurado do lado de vocês?

Seria o método
No nosso ERP esse código corresponde ao nome Loja Classica e assi mconseguimos indentificar de onde vem o pedido, independente do estoque.

okk, vou incluir essa etapa!

Bom dia @ministerioler

O fluxo já está implementado dessa forma, conforme foi documentado: “São cerca de 6 requisições para a integração de pedidos, podendo variar um pouco conforme a quantidade de produtos, pois é feito em loop.” Esse número aumenta proporcionalmente ao volume de itens no pedido. Ou seja, se houverem edições em massa, o número de requisições cresce significativamente.

Normalmente, a integração de um pedido com o ERP exige apenas 1 ou 2 requisições. No caso de vocês, são no mínimo 6 para um único pedido, o que torna o processo mais pesado também do nosso lado.

Se o backend do ERP não for capaz de suportar esse volume, existem duas opções: ou vocês podem desenvolver um endpoint que aceite a criação do pedido já com a maior parte das informações (como é feito na maioria dos ERPs), ou então não será viável fazer alterações em pedidos em massa.

alguns outros pontos:

Qual é o código do “método de integração”? É esse COD_METODO que está documentado como “Código do Método de Venda”?

A requisição adicional no endpoint Pular_expedicao já está sendo feita. Se não foi feita em algum pedido, peço que mande um exemplo para que possamos verificar, por favor.

E o que seria "cair diretamente como LFT" ? Infelizmente pela documentação o ERP não aceita o STA_PEDIDO direto na requisição de criação do pedido. Se puder especificar o fluxo, podemos incluir

Pessoal, esta havendo uma quantidade gisgantesca de requisições na API. Isso esta prejudicando demais nossas operações. Vejam o quadro abaixo:

Nossas operações aqui que também fazem uso da APi estão todas travadas devido a essa quantidade de requisições feitas por parte de vocês. Precisamos de um melhor alinhamento e configuração de integração.

Cair em LFT seria pular a expedição. O método também foi alterado para 49 ?
Somente os pedidos vindos do dominio lojaclassica.com.br deverão ter o método 49.
Vindos da lojaler.com.br devem continuar como 39

Como informei aqui em cima

O fluxo já está implementado dessa forma, conforme foi documentado: “São cerca de 6 requisições para a integração de pedidos, podendo variar um pouco conforme a quantidade de produtos, pois é feito em loop.” Esse número aumenta proporcionalmente ao volume de itens no pedido. Ou seja, se houverem edições em massa, o número de requisições cresce significativamente.

Normalmente, a integração de um pedido com o ERP exige apenas 1 ou 2 requisições. No caso de vocês, são no mínimo 6 para um único pedido, o que torna o processo mais pesado também do nosso lado.

Se o backend do ERP não for capaz de suportar esse volume, existem duas opções: ou vocês podem desenvolver um endpoint que aceite a criação do pedido já com a maior parte das informações (como é feito na maioria dos ERPs), ou então não será viável fazer alterações em pedidos em massa.

isso já está sendo feito

Qual é o código do “método de integração”? Na documentação é o COD_METODO que está documentado como “Código do Método de Venda”?