marcoshmartins Postado 21 Setembro, 2021 Compartilhar Postado 21 Setembro, 2021 Estou fazendo uma integração com clube de promoções Scanntec via API, o que ocorre é que quando tento enviar o arquivo, Json com as vendas para API ela retorna erro 400. Segundo a Scanntec, o arquivo Json não chega a ser postado. Estou usando componente IdHTTP para fazer o envio (POST), abaixo vou anexar meu código e o json para vocês analisarem. Na documentação da Scanntech a API deveria retornar o código 200 para ser efetivado. Erro_delphiCod.txt Arquivo_Venda_60.TXT Att, --------------------- Marcos Martins Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro DouglasDll Postado 2 Outubro, 2023 Membros Pro Compartilhar Postado 2 Outubro, 2023 Em 21/09/2021 at 16:21, marcoshmartins disse: Estou fazendo uma integração com clube de promoções Scanntec via API, o que ocorre é que quando tento enviar o arquivo, Json com as vendas para API ela retorna erro 400. Segundo a Scanntec, o arquivo Json não chega a ser postado. Estou usando componente IdHTTP para fazer o envio (POST), abaixo vou anexar meu código e o json para vocês analisarem. Na documentação da Scanntech a API deveria retornar o código 200 para ser efetivado. Erro_delphiCod.txt 1.65 kB · 50 downloads Arquivo_Venda_60.TXT 785 B · 47 downloads oi @marcoshmartins Voce conseguiu concluir a integração. Estou iniciando ela agora... tem alguns exemplos que possa me enviar? Link para o comentário Compartilhar em outros sites More sharing options...
marcoshmartins Postado 2 Outubro, 2023 Autor Compartilhar Postado 2 Outubro, 2023 Olá Doglas, Não conseguimos avançar não. O pessoal da Scanntec não soube me orientar a respeito do erro 400. Eles até me mandaram documentação e tals. Mais abortamos o projeto apos 6 meses de exaustiva tentativas, e nada. Att, --------------------- Marcos Martins Link para o comentário Compartilhar em outros sites More sharing options...
Artur Alencar Postado 12 Dezembro, 2023 Compartilhar Postado 12 Dezembro, 2023 Boa tarde colegas, Só para dar minha contribuição aqui. Eu estou homologando com a scanntech também, já tem uns dois anos que estou tentando concluir essa integração. kkkkkk. No meu caso foi por falta de tempo em me dedicar. A integração com eles exige tempo para não deixar passar nenhum detalhe. E como eles tem vários tipos de promoções diferentes, se torna bem exaustivo implementar todas no software, principalemnte se ele não foi desenvolvido inicalmente para aceitar esses tipos de promoções. Passei por algumas situações de erro 400 estes últimos meses. Então vou dar uma olhada nos arquivos que você anexou para ver se consigo ajudar. Mesmo sabendo que não vai mais continuar com a integração, mas pode ser que ajude o nosso outro camarada, ou outra pessoa que esteja pensando em integrar com eles também. Se eu descobrir o motivo do seu erro 400 ou mesmo se eue não descobrir, vou postar aqui. Link para o comentário Compartilhar em outros sites More sharing options...
Artur Alencar Postado 12 Dezembro, 2023 Compartilhar Postado 12 Dezembro, 2023 O link que você está usando parece estar correto. No meu caso eu não usei IdHTTP para comunicar com a API deles, eu usei mesmo o TRestRequest. Não sei qual a versão do seu delphi, mas se tiver esse componente, recomendo que use ele, é bem mais fácil de lidar do que com o IdHTTP, na minha opinião. Vou postar aqui o código que eu utilizei para enviar a venda: procedure TdmVendaScanNtech.EnviarVendaNOTA(nota: string; out erro: string); var VJSONObject: TJSONObject; vendaScanNtech :TRootDTO; begin erro := ''; rstRequest.Method := TRESTRequestMethod.rmPOST; rstRequest.Resource := '/movimientos'; MontarHeaderRequest; vendaScanNtech := MontarJSONVendaNOTA(nota); try VJSONObject := TJson.ObjectToJsonObject(vendaScanNtech); SalvarArquivo(pathLog+'\vendaScanNtech_'+nota+'.json',VJSONObject.ToString); with rstRequest.Params.AddItem do begin ContentType := TRESTContentType.ctAPPLICATION_JSON; name := 'param'; // param name Value := vJSONObject.ToString; // seu json Kind := pkREQUESTBODY; end; rstRequest.Execute; if (RESTResponse1.StatusCode = 200) or (RESTResponse1.StatusCode = 208) then //deu certo begin //por enquanto não precisa fazer nada. end else if (RESTResponse1.StatusCode >= 500) and (RESTResponse1.StatusCode <= 599) then begin erro := 'erro de comunicação com o servidor da ScanNTech:'+slinebreak+ RESTResponse1.StatusCode.ToString+'-'+RESTResponse1.Content; Log(erro); end else begin erro := 'Erro na estrutura do envio do arquivo da ScanNTech. '+slinebreak+ RESTResponse1.StatusCode.ToString+'-'+RESTResponse1.Content; Log(erro); end; finally vendaScanNtech.Free; end; Uma coisa que observei também é que o json da venda tem que ser passado como body da requisição e não como parâmetro GET / POST. Eu não sei se o idhttp identifica os parametros do método post como body ou como POST. Mas pode ser este o problema também. Espero que isso ajude quem está tentando fazer essa integração e está tendo problemas com a comunicação. 1 Link para o comentário Compartilhar em outros sites More sharing options...
Artur Alencar Postado 12 Dezembro, 2023 Compartilhar Postado 12 Dezembro, 2023 Acabei esquecendo de colocar como que ficou a minha estrutura do arquivo de venda Ta em aneno nesta mensagem. vendaScanNtech_267664.json Link para o comentário Compartilhar em outros sites More sharing options...
marcoshmartins Postado 14 Dezembro, 2023 Autor Compartilhar Postado 14 Dezembro, 2023 @Artur Alencar Ótima contribuição, com certeza, informações muito valiosas. Obrigado por contribuir! 1 Att, --------------------- Marcos Martins Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro fredsmartfull Postado 5 Fevereiro Membros Pro Compartilhar Postado 5 Fevereiro Boa tarde, @Artur Alencar você tem o contato deles, preciso integrar mas nao consigo entrar em contato para pegar credenciais de homologação e etc. Link para o comentário Compartilhar em outros sites More sharing options...
Artur Alencar Postado 9 Fevereiro Compartilhar Postado 9 Fevereiro Em 05/02/2024 at 16:39, fredsmartfull disse: Boa tarde, @Artur Alencar você tem o contato deles, preciso integrar mas nao consigo entrar em contato para pegar credenciais de homologação e etc. Contato direto eu não tenho, eles me colocaram em um grupo no whatsapp. Só por lá que trocamos informações. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro fredsmartfull Postado 10 Fevereiro Membros Pro Compartilhar Postado 10 Fevereiro conseguimos aqui tbm Link para o comentário Compartilhar em outros sites More sharing options...
AlessandroOmmega Postado 13 Fevereiro Compartilhar Postado 13 Fevereiro Em 10/02/2024 at 10:07, fredsmartfull disse: conseguimos aqui tbm Vocês entraram em contato pelo site deles mesmos para conseguir as documentações? Link para o comentário Compartilhar em outros sites More sharing options...
Artur Alencar Postado 19 Fevereiro Compartilhar Postado 19 Fevereiro Em 13/02/2024 at 16:18, AlessandroOmmega disse: Vocês entraram em contato pelo site deles mesmos para conseguir as documentações? No meu caso, eles entraram em contato com um cliente meu para perguntar se ele queria a integração. Ai o cliente passou o meu contato para este vendedor e ele começou a conversar comigo pelo telegram. Ai depois ele pediu o meu whats para passar no grupo deles que auxiliam na integração. Lá eles me mandaram os links com as documentações e ambiente de testes. Mas hoje fui tentar acessar alguns desses links e parece que não estão funcionando mais. Eles devem ter mudado a plataforma. Hoje estou na fase onde eles observam por uma ou duas semanas a integração pra ver se os dados estão chegando corretamente. Se tiver qualquer erro, eles pedem pra corrigir e atualizar e depois observam por mais duas semanas. Se ficar por duas semanas sem dar nenhum problema, ai ja vamos pra proxima fazer que é testar as promoções. Ai se der tudo certo, eles liberam pra gente poder oferecer pra qualquer cliente. Então por enquanto estou com esse sistema de integração rodando em apenas 5 clientes de teste. Link para o comentário Compartilhar em outros sites More sharing options...
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora