Ir para conteúdo
  • Cadastre-se

dev botao

Open Banking


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 1142 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Fernando Rodrigo  cara graças à DEUS hoje eu consegui emitir boleto do sicoob em Produção! veja que novela, fiz toda o codigo usando o http do indy..funcionou 100% em homologação...quando passei para produção não funcionou...cara passei uns 2 dias pensativo e tentando entender, ai testei no rest de novo....porque já tinha tentando antes no rest e não tinha conseguido...ainda fiz uns teste no Rest Debug do delphi em tempo de execução ai consegui emitir o boleto em produção...mais se eu testar em homologação no rest não vai....kkkkkkkkk...

Postado
32 minutos atrás, JHONLENON disse:

Fernando Rodrigo  cara graças à DEUS hoje eu consegui emitir boleto do sicoob em Produção! veja que novela, fiz toda o codigo usando o http do indy..funcionou 100% em homologação...quando passei para produção não funcionou...cara passei uns 2 dias pensativo e tentando entender, ai testei no rest de novo....porque já tinha tentando antes no rest e não tinha conseguido...ainda fiz uns teste no Rest Debug do delphi em tempo de execução ai consegui emitir o boleto em produção...mais se eu testar em homologação no rest não vai....kkkkkkkkk...

como vc fez , teria como vc postar os codigos ?

Postado

Fernando Rodrigo em qual passo vc está? está conseguindo pegar o code? e conseguiu o acess_token e reflesh_token? isso em produção porque o sicoob é muito estranho cara vc tudo em homologação quando vai testar em produção não passa. Aqui fiz o seguinte...já com as credenciais de produção em mãos, coloquei no Rest Debug do Delphi e json do boleto, um detalhe que judou foi validar meu json do boleto pelo postman pra saber se está todo correto, qualquer erro não passa. Se você conseguir gerar o boleto no Rest Debug ai vc copia os componentes já configurado e passa os parametros principais, com Client_ID, Autorization e gran_type. Vou postar o codigo detalhado. Mais a parte de emissão de boleto só consegui emitir em produção. Agora conseguir o code e acess_token funciona em homologação e produção.

https://pastebin.com/rU50zgDV  

Postado

Bom dia JHONLENON, tudo bem, aproveitando os codigos que voce compartilhou

estou tentando fazer o consumo da api do pix do sicoob , ja tentei de varias formas , via indy por rest client e não estou conseguindo, estou tentando a umas duas semanas.

O pessoal do sicoob mandou enviar o certificado em formato .pem do cliente e eles geraram o client_id e client_secret.

No Manual do sicoob esta assim. Já entrei em contato com eles via email mas eles não tem nenhum exemplo da api do pix em alguma linguagem de programação ou alguma chamada via postam.

Estou tentando via restclient só que não sei se os parametros estão corretos e se tem alguma forma de passar o certificado. Da o seguinte erro

raised exception class ENetHTTPCertificateException with message 'Unspecified certificate from client'.

 

Se alguém já passou por essa situação ou conseguiu autenticar na api do pix e puder ajudar de alguma forma fico muito agradecido.

 

1.1.1. Homologação
URL Post: https://api-homol.sicoob.com.br/cooperado/pix/token
Exemplo de consumo:
Form Data
grant_type=client_credentials
client_id=xxxxxxxxxxxxxxxxxx
client_secret=xxxxxxxxxxxxxxxxxx
scope=< -- Lista de escopos desejados --

Exemplo

curl -v --key private-key.pem --cert certificate.crt --location --request POST 'https://api-homol.sicoob.com.br/cooperado/pix/token' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=client_credentials' --data-urlencode 'client_id=xxxxxxxxxxxxxxxxxxxx' --data-urlencode 'client_secret=xxxxxxxxxxxxxxxxxx' --data-urlencode 'scope=cob.read'

 

procedure TForm9.Button3Click(Sender: TObject);
var
  FParams, access_token, refresh_token: String;
  Json, scope, token_type, expires_in, URL_SICOOB, LValue: String;
  JsontoSend, AResponseContent: TStringStream;
  LClient: TRESTClient;
  LRequest: TRESTRequest;
begin

  URL_SICOOB := 'https://api-homol.sicoob.com.br/cooperado/pix/token';
  LClient := TRESTClient.Create(self);
  LRequest := TRESTRequest.Create(self);
  LRequest.Client := LClient;
  LRequest.Method := TRESTRequestMethod.rmPOST;

  try
    LClient.BaseURL := URL_SICOOB;
    LRequest.AddParameter('client_id', 'clientiddocliente');
    LRequest.AddParameter('client_secret', 'clientsecretdocliente');
    LRequest.AddParameter('grant_type', 'client_credentials');
    LRequest.AddParameter('scope', 'pix.read');
    LRequest.Execute;
    if (LRequest.Response.StatusCode = 200) then
    begin
      if LRequest.Response.GetSimpleValue('access_token', LValue) then
      begin
        access_token := CamposJsonString(LRequest.Response.JSONText, 'access_token');
        refresh_token := CamposJsonString(LRequest.Response.JSONText, 'refresh_token');
        expires_in := CamposJsonString(LRequest.Response.JSONText, 'expires_in');
        scope := CamposJsonString(LRequest.Response.JSONText, 'scope');
      end
      else
      begin
        FreeAndNil(LRequest);
        FreeAndNil(LClient);
        if Application.MessageBox('Atenção...token não retornado na requisição', 'Sistema', MB_OK) = IDOK then
          exit;
      end;
    end
    else
    begin
      FreeAndNil(LRequest);
      FreeAndNil(LClient);
      ShowMessage('Atenção...Erro ao obter token: ' + LRequest.Response.JSONText);
      exit;
    end;
  Finally
    FreeAndNil(LRequest);
    FreeAndNil(LClient);
  end;
  Close;
end;

 

 

  • 2 semanas depois ...
Postado

sandrojoel

Em 04/10/2021 at 09:46, sandrojoel disse:

Bom dia JHONLENON, tudo bem, aproveitando os codigos que voce compartilhou

estou tentando fazer o consumo da api do pix do sicoob , ja tentei de varias formas , via indy por rest client e não estou conseguindo, estou tentando a umas duas semanas.

O pessoal do sicoob mandou enviar o certificado em formato .pem do cliente e eles geraram o client_id e client_secret.

No Manual do sicoob esta assim. Já entrei em contato com eles via email mas eles não tem nenhum exemplo da api do pix em alguma linguagem de programação ou alguma chamada via postam.

Estou tentando via restclient só que não sei se os parametros estão corretos e se tem alguma forma de passar o certificado. Da o seguinte erro

raised exception class ENetHTTPCertificateException with message 'Unspecified certificate from client'.

 

Se alguém já passou por essa situação ou conseguiu autenticar na api do pix e puder ajudar de alguma forma fico muito agradecido.

 

1.1.1. Homologação
URL Post: https://api-homol.sicoob.com.br/cooperado/pix/token
Exemplo de consumo:
Form Data
grant_type=client_credentials
client_id=xxxxxxxxxxxxxxxxxx
client_secret=xxxxxxxxxxxxxxxxxx
scope=< -- Lista de escopos desejados --

Exemplo

curl -v --key private-key.pem --cert certificate.crt --location --request POST 'https://api-homol.sicoob.com.br/cooperado/pix/token' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=client_credentials' --data-urlencode 'client_id=xxxxxxxxxxxxxxxxxxxx' --data-urlencode 'client_secret=xxxxxxxxxxxxxxxxxx' --data-urlencode 'scope=cob.read'

 

procedure TForm9.Button3Click(Sender: TObject);
var
  FParams, access_token, refresh_token: String;
  Json, scope, token_type, expires_in, URL_SICOOB, LValue: String;
  JsontoSend, AResponseContent: TStringStream;
  LClient: TRESTClient;
  LRequest: TRESTRequest;
begin

  URL_SICOOB := 'https://api-homol.sicoob.com.br/cooperado/pix/token';
  LClient := TRESTClient.Create(self);
  LRequest := TRESTRequest.Create(self);
  LRequest.Client := LClient;
  LRequest.Method := TRESTRequestMethod.rmPOST;

  try
    LClient.BaseURL := URL_SICOOB;
    LRequest.AddParameter('client_id', 'clientiddocliente');
    LRequest.AddParameter('client_secret', 'clientsecretdocliente');
    LRequest.AddParameter('grant_type', 'client_credentials');
    LRequest.AddParameter('scope', 'pix.read');
    LRequest.Execute;
    if (LRequest.Response.StatusCode = 200) then
    begin
      if LRequest.Response.GetSimpleValue('access_token', LValue) then
      begin
        access_token := CamposJsonString(LRequest.Response.JSONText, 'access_token');
        refresh_token := CamposJsonString(LRequest.Response.JSONText, 'refresh_token');
        expires_in := CamposJsonString(LRequest.Response.JSONText, 'expires_in');
        scope := CamposJsonString(LRequest.Response.JSONText, 'scope');
      end
      else
      begin
        FreeAndNil(LRequest);
        FreeAndNil(LClient);
        if Application.MessageBox('Atenção...token não retornado na requisição', 'Sistema', MB_OK) = IDOK then
          exit;
      end;
    end
    else
    begin
      FreeAndNil(LRequest);
      FreeAndNil(LClient);
      ShowMessage('Atenção...Erro ao obter token: ' + LRequest.Response.JSONText);
      exit;
    end;
  Finally
    FreeAndNil(LRequest);
    FreeAndNil(LClient);
  end;
  Close;
end;

 

 

Boa tarde, tambem estou fazendo a API PIX do SICOOB, ja teve alguma evolução?

Adriano Teodorico dos Santos

Analista de Sistemas na Empresa GIGa Informática Dracena Ltda ME

Bach. em Ciência da Computação

Pós Graduado em Gestão Fiscal e Planejamento Tributário

  • Consultores
Postado

vou fechar o tópico, pois trata-se inicialmente de OpenBanking, e no decorrer foi tratado de diversos assuntos, e a finalidade do tópico está sendo outro.

Por favor, abrir um tópico para cada assunto para ficar mais organizado.

Grato

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Este tópico foi criado há 1142 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.