Ir para conteúdo
  • Cadastre-se

sandrojoel

Membros
  • Total de ítens

    3
  • Registro em

  • Última visita

Tudo que sandrojoel postou

  1. 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. desculpa eu coloquei no topico errada é o registro c381 e c385 que dão erro se estiver como zero os campos QUANT_BC_PIS, ALIQ_PIS_QUANT , QUANT_BC_COFINS e ALIQ_COFINS_QUANT
  3. eu tambem percebi isso, alguem que tem permissao pra comitar poderia acertar o codigo, claro antes teria que dar uma verificada se é isso mesmo Add( LFill('C381') + LFill(strCST_PIS) + LFill(COD_ITEM) + LFill(VL_ITEM,0,2) + LFill(VL_BC_PIS,0,2) + LFill(ALIQ_PIS,8,4) + LFill(QUANT_BC_PIS,0,3,True) + //colocado o true LFill(ALIQ_PIS_QUANT,0,4,True) + //colocado o true LFill(VL_PIS,0,2) + LFill(COD_CTA) ) ; Add( LFill('C385') + LFill(strCST_COFINS) + LFill(COD_ITEM) + LFill(VL_ITEM,0,2) + LFill(VL_BC_COFINS,0,2) + LFill(ALIQ_COFINS,8,4) + LFill(QUANT_BC_COFINS,0,3, True) + //colocado o true LFill(ALIQ_COFINS_QUANT,0,4, True) + //colocado o tru LFill(VL_COFINS,0,2) + LFill(COD_CTA) ) ;
×
×
  • 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.

The popup will be closed in 10 segundos...