Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

cjulio

Utilizar Webservices da AT

Recommended Posts

jncevcosta
1 minuto atrás, pnnr disse:

Tanto os webservices de testes das guias de transporte/faturas estão em baixo. Provavelmente devem andar em alterações para contemplar as faturas sem papel.

Só para lembrar que temos forma de testar os serviços da AT no portal das finanças: 

https://faturas.portaldasfinancas.gov.pt/testarLigacaoWebService.action

Não quero aqui eliminar a utilidade deste tópico mas por vezes é mais rápido do que esperar uma resposta de alguém.

Quando liguei para lá pediram para enviar uma mensagem pelo E-Balcão.

Assim o fiz. Responderam-me a dizer que o erro 33 é de SOAP Inválido e não do Servidor de Autenticação Inválido.

Enviei um print para lá e desde então devem ter engolido o sapo, pois não voltaram a responder 😂

Share this post


Link to post
Share on other sites
jncevcosta

Já alteraram alguma coisa que agora o erro é: mismatched tag, expected hr at offset 244 of

Share this post


Link to post
Share on other sites
Álvaro Borges

Gostaria de vos colocar 3 questões pois ainda não consegui obter informação:

a) Quando se procede a uma comunicação telefónica das Guias de Transporte por inoperacionalidade em termos de comunicação por parte da AT (webservice) temos posteriormente de completar a informação sobre o documento de transporte até ao 5º dia útil seguinte ao do início do transporte:

  • Questão 1 - No site temos a opção "Completar Dados Transmitidos por Telefone". Se completarmos por esta via o formulário a preencher é idêntico ao disponível na opção "Comunicar após Data de Início de Transporte" só que com os dados em falta para preencher?
  • Questão 2 - Em detrimento de utilizar a funcionalidade "Completar Dados Transmitidos por Telefone" podemos fazer upload do ficheiro SAFT (com o código da AT preenchido) por via da funcionalidade "Comunicar Ficheiro" em que o retorno será provavelmente o Alerta 100 - A data início de transporte é inferior à data actual, pelo que esta informação será considerada uma mera comunicação de dados à AT?
  • Questão 3 - Em detrimento das duas opções anteriores podemos tentar comunicar via webservice (com o código da AT preenchido) em que o retorno será provavelmente o Alerta 100 - A data início de transporte é inferior à data actual, pelo que esta informação será considerada uma mera comunicação de dados à AT?

Muito obrigado pela vossa atenção e partilha...

Share this post


Link to post
Share on other sites
americob

Na minha opinião, a comunicação telefónica de Guias de Transporte só serve para documentos impressos em tipografia autorizada.

Assim, se utilizar essa funcionalidade, depois de usar o DT, quando o portal estiver disponível, vai lá e completa os dados.

Se o programa estiver funcional para emitir o DT mas não o conseguir comunicar, não deve fazer a comunicação telefónica. Deve imprimir em Duplicado e juntar prova de tentativa de comunicação e respetiva resposta de erro para acompanhar os bens. Depois, quando o portal estiver disponível, faz a comunicação à qual irá obter o alerta 100 - A data ...

  • Vote 1

Share this post


Link to post
Share on other sites
americob

Entrega do SAFT por linha de comandos: FACTEMICLI-2.5.10-cmdClient,jar

Publicaram a nova versão 2.5.10 que está com erro e não valida nem entrega.

Será que ainda vão lançar a versão 2.5.11 a tempo da entrega no dia 20?

Share this post


Link to post
Share on other sites
Pedro Almeida
Em 14/12/2018 às 12:53, americob disse:

Entrega do SAFT por linha de comandos: FACTEMICLI-2.5.10-cmdClient,jar

Publicaram a nova versão 2.5.10 que está com erro e não valida nem entrega.

Será que ainda vão lançar a versão 2.5.11 a tempo da entrega no dia 20?

Tenho o mesmo problema à data de hoje. Alguma novidade?

Share this post


Link to post
Share on other sites
Carlos Pais
9 horas atrás, Pedro Almeida disse:

Tenho o mesmo problema à data de hoje. Alguma novidade?

 

Em 14/12/2018 às 12:53, americob disse:

Entrega do SAFT por linha de comandos: FACTEMICLI-2.5.10-cmdClient,jar

Publicaram a nova versão 2.5.10 que está com erro e não valida nem entrega.

Será que ainda vão lançar a versão 2.5.11 a tempo da entrega no dia 20?

Também já tive o mesmo problema .... mas já esta lá a nova versão 2.5.11

Share this post


Link to post
Share on other sites
marcolopes

Alguém está a ter erros de SOAP na comunicação? Estou a obter:

particle 2.1: in element...

Tanto na comunicação de Facturas como de Transportes?

NOTA: Nada foi alterado no software...


The simplest explanation is usually the correct one

JAVA Utilities: https://github.com/marcolopes/dma

Share this post


Link to post
Share on other sites
americob
3 horas atrás, marcolopes disse:

Alguém está a ter erros de SOAP na comunicação? Estou a obter:

particle 2.1: in element...

Tanto na comunicação de Facturas como de Transportes?

NOTA: Nada foi alterado no software...

Acabei de comunicar e tudo funcionou normalmente

Share this post


Link to post
Share on other sites
Álvaro Borges
Em 12/12/2018 às 14:15, americob disse:

Na minha opinião, a comunicação telefónica de Guias de Transporte só serve para documentos impressos em tipografia autorizada.

Assim, se utilizar essa funcionalidade, depois de usar o DT, quando o portal estiver disponível, vai lá e completa os dados.

Se o programa estiver funcional para emitir o DT mas não o conseguir comunicar, não deve fazer a comunicação telefónica. Deve imprimir em Duplicado e juntar prova de tentativa de comunicação e respetiva resposta de erro para acompanhar os bens. Depois, quando o portal estiver disponível, faz a comunicação à qual irá obter o alerta 100 - A data ...

Obrigado

Share this post


Link to post
Share on other sites
Reinaldo Ramos

Boas.

Tenho estado a tentar comunicar com o webservice com Python, mas por alguma razão não consigo encontrar grande coisa em termos de SOAP para aqueles lados...

E quando encontro alguma biblioteca, é muito pouco/nada documentada.

Alguém já usou Python para isto?

Cumprimentos.

Share this post


Link to post
Share on other sites
Carrolo

Bom dia a todos,

existe alguma forma de visualizar as facturas submetidas pelo webservice em ambiente de testes?

 

Obrigado

Share this post


Link to post
Share on other sites
Vitor Pereira
Em ‎28‎/‎08‎/‎2018 às 18:11, dikx disse:

Olá @Antonio Valladares,

Estou a configurar o SoapUI, mas não estou a conseguir colocar o header tal e qual como necessário na documentação. É possível partilhares a configuração que tens no WS-A?

Ou se mais alguém conseguir ajudar, agradecia.

Obrigado desde já.

Cumprimentos

 

Boas

Peguei no Webservice dos Doc. de Transporte, e seguindo o Manual da AT fiz a adaptação ao Webservice da Faturação ( Novo XML e novo endereços endereços )

O Webservice recebe o XML e responde, mas não conheço o erro nem vejo a razão pois comparei letra a letra ao exemplo no Manual da AT e nada falha

Será que alguém me pode ajudar, ou quem tenha este Webservice a trabalhar enviar um XML final para comparar?

Desde já o meu obrigado

 

Exemplo da resposta de erro do Webservice:

<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
  <env:Body>
    <env:Fault>
      <faultcode>env:Client</faultcode>
      <faultstring>Internal Error</faultstring>
    </env:Fault>
</env:Body>
</env:Envelope>

 

Exemplo do XML que envio:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
  <wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext">
    <wss:UsernameToken>
      <wss:Username>555555555/1</wss:Username>
      <wss:Password>7aPSCVqSo3y4mQUHz8L+Hg==</wss:Password>
 <wss:Nonce>BYS1VD5boyV/3BUCAn/FnJcu4PJSucdXluPr/r4XkU14URJZOD/5nkGU/Xy/ghWlmPCvwtB+gyHg5g+E5cKnIGqtTMxqavaIIbA55tFo27mPbKagM8Hb1pasbkhkNZqrZ0/SkbOBCM23hogTJTWZ2LjpJUSH49T1T++TY6P+Up/+6r1i3O6J4WHwBnOBpygxUH7wf+5S3mwn9ZX11DzUyapEtwib35aeqwjo5MfYyFKiNLI7CnKTCV1i6DK2HeRu6iboWV2/YF8kUJZ+09urqNq01maC4UwpXcBvRwf7mKh1wwWsbiHyIOVbcsrIMmmGOZZy+L/9koV4AoOSHmed5A==
</wss:Nonce>
      <wss:Created>XlXq8MShEB4wVPtDlQRNtEITq2vGA+vnGi441+ExP6A=</wss:Created>
    </wss:UsernameToken>
  </wss:Security>
</S:Header>
<S:Body>
  <ns2:RegisterInvoiceElem xmlns:ns2="http://servicos.portaldasfinancas.gov.pt/faturas/">
    <TaxRegistrationNumber>555555555</TaxRegistrationNumber>
    <ns2:InvoiceNo>001 1/180957</ns2:InvoiceNo>
    <ns2:InvoiceDate>2018-12-21</ns2:InvoiceDate>
    <ns2:InvoiceType>FT</ns2:InvoiceType>
    <ns2:InvoiceStatus>N</ns2:InvoiceStatus>
    <CustomerTaxID>999999990</CustomerTaxID>
    <Line>
      <ns2:CreditAmount>67.50</ns2:CreditAmount>
      <ns2:Tax>
        <ns2:TaxType>IVA</ns2:TaxType>
        <ns2:TaxCountryRegion>PT</ns2:TaxCountryRegion>
        <ns2:TaxPercentage>23.00</ns2:TaxPercentage>
      </ns2:Tax>
    </Line>
    <DocumentTotals>
      <ns2:TaxPayable>15.53</ns2:TaxPayable>
      <ns2:NetTotal>67.50</ns2:NetTotal>
      <ns2:GrossTotal>83.03</ns2:GrossTotal>
    </DocumentTotals>
  </ns2:RegisterInvoiceElem>
</S:Body>
</S:Envelope>
 

Share this post


Link to post
Share on other sites
marcolopes
8 hours ago, Vitor Pereira said:

Peguei no Webservice dos Doc. de Transporte, e seguindo o Manual da AT fiz a adaptação ao Webservice da Faturação ( Novo XML e novo endereços endereços )

O Webservice recebe o XML e responde, mas não conheço o erro nem vejo a razão pois comparei letra a letra ao exemplo no Manual da AT e nada falha

Será que alguém me pode ajudar, ou quem tenha este Webservice a trabalhar enviar um XML final para comparar?

Desde já o meu obrigado

Se estás em JAVA, tens aí tudo... código da AT totalmente REFEITO (e com lógica!): https://github.com/marcolopes/dma/tree/master/org.dma.services.at

e com exemplos de TESTE: https://github.com/marcolopes/dma/tree/master/org.dma.services.at/src/org/dma/services/at/test

Edited by marcolopes

The simplest explanation is usually the correct one

JAVA Utilities: https://github.com/marcolopes/dma

Share this post


Link to post
Share on other sites
firehand
Em 18/12/2018 às 12:58, Reinaldo Ramos disse:

Boas.

Tenho estado a tentar comunicar com o webservice com Python, mas por alguma razão não consigo encontrar grande coisa em termos de SOAP para aqueles lados...

E quando encontro alguma biblioteca, é muito pouco/nada documentada.

Alguém já usou Python para isto?

Cumprimentos.

Boas,

Eu uso pycurl.

Cumps

Share this post


Link to post
Share on other sites
jorang

FYI
O certificado do ficheiro TesteWebservices.pfx que é disponibilizado na área de Produtores de Software no e-fatura vai expirar depois de amanhã, dia 29, às 09:19.
Para ser possível continuar a aceder ao ambiente de testes, será necessário que disponibilizem novo certificado.

Citação

Certificate:

    Data:

        Version: 3 (0x2)

        Serial Number:

            12:00:00:20:d4:35:19:77:9b:f9:b7:fa:76:00:03:00:00:20:d4

    Signature Algorithm: sha256WithRSAEncryption

        Issuer: DC=local, DC=ritta, CN=DGITA Issuing CA1

        Validity

            Not Before: Jul  2 09:19:03 2018 GMT

            Not After : Dec 29 09:19:03 2018 GMT

        Subject: C=PT, ST=Lisboa, L=Lisboa, O=AT - Autoridade Tributaria e Aduaneira, OU=ASI, CN=TesteWebServices

 

Share this post


Link to post
Share on other sites
Vitor Pereira
Em ‎22‎/‎12‎/‎2018 às 03:25, marcolopes disse:

Se estás em JAVA, tens aí tudo... código da AT totalmente REFEITO (e com lógica!): https://github.com/marcolopes/dma/tree/master/org.dma.services.at

e com exemplos de TESTE: https://github.com/marcolopes/dma/tree/master/org.dma.services.at/src/org/dma/services/at/test

 

Marco, desde já obrigado pela informação partilhada

Como a Porta de testes juntamente com o Certificado de Testes da AT não estão a funcionar ( pelo menos comigo ), estou a trabalhar com exemplos reais e em produção

Continuo sem encontrar onde poderá estar o erro, pelo que pergunto se não é possível disponibilizar um XML final que foi utilizado e funcionou, para poder comparar e entender de onde vem o erro 

Desde já obrigado

Share this post


Link to post
Share on other sites
marcolopes
17 minutes ago, Vitor Pereira said:

 

Marco, desde já obrigado pela informação partilhada

Como a Porta de testes juntamente com o Certificado de Testes da AT não estão a funcionar ( pelo menos comigo ), estou a trabalhar com exemplos reais e em produção

Continuo sem encontrar onde poderá estar o erro, pelo que pergunto se não é possível disponibilizar um XML final que foi utilizado e funcionou, para poder comparar e entender de onde vem o erro 

Desde já obrigado

Se tiveres ECLIPSE, importares o projecto que indiquei, e correres os exemplos, tens tudo o que precisas (está tudo a funcionar)


The simplest explanation is usually the correct one

JAVA Utilities: https://github.com/marcolopes/dma

Share this post


Link to post
Share on other sites
Vitor Pereira
3 minutos atrás, marcolopes disse:

Se tiveres ECLIPSE, importares o projecto que indiquei, e correres os exemplos, tens tudo o que precisas (está tudo a funcionar)

 

Obrigado Marco, infelizmente não trabalho com Eclipse, Java, etc,

Eu sei ( ou acho que sei …. rsrs ) como fazer o XML, como ligar ao Webservice, etc, aliás utilizo desde sempre o Webservice dos Doc. de Transporte que a nível de tratamento é quase uma cópia do Webservice das Faturas e está a funcionar a 100%

Segui o Manual da AT á linha ( mas sei que muitas vezes estão errados ou desatualizados, como já aconteceu várias vezes ), já até enviei pedido de ajuda á AT através do canal de duvidas ( ainda não recebi a resposta ), mas por algum pormenor consigo entrar no Webservice mas  recebo um erro no "envelope" pelo que entendo

Se alguém pudesse partilhar um XML que resultou de uma comunicação com sucesso ( mesmo que altere os NIF's para manter o sigilo como é óbvio ), acho que seria a forma de encontrar o problema ( que acredito seja informação a mais ou informação a menos ).

Uma vez mais obrigado   

Share this post


Link to post
Share on other sites
Sérgio Lourenço
Em 29/08/2018 às 12:11, MCAST76 disse:

Viva!

Relativamente ao webservice e-TaxFree, gostaria de saber se alguém consegue algum resultado, pois é-me sempre devolvido o erro: "Pedido do Cliente Rejeitado: Credenciais Inválidas".

Os restantes webservices funcionam devidamente, tanto em ambiente de testes como de produção.

Agradeço desde já.

Tive o mesmo problema no ambiente de testes. Pelo SoapUI não estava a conseguir mas o teste na aplicação online dava "sucesso".
Resultado, o problema estava no "WSS Username Token" que o SoapUI gera.

Em vez de:

<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soapenv:mustUnderstand="1">
         <wsse:UsernameToken wsu:Id="UsernameToken-686B9A8B49C7A8582915460119684541">
            <wsse:Username>{username}</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
            <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">{nonce}</wsse:Nonce>
            <wsu:Created>{created}</wsu:Created>
         </wsse:UsernameToken>
      </wsse:Security>

Basta colocar:

<wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext">
         <wss:UsernameToken>
            <wss:Username>{username}</wss:Username>
            <wss:Password>{password}</wss:Password>
            <wss:Nonce>{nonce}</wss:Nonce>
            <wss:Created>{created}</wss:Created>
         </wss:UsernameToken>
      </wss:Security>

Espero ter ajudado alguém com isto. 😉

Share this post


Link to post
Share on other sites
Xendro
Em 05/07/2018 às 11:14, Hugo Simões disse:

Bom dia,

Preciso de ajuda!

Desde o dia 3/Julho ás 18:30 comecei a receber notificações da AT a dizer que há um erro e que os documentos não estão a entrar por webservice. Até aqui tudo normal, porque várias vezes acontece esta situação mas passado umas horas à medida que vou enviando novamente os documentos eles vão entrando. Mas desta vez, há qualquer coisa que estou achar estranho.

Verifiquem a imagem abaixo que é o relatório de comunicação:

https://imgur.com/a/3RHKp5x

Exemplo do XML de comunicação da FR 2018/16:

https://imgur.com/a/V9sOlwQ

  • Normalmente, esta situação dura horas e não dias;
  • Estranho que na mesma comunicação, exista clientes que estão a comunicar e outros não.
  • Estranho também que ao analisarmos o cliente 242, os documentos 16,17 não entraram, mas o 18 e 19 entraram, depois o 20 e 21 falharam
  • No cliente 939, foi emitida uma nota de credito posterior a estes erros e comunicou
  • A resposta é um erro -99 com a mensagem a dizer que é um "Erro de sistema. Por favor volte a tentar mais tarde."

Estive a tentar arranjar um padrão para o problema e não consigo encontrar:

  • Não houve atualização ao software quando começou acontecer isto
  • São tipos de documento diferentes
  • Documentos para entidades portuguesas e estrangeiras
  • Enquadramentos de Iva diferentes
  • Já está acontecer em mais algumas empresas (já não é só nestas)
  • Vi o XML de comunicação e parece-me bem

Estão a ter algum problema com a comunicação de documentos?

Alguma sugestão? 

Obrigado.

Ola.

Estou com este erro a alguns dias. ( -99 Erro de sistema ... )
qual foi o problema na altura.?

Obrigado.

Share this post


Link to post
Share on other sites
Vitor Pereira
Em ‎15‎/‎04‎/‎2013 às 10:38, brunotoira disse:

Aqui vai para quem precisa de código fonte de encryptação e envio do XML

Este zip leva source para: VB.net, C#, phyton, e Ruby, vfp9, VB6, Delphi 6, Delphi 7, Delphi 9, 10, XE, XE4, XBASE etc ****

Poderá ser necessário ajustar o source à sua necessidade.

O Anexo leva ZIP compilado e em source das várias linguagens anunciadas.

Download: https://www.dropbox.com/s/gqq228grvm7t7nb/Comunicacao_Guias_AT.zip

*** ATENÇÃO QUE É NECESSÁRIO RETIRAR O :701 DO ENDEREÇO POIS O ENDEREÇO DE TESTES ALTEROU**

Está disponível também um XML com a estrutura necessária, bem como um XML de resultado..

Passos iniciais obrigatórios:

1. Criar a pasta C:\EnvioGuias e gravar lá o ChavePublicaAT.cer e TestesWebServices.pfx

2. Criado no portal da finanças(link) o respectivo User com o acesso ao WDT.

3. Ter aderido ao serviço de envio via WebService aqui

4. Ter o .net Framework para correr o EXE (à partida o framework 2.0 chega)

Também há forma de implementar em softwares antigos. Passa por chamar o "encryptor.exe" pela linha de comandos com a password, por exemplo "c:\EnvioGuias\encryptor.exe minhapassword"

O resultado ficará gravado em C:\EnvioGuias\Guia2013.xml e a estrutura será:

1ª linha: PasswordEncryptada;

2ª linha: Created;

3ª linha: NONCE;

Após estas 3 linhas, na vossa aplicação podem gerar o XML com a vossa base de dados...

Quando precisarem da password Nonce ou Created basta abrir o C:\EnvioGuias\Guia2013.xml e ler o que lá está.

Após ter o XML gerado, gravem-no em "C:\EnvioGuias\GuiaFinal.xml" e executem o "APISender.exe" aguardem 2 segundos aprox e será criado o XML de resultado.

Após ter o C:\EnvioGuias\Result.xml é facil interpretar o xml

Está testado e pelo que sei, foi implementado em alguns programas, nomeadamente em aplicações feitas em MS-DOS etc.

As TAG's do xml tem obrigatóriamente de ter a estrutura exactamente igual, CaseSensitive etc.

Espero que seja util. :thumbsup:

Podem enviar dúvidas pelo facebook ou aqui via mensagem privada.

 

Aqui está o verdadeiro criador que disponibilizou a ferramenta  Apidenser.exe e Encryptor.exe

Share this post


Link to post
Share on other sites
cyrusmoney

Bom dia, 
O meu certificado que criei para comunicar guias expirou (passados dois anos).
Segui as instruções do manual e acabei por enviar um email com o novo certificado criado por mim mas recebi de imediato um 
e-mail a dizer que o mesmo deveria ser pedido no e-balcão.
Criei um ticket em: Outras obrigações / Certif Sofware / Questões tecnicas.
Depois acabei por descobrir que também existia um outro link https://faturas.portaldasfinancas.gov.pt/consultarPedidosAdesao.action
O qual usei para criar um novo pedido.

A minha questão é este processo não devia ser rápido?
Estou a aguardar desde dia 28. Pensei que até seria automatizado visto que pedem que o pedido siga um texto padrão.
Obrigado
Gostaria de saber se alguêm fez outra abordagem e se é normal a espera?

Share this post


Link to post
Share on other sites
João Carvalho

Bom dia cyrusmoney,

Eu, depois de criar o novo certificado como diz no manual, enviei o pedido aqui:

1.  www.portaldasfinanacas.gov.pt

2.   E-Fatura

3.   Produtores de Software

4.   Efetuar Novo Pedido

5.   Colocar lá o ficheiro (contribuinte).csr

E recebi a resposta passado uma hora!

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.