Ir para conteúdo
  • Cadastre-se

marcelosantos

Membros Pro
  • Total de ítens

    89
  • Registro em

  • Última visita

Posts postados por marcelosantos

  1. Pessoal vou deixar aqui o que eu tinha feito

    Alterados neste o Retono da Inclusão e da Consulta (com algumas melhorais/mapeamentos)

    Escritos neste os metodos para Alterar Vencimento,  Protestar,  Baixar,  Alterar Descontos , Atribuir Descontos, Alterar Valor da Multa,  Alterar Valor de Juros,  Alterar Abatimento,  Alterar Especie e  Sustar Protesto* (precisou da inclusão do Metodo HTTP  DELETE em ACBrBoletoConversao), detalhe para todos estes inscritos é, a conta da empresa aqui não tem estes serviços liberados pelo banco e todos eles estão retornando: (tenho a mesma resposta utilizando o POSTMAN)

    {
        "httpCode": "401",
        "httpMessage": "Unauthorized",
        "moreInformation": "Cannot pass the security checks that are required by the target API or operation, Enable debug headers for more details."
    }

    Ou seja, ainda é preciso escrever o mapeamento/retorno destes no componente

    Obs.: eu não usei a implementação do Pedro, mas acredito que possamos juntar as 2 e ter um ganho no que falta ser feito

    ACBrBoleto.rar

  2. Pessoal o projeto está funcionando, mas não está pronto

    se vocês forem PRO basta baixar, substituir as unit e ir usando/corrigindo erros

    se não forem, pensem em ajudar a comunidade

    a equipe do ACBr só vai subir para o repositorio oficial quando muitos estiverem precisando, ou quando o projeto estiver 100%
     

  3. Vou Ressucitar este tópico

    Meu Problema é:

    Cobranças PIX Registradas no Banco do Brasil vem com a propriedade TACBrPIXCobGerada.calendario.criacão com a Data e Hora correta (local) e a propriedade TACBrPIXCobGerada.calendario.criacao_Bias com 0

    Cobranças PIX Registradas no Siccob  vem com a propriedade TACBrPIXCobGerada.calendario.criacão com a Data e Hora de Greenwich (3 Horas a mais do horario local) e a propriedade TACBrPIXCobGerada.calendario.criacao_Bias com 180

    ou seja está correto, só que ao meu ver deveria ser -180 (negativo) e não 180 (positivo)


    minha observação está correta?


    Daí me deparei com change-log

    14/02/2023
    -- ACBrPIXSchemasCobV, ACBrPIXSchemasDevolucao, ACBrPIXSchemasLocation, ACBrPIXSchemasLoteCobV --
    [*] Criadas propriedades "Bias" para armazenar informação do TimeZone em propriedades TDateTime.
        Por: Elias César


    mas não encontrei este Bias com formato TDateTime


    Onde estou errando?

  4. Pessoal bom carnaval para todos, segue abaixo a continuação da implementação para o Banco SICOOB
     

    Alterados neste o Retono da Inclusão e da Consulta (com algumas melhorais/mapeamentos)

    Escritos neste os metodos para Alterar Vencimento,  Protestar,  Baixar,  Alterar Descontos , Atribuir Descontos, Alterar Valor da Multa,  Alterar Valor de Juros,  Alterar Abatimento,  Alterar Especie e  Sustar Protesto* (precisou da inclusão do Metodo HTTP  DELETE em ACBrBoletoConversao), detalhe para todos estes inscritos é, a conta da empresa aqui não tem estes serviços liberados pelo banco e todos eles estão retornando: (tenho a mesma resposta utilizando o POSTMAN)

    {
        "httpCode": "401",
        "httpMessage": "Unauthorized",
        "moreInformation": "Cannot pass the security checks that are required by the target API or operation, Enable debug headers for more details."
    }

    Ou seja, ainda é preciso escrever o mapeamento/retorno destes no componente

    Na Próxima quinta-feira, vamos falar com o gerente para solicitar esta liberação de serviços para poder testar estes eventos/endpoints

    Segue os arquivos para analise e melhorias

    ACBrBoleto.rar

    • Curtir 5
  5. 18 horas atrás, Juliana Tamizou disse:

    Boa tarde @marcelosantos

    Me parece que está evoluindo bem com estas mudanças... vc continua atuando nos itens faltantes ou no momento está em pausa?

    At.

    Isso compartilhei aqui o que já tinha feito, pois havia uns 2 usuarios que gostariam de contribuir, não sei se eles fizeram alguma coisa

    Estou finalizado umas outras demandas da empresa, e pretendo sim continuar, caso ninguém já tenha feito

    • Curtir 1
  6. 2 horas atrás, Juliana Tamizou disse:

    Boa tarde Marcelo,
     Referente a classe como um todo, tem conseguido avançar?

    Em relação a questão do retorno em PDF, percebemos que como o componente gera o boleto para ser impresso, o processamento do arquivo gerado pelo banco pode requerer mais análise, já que quase nenhum banco atua desta forma...sendo assim, acreditamos que seria interessante enviar ao svn a integração e futuramente rever este ponto.

    At.

    Foi necessario parar o desenvolvimento nesta, por necessidade da empresa aqui

    está em Standy by, assim que finalizar as outras coisas, vou voltar a trabalhar nesta 

    • Curtir 1
  7. Pessoal bom dia, segue uma outra questão


    Os outros bancos que já trabalham com API, devolvem na resposta da inclusão do boleto o PDF em Base64? (Igual o Sicoob)


    caso positivo, não seria o caso de termos esta propriedade no componente de Boleto?


    Sou ciente que já temos no projeto ACBr, a geração dos boletos, e que nestas temos mais de 5 modelos disponíveis em 2 componentes diferentes

    A questão aqui é simplismente dar ao usuario a opção de escolher (gerar o seu próprio ou imprimir o que o banco gerou automaticamente)

  8. Victor/Panda, atualzei tudo

    fiz algumas alterações na escrita e leitura dos objetos JSON, mais ainda há muita coisa para fazer

    detectei um pequeno problema que não consegui resolver sem alterar a ACbrBoletoWS.REST.pas

    segue para sua analise a procedure que tive que alterar
     

    procedure TBoletoWSREST.DefinirCertificado;
    begin
      // Adicionando o Certificado
      if NaoEstaVazio(Boleto.Configuracoes.WebService.ArquivoCRT) then
        HTTPSend.Sock.SSL.CertificateFile := Boleto.Configuracoes.WebService.ArquivoCRT;

      if NaoEstaVazio(Boleto.Configuracoes.WebService.ArquivoKEY) then
        HTTPSend.Sock.SSL.PrivateKeyFile := Boleto.Configuracoes.WebService.ArquivoKEY;
    end;

    Toquei BoletoWS.ArquivoCRT por Boleto.Configuracoes.WebService.ArquivoCRT, e a mesma coisa para o ArquivoKEY, o problema é que o objeto BoletoWS.ArquivoCRT estava chegando neste ponto vazio e eu não entendi o porque (apesar do objeto ACBRboleto está configurado corretamente)


    A inclusão na API funciona, preciso finalizar a escrita do retorno do banco (QRCode e o PDF que está chegando via BASE64)

    A Consulta que você alterou também funciona, só que alguns dados do retorno não estão devidamente mapeados 

    Todos os outros Endpoints ainda precisa ser avaliados e implementados

  9. Olá Pessoal, vou compartilhar aqui o que consegui fazer, não está muito orientado a objeto mas já consegui emitir boletos, as outras funcionalidades (consultas, alteração de campos do boleto, etc) aindam precisam ser implementadas/testadas

    Há 4 "Problemas" que é preciso resolver, são eles:

    1 - A Autenticação no Banco
    2 - O Header das requisições que precisam da KEY x-sicoob-clientid: {{CLIENT_ID}}
    3 - Os [ ] no objeto json
    4 - O nome das das Units (Bancoop ou Sicoob) (rs)

    1 - Autenticação no Banco

    usar a autenticação como esta abaixo não funciona, pois o OAtuth requer obrigatoriamente o Client_secret e no Sicoob ele não usa este

    function TBoletoW_Sicoob_API.GerarTokenAutenticacao: string;
    begin
      FPContentType := 'application/x-www-form-urlencoded';
      OAuth.Payload := True;
      Result := inherited GerarTokenAutenticacao;
    end;

    para contornar eu usei uma solução nada OO, criei o objeto httpsend no metodo configurei ele localmente, disparei a conexão e no fim devolvi para o result o Token recebido (sei que este precisa ser melhorado)

    outro detalhe da autenticação é que quando ele é chamado passa pelo metodo GerarHeader

    procedure TBoletoW_Sicoob_API.GerarHeader;
    begin
      DefinirContentType;
      DefinirKeyUser;
    
      if NaoEstaVazio(Boleto.Cedente.CedenteWS.ClientID) then
        HTTPSend.Headers.Add('x-sicoob-clientid: ' + Boleto.Cedente.CedenteWS.ClientID);
    end;

    ou seja, ele escreve x-sicoob-clientid, e este só deve ser usado após a autenticação, aqui pensei em colocar a condição "se autenticado" só não sei como pegar esta "variável"


    2 - O Header das requisições que precisam da KEY x-sicoob-clientid: {{CLIENT_ID}}

    Apesar de está sendo configurado/escrito em GerarHeader

    if NaoEstaVazio(Boleto.Cedente.CedenteWS.ClientID) then
        HTTPSend.Headers.Add('x-sicoob-clientid: ' + Boleto.Cedente.CedenteWS.ClientID);

     ele não está chegando em ACbrBoletoWS.Rest, e para contornar isto estou forçado sua escrita com LHeaders.Add('x-sicoob-clientid: ' + Boleto.Cedente.CedenteWS.ClientID) nesta unit, ou seja inviabilizei com isso a utilização desta unit para todos os outros bancos

    3 - Os [ ] no objeto json

    No Sicoob a requisição de inclusão pode conter até 10 boletos, ou seja o Json enviando é um Array de Json que pode conter até 10 elementos (em outras palavras em vez do Json iniciar e terminar com "{ }" ele inicia e termina com "[ ]"). Não consegui resolver este detalhe em AcbrBoletoW_Sicoob_API.pas, então adicionei os colchetes em ACBrBoletoWS.Rest, mais precisamente no metodo Executar (inviabilizando novamente esta unit para os outros bancos)
     

       WriteStrToStream(HTTPSend.Document, AnsiString('[' + FPDadosMsg + ']'));

     

    4 - O nome das Units (Bancoob ou Sicoob) (rs) 
    Pessoal, em minha região (Nordeste, Pernambuco), todas as agencias do Banco 756 São SICOOB, e não Bancoop, não sei se Bancoop é a realidade de vocês (região do Sul / Sudeste), procurando aqui achei esta informação (que diz que: O Banco Cooperativo do Brasil (Bancoob) agora se chama Banco Sicoob) -> https://web.facebook.com/sicooboficial/posts/4554063361276071/?locale=ar_AR

    E Consultando a Relação de Instituiçoes do Banco Central do Brasil ->  https://www.bcb.gov.br/pom/spb/estatistica/port/ASTR003.pdf, Também encontro Banco SICOOB S.A. para o numero 756

    Não seria o caso de usar ACBrBoletoW_Sicoob_API.pas (como fiz) ao invez de ACBrBoletoW_Bancoop.pas?

    ACBrBoleto.rar

    • Curtir 2
  10. Olá a todos, segue a documentação da API de Cobranças Bancarias do SICOOB na versão 2

    https://developers.sicoob.com.br/#!/apis

    Detalhes:

    É possivel consultar a mesma sem precisar estar logado no site, também é possível criar uma conta no site sem precisar ser correntista/cooperado do banco

    Agora para criar uma aplicação e ter acesso ao Client_id é necessario ser correntista

    Comecei a fazer uns testes mas esbarrei na necessidade de passar no Hearder a KEY "x-sicoob-clientid" com  VALUE [client_id]

    no metodo da classe que vai gerar o Header fiz:

    procedure TBoletoW_Sicoob_API.GerarHeader;
    begin
      DefinirContentType;
      DefinirKeyUser;

      if NaoEstaVazio(Boleto.Cedente.CedenteWS.ClientID) then
        HTTPSend.Headers.Add('x-sicoob-clientid: ' + Boleto.Cedente.CedenteWS.ClientID);
    end;

    Mais este Header é limpo na procedure Executar da unit TBoletoWSREST

  11. Neto que bom que você conseguiu para Delmiro Gouveia, e pensar que o problema era do lado deles e não do componente

    aqui estou tendo muitas rejeições, corrijo uma (removo da escrita), ele critica outra, corrijo esta outra ele diz que falta a primeira, enfim estou errando em algum local

    você poderia compartilhar comigo o XML gerado desta sua NFSe autorizada?

  12. Olá a todos, revivendo este tópico

    Recebi a seguinte reposta por email da Tributos Municipais -> 

    Bom dia!

    Identificamos um correção no descritivo do serviço que estava informando o parâmetro URL do envelopamento da mensagem SOAP, diferente ao qual esta habilitado no endpoint do serviço. Correção realizada para também processar todos as as requisições, ajuste estará disponível em produção hoje.

    Agora ao realizar testes/tentativas de comunicação com o Programa de Exemplo, no WebService deles recebo um monte de erros

     

    Requisição
    Ambiente: 2
    Cidade  : Bezerros/PE
    Provedor: Tributus Versão: 2.04
     
    Método Executado: Enviar Lote Síncrono
     
    Parâmetros de Envio
    Numero do Lote: 1
     
    Parâmetros de Retorno
    Data de Envio : 30/12/1899
    Numero do Prot: 
    Numero da Nota: 
    Link          : 
    Código Verif. : 
    Sucesso       : True
     
    Erro(s):
    Código  : E233
    Mensagem: Lote já processado.
    Correção: Atribua um novo número ao lote de RPS
    ---------
    Código  : E35
    Mensagem: Código de tributação inexistente.
    Correção: 
    ---------
    Código  : E166
    Mensagem: Regime Especial de Tributação  não informado para optante do simples nacional.
    Correção: 
    ---------
    Código  : E241
    Mensagem: Retenções de Tributos Federais só podem ser efetuados por tomador do serviço pessoa jurídica.
    Correção: 
    ---------
    Código  : E274
    Mensagem: COFINS retida incorreta.
    Correção: 
    ---------
    Código  : E328
    Mensagem: Opção pelo SIMPLES Nacional não consta do cadastro do contribuinte.
    Correção: 
    ---------
    Código  : E215
    Mensagem: Item da lista de serviço incompatível com o código de tributação.
    Correção: 
    ---------
    Código  : X202
    Mensagem: Lista de NFSe não encontrada! (ListaNfse)
    Correção: 
    ---------
     
    NFS-e Numero....: 1
    Cod. Verificacao: 
    Prestador.......: RR TECIDOS LTDA
    Tomador.........: INSCRICAO DE TESTE

     

    Será que ainda há um erro no servidor deles? qualquer numero de lote que envio ele está devolvendo a mensagem "Atribua um novo número de lote de RPS"

    temp1.xml temp2.xml 1-env-lot-sinc.xml 1-env-lot-sinc-soap.xml

  13. Tentei com no exemplo e sem sucesso

    https://www.tributosmunicipais.com.br:443/nfse/api/
    https://www.tributosmunicipais.com.br/nfse/api/
    https://www.tributosmunicipais.com.br/nfse/api/nfse.wsdl
    https://www.tributosmunicipais.com.br/nfse/api/?tokenAuth=...

    Tentei fazer testes com o POSTMAN (anexando o XML gerado pelo programa exemplo), enquanto eu não configurava o POSTMAN corretamente recebia mensagem de erro, quando eu acertei tudo, parou de chegar resposta (ou seja, XML Vazio)

    Tentei fazer testes com o SoapUI, mas não consegui usar a ferramenta com sucesso

  14. 19 horas atrás, Italo Giurizzato Junior disse:

    Boa tarde Neto,

    Qual cidade que também utiliza o mesmo provedor que esta funcionando?

    A URL de homologação/produção é a mesma?

    Italo, olhando o ACBrNFSeXServicos.ini me dei conta que: 

    a Cidade de Largato/SE utilizara o Provedor "Tributos Municipais" e esta assim
     

    [2803500]
    Nome=Lagarto
    UF=SE
    Provedor=Tributus
    Versao=2.04
    ProRecepcionar=https://www.tributosmunicipais.com.br/nfse/api/nfse.wsdl
    HomRecepcionar=https://www.tributosmunicipais.com.br/nfse/api/nfse.wsdl


    Já Delmiro Golveia/AL e Bezerros/PE (esta ultima que adicionei) ficou assim 

    [2702405]
    ; Incluído em 13/07/2022
    Nome=Delmiro Gouveia
    UF=AL
    Provedor=Tributus
    Versao=2.04
    ProRecepcionar=https://www.tributosmunicipais.com.br:443/nfse/api/
    HomRecepcionar=https://www.tributosmunicipais.com.br:443/nfse/api/
    
    [2601904]
    ; Incluído em 20/10/2022
    Nome=Bezerros
    UF=PE
    Provedor=Tributus
    Versao=2.04
    ProRecepcionar=https://www.tributosmunicipais.com.br/nfse/api/
    HomRecepcionar=https://www.tributosmunicipais.com.br/nfse/api/

    vou fazer testes com a configuração de Lagarto e posto aqui os resultados
     

    • Curtir 2
  15. Olá a todos, o  Yure me respondeu por emai, segue na integra

     

    Boa tarde;

    Prezado Marcelo;

    Para acessar a descrição dos serviços, utilize o link: https://www.tributosmunicipais.com.br/nfse/api/nfse.wsdl 

    Para acessar e consumir os serviços do webservice, utilize o link:

    https://www.tributosmunicipais.com.br/nfse/api/?tokenAuth={token}

    ex:

    https://www.tributosmunicipais.com.br/nfse/api/?tokenAuth=55c0536af8e4218e05b88e266fdca55b66668f065c808d63e014a045eb2b19c6125bac24d9dfc0ccb7435e2ce2c4dd86

     

    Lembrando que é importante informar o parâmetro Content-Type de valor text/xml no Headers da requisição e de utilizar o elemento envelope SOAP.
     
  16. Olá Italo, infelizmente não tive sucesso de comunicação com este servidor

    O Retorno ainda é o mesmo:

    Erro(s):
    Código  : X999
    Mensagem: Erro de Conexão: Erro Interno: 0
    Erro HTTP: 404
    URL: https://www.tributosmunicipais.com.br/nfse/api?tokenAuth=17a0465cbdf04832c91db5f23391b3780b15597f7f971477bbbb27ed3101e1dae433dccb5d7110e49c5e2e518aa0a3df
    
    WebService retornou um XML vazio.

    fiz algumas tentativas com

    https://www.tributosmunicipais.com.br/nfse/api?tokenAuth=17a0465cbdf04832c91db5f23391b3780b15597f7f971477bbbb27ed3101e1dae433dccb5d7110e49c5e2e518aa0a3df
    https://www.tributosmunicipais.com.br/nfse/api/?tokenAuth=17a0465cbdf04832c91db5f23391b3780b15597f7f971477bbbb27ed3101e1dae433dccb5d7110e49c5e2e518aa0a3df
    https://www.tributosmunicipais.com.br:443/nfse/api/?tokenAuth=17a0465cbdf04832c91db5f23391b3780b15597f7f971477bbbb27ed3101e1dae433dccb5d7110e49c5e2e518aa0a3df
    https://www.tributosmunicipais.com.br:443/nfse/api?tokenAuth=17a0465cbdf04832c91db5f23391b3780b15597f7f971477bbbb27ed3101e1dae433dccb5d7110e49c5e2e518aa0a3df


    todas com o mesmo retorno

    Sabemos que Erro HTTP: 404 é objeto não encontrado, você acha que o problema é no Serviço da Tributus? e está na hora de eu tentar falar com eles?


    É possível testar o envio de um XML de RPS gerado pelo Programa Exemplo por outro local? tipo usando o software SoapUI ?(que já vi você falando dele)

    Como posso ajudar?
     

  17. Olá a questão da conexão com o servidor da TributusMunicipais foi resolvido?

    tentei fazer testes com a cidade de Bezerros/PE que também utiliza serviços deste provedor

    inclui a cidade no ACBrNFSeXServicos.ini

    [2601904]
    ; Incluído em 20/10/2022
    Nome=Bezerros
    UF=PE
    Provedor=Tributus
    Versao=2.04
    ProRecepcionar=https://www.tributosmunicipais.com.br:443/nfse/api/
    HomRecepcionar=https://www.tributosmunicipais.com.br:443/nfse/api/

    Fiz o cadastro do Emitente em -> https://www.tributosmunicipais.com.br/connect/

    Configurei o Exemplo, mais quando clico em teste recebo a seguinte resposta
     

    Requisição
    Ambiente: 2
    Cidade  : Bezerros/PE
    Provedor: Tributus Versão: 2.04
     
    Método Executado: Enviar Lote Síncrono
     
    Parâmetros de Envio
    Numero do Lote: 1
     
    Parâmetros de Retorno
    Data de Envio : 30/12/1899
    Numero do Prot: 
    Numero da Nota: 
    Link          : 
    Código Verif. : 
    Sucesso       : False
     
    Erro(s):
    Código  : X999
    Mensagem: Erro de Conexão: Erro Interno: 0
    Erro HTTP: 404
    URL: https://www.tributosmunicipais.com.br:443/nfse/api/?tokenAuth=17a0465cbdf04832c91db5f23391b3780b15597f7f971477bbbb27ed3101e1dae433dccb5d7110e49c5e2e518aa0a3df
    
    WebService retornou um XML vazio.
    Correção: 
    ---------
     
    NFS-e Numero....: 1
    Cod. Verificacao: 
    Prestador.......: RR TECIDOS LTDA
    Tomador.........: INSCRICAO DE TESTE

     

    Obs. 1 - já atualizei os fontes em 20/10/2022 e reinstalei todo o ACBr
    Obs. 2 -  Nome do Provedor é com "u" e a URL com com "o" Tributus/Tributos

    Segue XMLs gerados 

    1-env-lot-sinc.xml 1-env-lot-sinc-soap.xml

  18. Olá a todos

    Realizei testes com o PaygoWEB e 2 tipos de PinPAD

    Com os PinPADs mais antigos que possuem a versão 1.08a a função de obter dados não funciona

    Com PinPADs mais novos (usei o PPC 930 da Gertec versão 2.03) a função funciona perfeitamente 

    Será que conseguimos mudar/alterar a função para funcionar também com os mais antigos (lembrando que com o TEF por troca de arquivos - Paygo)  a função de obter dados funciona com os 2 tipos de pinpad

  19. 27 minutos atrás, Daniel Simoes disse:

    ok... TEF IP, PayGo...

    Fiz um novo teste com meu PinPad.. veja:

    IMG_20200918_122110.063.jpg

     

    no Boot do PinPad, podemos ver que ele é ABECS 2.03

    image.png

    Você está fechando o Gerenciador do TEF IP, quando faz testes com o TEF PayGo Web ?

    (o Gerenciador TEF DIAL da PayGo, pode estar prendendo a porta do PinPad)

     

    Sim estou fechando o gerenciador,

    se estes numero ai representam a versão do ABECS então o meu aqui de testes é 1.08a, então é este o problema, agradeço por toda a atenção, e vou testar nos clientes que tem PinPad mais novos (e atualizados)

    Captura de tela 2020-09-18 125522.png

    • Curtir 1
×
×
  • 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...