Ir para conteúdo
  • Cadastre-se

dev botao

API BANCO INTER V3


Recommended Posts

  • Consultores
4 minutos atrás, Antonio Gomes disse:

Esse trecho marcado, so existe, no retorno da consulta apos eu ter a solicitacao: o erro ocorre ali na linha LJsonObjectItem.AsJSONObject['boleto'].

Perfeito, um usuario ficou de me enviar as credenciais para que possamos testar.
Vou adiantar isso e aguardar as credenciais.

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

7 minutos atrás, Antonio Gomes disse:

Sim, pois ainda está tentando pegar dados de boleto, sem poder...

Esse trecho marcado, so existe, no retorno da consulta apos eu ter a solicitacao: o erro ocorre ali na linha LJsonObjectItem.AsJSONObject['boleto'].

image.thumb.png.472396b29b45a36c527d8a12560e6514.png

Retorno do enviar (primeiro comando)

image.thumb.png.656e4c1c97b7fa9c5c3805fcf486b102.png

 

E na consulta detalhe, eu passo esse numero ali, a partir dai, sim, terei o objeto boleto.

 

entendi sua ideia, deixar o app controlar o primeiro envio, e eu ter o recibo (codigosolicitacao) a partir dai, eu consulto, entao, vou comentar aquela tentativa ali de ler o retorno do boleto, pois ele so tem, quando operacao = consultar

Tbm pensei em automatizar a consulta, mas acabei desistindo. Pego o codigosolicitacao e depois faço a consulta detalhada.

Link para o comentário
Compartilhar em outros sites

58 minutos atrás, Daniel InfoCotidiano disse:

Perfeito, um usuario ficou de me enviar as credenciais para que possamos testar.
Vou adiantar isso e aguardar as credenciais.

Daniel, tem algo a mais que eu preciso olhar, no leitor de json base?

olha isso: Nao acha o elemento

image.thumb.png.f107b7bc7fd809f9a126a7cadc365472.png

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Gabriel Mororó disse:

Tbm pensei em automatizar a consulta, mas acabei desistindo. Pego o codigosolicitacao e depois faço a consulta detalhada.

Então Gabriel, ela não sendo sincrono, até daria, no modulo de NF-e, tem um negocio lá, do delay entre transmissão e pedido de retorno do lote.
mas como não sabemos o comportamento dessa api do inter, estou mudando a logica minha, para fazer posterior, o chato, é ter que implementar no emissor de boleto, um "buscar retorno"... usuario pode cair no esquecimento, desse posterior, ou, a gente implantar isso via robô.

Link para o comentário
Compartilhar em outros sites

Finalizado os ajustes:

Notei que: a url do pix, existem 3 casos:

   property EMV: String read Femv write Femv; // inter está aqui
    property UrlPix: String read FurlPix write FurlPix; // nao carrega aqui c

Achei confuso, pq tem os 2?

Testado envio v2 e v3 ok

Cancelamento: v2 e v3.ACBrBoletoRet_Inter_API.pasACBrBoletoW_Inter_API.pas

baixa, será testado no cliente, não tenho como fazer no momento, mas, havendo divergência, e o fonte estiver ok, eu corrijo.

Sobre o erro do parse que o json ficava vazio, era o create, e parse logo apos, é preciso dar o parse direto, sem o create...

Segue fontes anexo
 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @Antonio Gomes
Vou verificar com as credenciais enviadas de outro usuario.
Se mudar algo envio aqui p vc, muito obrigado por testar com suas credenciais.

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Daniel InfoCotidiano disse:

Bom dia @Antonio Gomes
Vou verificar com as credenciais enviadas de outro usuario.
Se mudar algo envio aqui p vc, muito obrigado por testar com suas credenciais.

a propósito, o modo de usar, implementei ao meu modo, nao automatizei o componente, segue como dica para quem for trocar:

// Anterior
        LCodigoSolicitacaoTmp := PCodigoSolicitacao;
        AMsgErro              := '';
        LFlagEnviar           := True;

        if (FDSServBanc.FieldByName('API_CONS_APOS_INCLUIR_SER').AsString = 'S') and (PCodigoSolicitacao <> '') then // inter v3
        begin
          // Se deu erro anterior, mas gravou o recibo de solicitacao, consultar - inter tem isso = se ja foi enviado, nao pode mandar de novo
          Boleto.Configuracoes.WebService.Operacao := TOperacao.tpConsultaDetalhe;
          Boleto.Enviar;
          AMsgErro    := LerRetornoDeAPI(Boleto);
          LFlagEnviar := False; // não enviar de novo
        end;

        // TODOS DEMAIS BANCOS, interv2 ou interv3, se nao tiver ainda o recibo
        if (AMsgErro = '') and LFlagEnviar then
        begin
          Boleto.Configuracoes.WebService.Operacao := TOperacao.tpInclui;
          Boleto.Enviar;
          AMsgErro := LerRetornoDeAPI(Boleto);
        end;

        // esperar entre transmissao
        if LFlagEnviar and (FDSServBanc.FieldByName('API_CONS_APOS_INCLUIR_SER').AsString = 'S') and
         (FDSServBanc.FieldByName('API_TEMPO_CONS_SER').AsInteger > 0) then
        begin
          Sleep(FDSServBanc.FieldByName('API_TEMPO_CONS_SER').AsInteger);
        end;

        // inter: Se antes nao tinha solicitacao, agora tem, e ainda nao pegou o retorno do boleto, pegar
        if (AMsgErro = '') and (FDSServBanc.FieldByName('API_CONS_APOS_INCLUIR_SER').AsString = 'S') and // inter v3
         (LCodigoSolicitacaoTmp = '') and (PCodigoSolicitacao <> '') then
        begin
          Boleto.Configuracoes.WebService.Operacao := TOperacao.tpConsultaDetalhe;
          Boleto.Enviar;
          AMsgErro := LerRetornoDeAPI(Boleto);
        end;

 

Aberto a sugestões de melhoras no codigo, a função LerRetornoDeAPI só avalia o vetor de erros e muda as variaveis de retorno, tipo "PCodigoSolicitacao" , se teve recusa, já deixei no meu sistema o modo sleep, tipo tem la na nfe, caso api comece a ficar lenta.

Editado por Antonio Gomes
Link para o comentário
Compartilhar em outros sites

  • Consultores
5 minutos atrás, Antonio Gomes disse:

Conseguiu analisar o fonte ali em cima?

Bom dia !
So estamos fazendo alguns testes para consulta automatica qdo pix, provavelmente subimos esta semana.

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Bom dia !
Segue anexo a alteração API com boleto híbrido para testes.
Para V3( cobranca pix) Informar o IndicadorPIX.
Ele vai alimentar a propriedade NossoNumeroCorrespondente (titulo.NossoNumeroCorrespondente) com o codigodeSolicitação devolvida pelo banco.
Guarde o valor desta propriedade NossoNumeroCorrespondente para futuras consultas e cancelamento da versao PIX;
Quando vc realiza a inclusão com indicador PIX, ele identifica codigodeSolicitação  e consulta utilizando NossoNumeroCorrespondente e devolve a consulta detalhe do titulo.
lembrando, como existem 2 APIS, qdo estiver marcada Indicador pix, Inclusao e consulta vai ser realizada na API PIX. desmarcada permenece a original, sem pix.

InterAPIQrCode.zip

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

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 conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.