Ir para conteúdo
  • Cadastre-se

Artur Alencar

Membros
  • Total de ítens

    83
  • Registro em

  • Última visita

Posts postados por Artur Alencar

  1. 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.

  2. 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.

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

  4. Acabou de acontecer isso com um cliente meu de SP agora. O Parâmetro do método enviar está como síncrono e mesmo assim retorna como lote recebido com sucesso. E só este cliente está com este problema. Será algo na sefaz de SP?

  5. Bom dia pessoal, eu estou com uma dúvida aqui, tentei pesquisar no fórum mas não achei outro tópico que me respondesse isso.

    Eu tenho um cliente que quer que na impressão da NFSe (e acredito que vai ter que constar no xml também), o local de prestação do serviço seja no município do cliente para quem ele está prestando o serviço. Eu já coloquei para que o codigo ibge dos dados do tomador seja o do município do cliente, mas mesmo assim, sempre aparece o municipio da propria empresa que está prestando o serviço. Sabem me dizer onde no xml eu tenho que colocar esta informação para que apareça na impressão do site da prefeitura corretamente?

  6. Deu certo!

    Era isso mesmo, fui no ini e coloquei todas as assinaturas para zero, ai enviou.

    Agora deu esta mensagem aqui:

    Lote j? processado.
    Atribua um novo n?mero ao lote de RPS, caso os RPS nele contidos ainda n?o tenham sidos processados.
    Regime Especial de Tributa??o n?o informado para optante do simples nacional. Quando a empresa prestadora do servi?o for optante pelo simples nacional informe "05" MEI ou "06" ME/EPP.
    Quando a empresa prestadora do servi?o for optante pelo simples nacional informe "05" MEI ou "06" ME/EPP.

    O que eu achei estranho na mensagem é que no manual da Fiorilli diz que não é preciso preencher o Regime Especial quando for enviado em ambiente de homologação. Mas deu a mensagem pedindo a informação kkkkkk. Vou preencher aqui e ver no que que dá. Obrigado pela ajuda @BigWings

    • Curtir 2
  7. 10 minutos atrás, BigWings disse:

    O padrão é assinar o XML.

    Em algumas prefeituras eles configuram pra não exigir a assinatura, aí precisa editar a configuração do componente pra não assinar.

    Está usando o novo componente ACBrNFSeX?

    Ainda não, eu sincronizei o SVN do ACBr tem pouco tempo e vi que tinha este componente novo lá, mas ainda não tentei usar ele, estou usando o ACBrNFSe mesmo.

    Vou tentar alterar então para não enviar a assinatura. Posto aqui se deu certo.

  8. Boa tarde pessoal,

    será que alguém sabe me dizer se este ambiente de testes da fiorilli está funcionando? Eu estou tentando usar aqui mas só me retorna este erro:

    <ns2:Codigo>L4</ns2:Codigo>
    
    <ns2:Mensagem>Estrutura do xml recebido incorreta. javax.xml.bind.MarshalException - with linked exception:[org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; cvc-complex-type.2.4.d: Invalid content was found starting with element 'ns2:Signature'. No child element is expected at this point.].</ns2:Mensagem>
    
    <ns2:Correcao>Valide as tags do xml antes de enviar.</ns2:Correcao>

    Eeu verifiquei o xml de envio mas não vai esta tag "ns2:Signature" que está falando na mensagem.

    Coloquei os dados de homologação assim como manda no manual da Fioriili:

    Alguém que já tenha conseguido usar este ambiente de testes com o acbrnfse, pode me ajudar?

    image.thumb.png.cdeaf8b66d540b20893483da2fb00178.png

  9. 49 minutos atrás, BigWings disse:

    Só pontuando que a MSXML não é recomendada para uso, principalmente com certificado A3. Tem problemas graves já relatados aqui no fórum de exclusão da chave privada.

    Entendi, eu também não sabia disso, talvez por isso alguns dos meus clientes reclamavam que o certificado A3 parava de funcionar, e quando a gente ia ver, tinha perdido a chave privada. No meu caso estamos orientando todos os clientes a fazer certificado A1. Inclusive a empresa para quem eu trabalho faz a emissão do certificado também, isso já facilita um pouco rsrs.

  10. Eu achei uma solução aqui, pelo menos pra mim resolveu. Consegui manter o OpenSSL mas mudei apenas o XMLSignLib para xsMsXml. Talvez isso ajude mais alguém que esteja passando por este mesmo problema.

    image.png.7273e916d2452adc5d07965c69463f8e.png

  11. Sei que o tópico é antigo mas hoje ainda estou com este mesmo problema relatado ai. Produto com dois dígitos no código não passam na validação do schema, mesmo no schema dizendo que o tamanho mínimo é de um dígito. Alguém conseguiu achar uma solução para isso que não seja mudar de openssl para capicom? Ou pelo menos explicar com mais detalhes porque acontece este problema com o Openssl? Porque eu não entendi porque em um funciona e no outro não.

  12. Então, a última vez que atualizei os fontes, foi a uns 4 meses atrás. Até pensei nesta hipótese de atualizar novamente, mas fiquei com medo de ter mudado algumas propriedades que outros projetos usam, e eu acabar tendo que ajustar eles. Mas vou instalar uma VM no meu computador para fazer o teste.

  13. Bom dia pessoal, obrigado pelas respostas. Então eu fiz a primeira opção que o Daniel indicou no link, e o Juliomar tinha comentado,  que é colocar o FMX no projeto naquela parte onde está indicando a imagem, mas não funcionou, continuou sem reconhecer. Não tentei a outra opção que é mudar o arquivo .inc porque estava dizendo la que poderia afetar os projetos em VCL e eu tenho muitos aqui em VCL, este projeto em Android é mais um "start" dos meus conhecimentos no mundo mobile. Então fiquei com medo de mudar e acabar "estragando" os projetos que tenho em VCL.

    Eu encontrei uma outra solução que foi usar uma requisição REST em um servidor com PHP para solicitar que ele envie o email para mim. Como já estava usando o REST para outras coisas neste projeto android, resolvi tentar usar para enviar email também para ver se funcionava, e deu certinho.

    Obrigado aos dois pelas respostas.

  14. Bom tarde pessoal,

    eu estou com um problema aqui que não sei como resolver. Estou usando uma tela de cadastrado de receitas onde a query de itens está configurada como cachedupdates = true;

    O problema é que quando o usuário vai editar um item, a query entra em dsEdit normal, mas quando o usuário quer cancelar esta edição, eu dou um query.Cancel, mas quando faço isso, o item some da grid, acredito que por causa do cachedupdates ativado. Eu gostaria de saber como faço para abortar a edição do item pelo usuário mudando o status da query de dsEdit para dsBrownse sem que o item suma da grid.

    Estou usando o TIBOQuery e o Delphi 2007.

  15. Bom dia pessoal, eu não sei se este é o lugar certo para fazer esta solicitação, mas não consegui achar um fórum específico para isso. Caso tenha, podem me passar por favor?

    Voltando a solicitação, eu gostaria que o responsável ou responsáveis por submeter os arquivos ini da NFSe incluíssem a cidade de Buritis do estado de Rondônia,para mantermos os arquivos atualizados, conforme abaixo:

    Cidades.ini

    ------------------------------

    [1100452]
    Nome=Buritis
    UF=RO
    Provedor=Fiorilli

    --------------------------------

    Fiorilli.ini

    --------------------------------

    ; Buritis/RO
    RecepcaoLoteRPS_1100452=http://160.238.242.254:5660/IssWeb-ejb/IssWebWS/IssWebWS?wsdl

    -------------------------------

  16. Em 08/11/2019 at 16:12, Italo Jurisato Junior disse:

    Boa tarde Artur,

    Erro de timeout você consegue resolver aumentando o valor da propriedade de configuração: Timeout

    Erro 500, significa que o XML gerado e enviado para o webservice tem alguma coisa a mais ou faltando.

    Nesse caso verifica se não tem palavras com vogais acentuadas ou com cedilha, checa também se nesses casos não contem o caractere "&".

    Então... no caso do time out eu resolvi executando as rotinas separadamente. Ou seja, o ACBrNFSe envia mas não consulta o lote logo após. Eu chamo a rotina de consultar a situação do componente fora da rotina de envio do mesmo, ou seja, desabilitei aquela opção que deixa o componente fazer todo o processo sozinho.

    Uma coisa que eu observei também, no caso do "Erro 500" é que ele geralmente acontece após as tentativas de consulta terem acabado. Ou seja, se eu colocar que quero consultar 5 vezes, o componente consulta 5 vezes e se na 5ª vez ele retornar "lote em processamento" ou "lote não processado", ao invés de aparecer esta mensagem, aparece o Erro 500. Eu descobri isto usando o evento do componente que registra os logs, então pelos logs vi que ele estava retornando estes dois status, mas mostrava o erro 500.

    Voltando no erro de timeout, eu também tinha tentado aumentar o timeout e o intervalo de para consulta da situação do lote no componente, mas mesmo assim ele retornava o timeout na maioria das vezes. Só consegui resolver fazendo o que descrevi acima.

    • Curtir 1
  17. Nossa! peço mil perdões por responder apenas agora. Aconteceu que o cliente que iamos implantar o sistema acabou desistindo e depois disso fiquei sobrecarregado com outras coisas e acabei esquecendo que tinha postado isso aqui. Mas agora apareceu outro cliente da mesma cidade. Como voltou o mesmo erro, quando fui pesquisar aqui no fórum acabei achando esse post e me lembrei que tinha postado isso um tempo atrás. Peço desculpas mais uma vez.

    Agora voltando ao motivo do problema:

    Eu fiz sim o teste com o Demo do ACBr (hoje, aliás, rsrs), e ele funcionou. Conseguiu enviar normalmente o RPS. Só que às vezes, na hora de consultar o retorno, da isso aqui:

    ERRO: 
    Erro Interno: 12002
    Erro HTTP: 0
    URL: https://www4.webiss.com.br/cacoalro_wsnfse/NfseServices.svc
    Falha no Envio da Requisição.
    Erro: 12002 - TimeOut de Requisição

    Mas às vezes retorna normal com a rejeição do site, exemplo : ""Aliquota de ISS incorreta". Então acredito que pode ser instabilidade no Provedor do WebISS.

    Quando fui vasculhar o que tinha diferente para o meu sistema, não percebi nada de diferente. Mas então eu peguei o arquivo atualizado no .ini (WebISS.ini) do ACBr e coloquei na pasta que meu executável usa e funcionou igual o demo do ACBr! Então era só o arquivo WebISS.ini que deveria estar atualizado. Agora meu sistema está retornando o mesmo que o demo.

    Ás vezes retorna isso aqui também:

    ERRO: 
    Erro Interno: 0
    Erro HTTP: 500
    URL: https://www4.webiss.com.br/cacoalro_wsnfse/NfseServices.svc

     

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