Jump to content
cjulio

Utilizar Webservices da AT

Recommended Posts

md mad

Após muita insistência, lá obtive resposta (ando nisto desde dia 17 de junho)

A Autoridade Tributária e Aduaneira (AT) agradece o seu contacto.
Segundo informação que recebemos dos serviços competentes,
o constrangimento ficará resolvido na próxima quarta-feira, dia 8-7.
Com os melhores cumprimentos
AT- Autoridade Tributária e Aduaneira

 

Por isso malta, tentem amanhã (pelo menos hoje podemos dormir ;) )

Share this post


Link to post
Share on other sites
jmsimoes

Alguém já passou pelo erro "Actor não é único no Header"?

Estou a usar dois headers wss:Security, já que os meus CCs não têm plenos poderes declarativos. Já vi, revi,e voltei a rever tudo no meu pedido SOAP e não consigo perceber o que está mal. Estou a seguir as instruções e o exemplo do manual à letra. Acontece em Prod e Test.
 

<!-- Resposta da AT -->
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <ns3:submeterDeclaracaoPeriodicaIVAResponse xmlns:ns3="https://servicos.portaldasfinancas.gov.pt/dpivaws/DeclaracaoPeriodicaIVAWebService">
      <codigo>
        51
      </codigo>
      <mensagem>
        Actor não é único no Header.
      </mensagem>
    </ns3:submeterDeclaracaoPeriodicaIVAResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

<!-- O meu SOAP envelope, depois de passar por um formatter -->

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:at="http://at.pt/wsp/auth" xmlns:tns="https://servicos.portaldasfinancas.gov.pt/dpivaws/DeclaracaoPeriodicaIVAWebService">
  <soap:Header>
    <wsse:Security soap:actor="http://at.pt/actor/SPA" at:Version="2" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
      <wsse:UsernameToken>
        <wsse:Username>
          000000000
        </wsse:Username>
        <wsse:Password Type="wsse:PasswordDigest" Digest="aNXtOXEQBmJMOwkONbTr+Ti9E=">
          a18DrSQvcA==
        </wsse:Password>
        <wsse:Nonce>
          lNfRVg3EY45zRlv2sP+o9G6Hw3TKuQ==
        </wsse:Nonce>
        <wsse:Created>
          2020-07-08T00:29:32.089Z
        </wsse:Created>
      </wsse:UsernameToken>
    </wsse:Security>
    <wsse:Security soap:actor="http://at.pt/actor/TOC" at:Version="2" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
      <wsse:UsernameToken>
        <wsse:Username>
          111111
        </wsse:Username>
        <wsse:Password Type="wsse:PasswordDigest" Digest="jnDmt/Jh5rrTzUKP7gK05nV8U=">
          o5eBjYeMKg==
        </wsse:Password>
        <wsse:Nonce>
ij25tBe3DrqtEA/ZEVfTLrqokSCZt+mDUfIbE20nvr+4bYSWZqVP4ol+Fq7BG10h5wGcrv+wufnvdZ4Jj/exolhjw9UjSDxUfk/1Trfu0lt5Yvhza8t032QonOrMkbko9mnkmFhCKD8jiEoAYK2YKg==
        </wsse:Nonce>
        <wsse:Created>
          2020-07-08T00:29:32.089Z
        </wsse:Created>
      </wsse:UsernameToken>
    </wsse:Security>
  </soap:Header>
  <soap:Body>
    <tns:submeterDeclaracaoPeriodicaIVARequest>
      <versaoDeclaracao>
        2016
      </versaoDeclaracao>
      <declaracao>
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZHBpdmEgeG1sbnM9Imh0dHA6Ly93d3cuYXQuZ292LnB0L3NjaGVtYXMvZHBpdmEiIHhtbG5zOmNyPSJ1cm46Y3J5c3RhbC1yZXBvcnRzOnNjaGVtYXM6cmVwb3J0LWRldGFpbCIgeG1sbnM6Zm49Imh0dHA6Ly93d3cudzMub3JnLzIwMDUvMDIveHBhdGgtZnVuY3Rpb25zIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHZlcnNpb249IjA1Ij4gPHJvc3RvPiA8YXB1cmFtZW50bz4gPHRlbU9wZXJhY29lc0RlZHV0aXZlaXM+TjwvdGVtT3BlcmFjb2VzRGVkdXRpdmVpcz4gPC9hcHVyYW1lbnRvPiA8ZGVzZW52b2x2aW1lbnRvLz4gPGluaWNpbz4gPGFub0RlY2xhcmFjYW8+MjAyMDwvYW5vRGVjbGFyYWNhbz4gPGFwcmVzZW50b3VEZWNsUmVjYXBpdHVsYXRpdmE+ZmFsc2U8L2FwcmVzZW50b3VEZWNsUmVjYXBpdHVsYXRpdmE+IDxhdGl2aWRhZGVzSW1vYmlsaWFyaWFzPmZhbHNlPC9hdGl2aWRhZGVzSW1vYmlsaWFyaWFzPiA8bG9jYWxpemFjYW9TZWRlPjE8L2xvY2FsaXphY2FvU2VkZT4gPG5pZj4wMDAwMDAwMDA8L25pZj4gPG5pZkNDPjExMTExMTExMTwvbmlmQ0M+IDxwZXJpb2RvRGVjbGFyYWNhbz4wNlQ8L3BlcmlvZG9EZWNsYXJhY2FvPiA8cHJhem8+MTwvcHJhem8+IDxzZW1PcGVyYWNvZXM+dHJ1ZTwvc2VtT3BlcmFjb2VzPiA8dGVtQW5leG9SQWNvcmVzPmZhbHNlPC90ZW1BbmV4b1JBY29yZXM+IDx0ZW1BbmV4b1JDb250aW5lbnRlPmZhbHNlPC90ZW1BbmV4b1JDb250aW5lbnRlPiA8dGVtQW5leG9STWFkZWlyYT5mYWxzZTwvdGVtQW5leG9STWFkZWlyYT4gPC9pbmljaW8+IDwvcm9zdG8+PC9kcGl2YT4=
      </declaracao>
    </tns:submeterDeclaracaoPeriodicaIVARequest>
  </soap:Body>
</soap:Envelope>

 

Edited by jmsimoes

Share this post


Link to post
Share on other sites
mganilho

Bom dia,

Realmente não sou especialista em certificados, mas mais alguém acha estranho que o ficheiro "portaldasfinancas.pem" (disponibilizado a 03/07/20 no email da AT) contenha também a Private Key desse certificado?

Dá a sensação que alguém se enganou a converter o ficheiro "portaldasfinancas.p7b" para PEM.  Não estou a ver a necessidade de enviarem a Private Key, ou está a escapar-me algo básico?

Edited by mganilho

Share this post


Link to post
Share on other sites
md mad
7 hours ago, jmsimoes said:

Alguém já passou pelo erro "Actor não é único no Header"?

Estou a usar dois headers wss:Security, já que os meus CCs não têm plenos poderes declarativos. Já vi, revi,e voltei a rever tudo no meu pedido SOAP e não consigo perceber o que está mal. Estou a seguir as instruções e o exemplo do manual à letra. Acontece em Prod e Test.
 


<!-- Resposta da AT -->
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <ns3:submeterDeclaracaoPeriodicaIVAResponse xmlns:ns3="https://servicos.portaldasfinancas.gov.pt/dpivaws/DeclaracaoPeriodicaIVAWebService">
      <codigo>
        51
      </codigo>
      <mensagem>
        Actor não é único no Header.
      </mensagem>
    </ns3:submeterDeclaracaoPeriodicaIVAResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 


<!-- O meu SOAP envelope, depois de passar por um formatter -->

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:at="http://at.pt/wsp/auth" xmlns:tns="https://servicos.portaldasfinancas.gov.pt/dpivaws/DeclaracaoPeriodicaIVAWebService">
  <soap:Header>
    <wsse:Security soap:actor="http://at.pt/actor/SPA" at:Version="2" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
      <wsse:UsernameToken>
        <wsse:Username>
          000000000
        </wsse:Username>
        <wsse:Password Type="wsse:PasswordDigest" Digest="aNXtOXEQBmJMOwkONbTr+Ti9E=">
          a18DrSQvcA==
        </wsse:Password>
        <wsse:Nonce>
          lNfRVg3EY45zRlv2sP+o9G6Hw3TKuQ==
        </wsse:Nonce>
        <wsse:Created>
          2020-07-08T00:29:32.089Z
        </wsse:Created>
      </wsse:UsernameToken>
    </wsse:Security>
    <wsse:Security soap:actor="http://at.pt/actor/TOC" at:Version="2" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
      <wsse:UsernameToken>
        <wsse:Username>
          111111
        </wsse:Username>
        <wsse:Password Type="wsse:PasswordDigest" Digest="jnDmt/Jh5rrTzUKP7gK05nV8U=">
          o5eBjYeMKg==
        </wsse:Password>
        <wsse:Nonce>
ij25tBe3DrqtEA/ZEVfTLrqokSCZt+mDUfIbE20nvr+4bYSWZqVP4ol+Fq7BG10h5wGcrv+wufnvdZ4Jj/exolhjw9UjSDxUfk/1Trfu0lt5Yvhza8t032QonOrMkbko9mnkmFhCKD8jiEoAYK2YKg==
        </wsse:Nonce>
        <wsse:Created>
          2020-07-08T00:29:32.089Z
        </wsse:Created>
      </wsse:UsernameToken>
    </wsse:Security>
  </soap:Header>
  <soap:Body>
    <tns:submeterDeclaracaoPeriodicaIVARequest>
      <versaoDeclaracao>
        2016
      </versaoDeclaracao>
      <declaracao>
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZHBpdmEgeG1sbnM9Imh0dHA6Ly93d3cuYXQuZ292LnB0L3NjaGVtYXMvZHBpdmEiIHhtbG5zOmNyPSJ1cm46Y3J5c3RhbC1yZXBvcnRzOnNjaGVtYXM6cmVwb3J0LWRldGFpbCIgeG1sbnM6Zm49Imh0dHA6Ly93d3cudzMub3JnLzIwMDUvMDIveHBhdGgtZnVuY3Rpb25zIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHZlcnNpb249IjA1Ij4gPHJvc3RvPiA8YXB1cmFtZW50bz4gPHRlbU9wZXJhY29lc0RlZHV0aXZlaXM+TjwvdGVtT3BlcmFjb2VzRGVkdXRpdmVpcz4gPC9hcHVyYW1lbnRvPiA8ZGVzZW52b2x2aW1lbnRvLz4gPGluaWNpbz4gPGFub0RlY2xhcmFjYW8+MjAyMDwvYW5vRGVjbGFyYWNhbz4gPGFwcmVzZW50b3VEZWNsUmVjYXBpdHVsYXRpdmE+ZmFsc2U8L2FwcmVzZW50b3VEZWNsUmVjYXBpdHVsYXRpdmE+IDxhdGl2aWRhZGVzSW1vYmlsaWFyaWFzPmZhbHNlPC9hdGl2aWRhZGVzSW1vYmlsaWFyaWFzPiA8bG9jYWxpemFjYW9TZWRlPjE8L2xvY2FsaXphY2FvU2VkZT4gPG5pZj4wMDAwMDAwMDA8L25pZj4gPG5pZkNDPjExMTExMTExMTwvbmlmQ0M+IDxwZXJpb2RvRGVjbGFyYWNhbz4wNlQ8L3BlcmlvZG9EZWNsYXJhY2FvPiA8cHJhem8+MTwvcHJhem8+IDxzZW1PcGVyYWNvZXM+dHJ1ZTwvc2VtT3BlcmFjb2VzPiA8dGVtQW5leG9SQWNvcmVzPmZhbHNlPC90ZW1BbmV4b1JBY29yZXM+IDx0ZW1BbmV4b1JDb250aW5lbnRlPmZhbHNlPC90ZW1BbmV4b1JDb250aW5lbnRlPiA8dGVtQW5leG9STWFkZWlyYT5mYWxzZTwvdGVtQW5leG9STWFkZWlyYT4gPC9pbmljaW8+IDwvcm9zdG8+PC9kcGl2YT4=
      </declaracao>
    </tns:submeterDeclaracaoPeriodicaIVARequest>
  </soap:Body>
</soap:Envelope>

 

Bom dia. dependendo de o TOC ter ou não plenos poderes, o header é construido de forma diferente. Vê o exemplo aqui:

https://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/IVA_WebService/Documents/Comunicacao_Declaracoes_Periodicas_de_IVA_a_AT.pdf

pagina 16 (pode não ser passada password para cada um dos actors).

Espero que ajude

 

Share this post


Link to post
Share on other sites
m_s_f_@hotmail.com

Bom dia,

Estou a tentar anular uma guia de transporte antes do MovementStartTime (Data Carga), enviando todo o documento mas com o MovementStatus = A.
Recebo os códigos:
-3 = "Já foi inserido um Documento de Transporte com o número fornecido"
-5 = "Estado de Documento Inválido"

Experimentei não enviar o DocumentNumber e apenas recebo o -5.
Alguém já teve este problema?
 

Obrigado 

Solved:
Não estava a enviar o ATDocCodeID!

Edited by m_s_f_@hotmail.com
SOLVED

Share this post


Link to post
Share on other sites
antseq

viva,

Já há muito tempo que não tinha este erro "A ligação subjacente foi fechada: Erro inesperado ao enviar."

É uma nova instalação (única variável nova: Windows 7 SP1), está tudo como antes, mesmos certificados, mesma aplicação, não se mudou nada nos últimos MESES (apesar dos novos certificados que andam por aí).

* tinha ideia que este erro só acontecia em máquinas "antigas" tipo XP ou "novas" sem as últimas actualizações do sistema operativo.

Alguma sugestão?

Share this post


Link to post
Share on other sites
DavidC
41 minutos atrás, antseq disse:

viva,

Já há muito tempo que não tinha este erro "A ligação subjacente foi fechada: Erro inesperado ao enviar."

É uma nova instalação (única variável nova: Windows 7 SP1), está tudo como antes, mesmos certificados, mesma aplicação, não se mudou nada nos últimos MESES (apesar dos novos certificados que andam por aí).

* tinha ideia que este erro só acontecia em máquinas "antigas" tipo XP ou "novas" sem as últimas actualizações do sistema operativo.

Alguma sugestão?

Boas,

normalmente essa mensagem aparece quando a data/hora do PC não está certa.

Share this post


Link to post
Share on other sites
antseq
31 minutos atrás, DavidC disse:

Boas,

normalmente essa mensagem aparece quando a data/hora do PC não está certa.

Obrigado.

Mas fiz o teste na minha máquina (que já funcionava)... de atrasar o relógio 20min e mesmo assim não consigo obter o erro que está a dar no cliente "A ligação subjacente foi fechada: Erro inesperado ao enviar."

Deve haver algum outro motivo para o erro...

Share this post


Link to post
Share on other sites
jmsimoes
4 hours ago, md mad said:

Bom dia. dependendo de o TOC ter ou não plenos poderes, o header é construido de forma diferente. Vê o exemplo aqui:

https://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/IVA_WebService/Documents/Comunicacao_Declaracoes_Periodicas_de_IVA_a_AT.pdf

pagina 16 (pode não ser passada password para cada um dos actors).

Espero que ajude

 

Sim, eu sei. Estou a construi-lo como manda o manual, para o cenário em que não há plenos poderes declarativos. Mas recebo sempre este erro.

Share this post


Link to post
Share on other sites
jorang

Bom dia,

Só para confirmar, como hoje já é dia 9 e a AT informou que iria fazer a correção no dia 8, estamos todos ainda com o mesmo problema relativamente à nova chave pública, certo?

Share this post


Link to post
Share on other sites
Nuno Bagulho Marques
15 minutos atrás, jorang disse:

Bom dia,

Só para confirmar, como hoje já é dia 9 e a AT informou que iria fazer a correção no dia 8, estamos todos ainda com o mesmo problema relativamente à nova chave pública, certo?

Bom dia

Confirmo. Tentei agora e continua a dar cifra de chave pública inválida

Edited by Nuno Bagulho Marques
erro expressão
  • Vote 1

Share this post


Link to post
Share on other sites
laboss

Eu desisti  de esperar... alterei o código e no dia 24 uso a nova chave privada... tenho de começar a actualizar o pessoal..

Share this post


Link to post
Share on other sites
americob

Tudo na mesma!

Já reabri a minha questão no e-balcão a perguntar se ainda vão resolver o problema no dia 8-7 (talvez viajando no tempo).

Alterar o código para usar duas chaves diferente conforme a data, não me parece correto! Ainda para mais para dar a volta a um problema que não é nosso, parece que não passa de aselhice por parte dos serviços da AT.

Além disso, dia 24 é uma sexta-feira e dia 27 é uma segunda-feira, quero ter um fim de semana descansado!

 

  • Vote 1

Share this post


Link to post
Share on other sites
avilacha

Pois lá terá que ser...


publickey := iif( date() < fazdata(23,7,2020), publickey1720, publickey2023 )

 

Share this post


Link to post
Share on other sites
Sérgio Lourenço
15 minutos atrás, avilacha disse:

Pois lá terá que ser...



publickey := iif( date() < fazdata(23,7,2020), publickey1720, publickey2023 )

 

O pior é se chegamos ao dia e nem uma, nem outra!

Share this post


Link to post
Share on other sites
avilacha
if aErro.CODIGO == '8'
   MsgBox("Erro no servidor das Finanças")
endif

o que não será mentira...

Share this post


Link to post
Share on other sites
americob
1 hora atrás, avilacha disse:

Pois lá terá que ser...



publickey := iif( date() < fazdata(23,7,2020), publickey1720, publickey2023 )

 

Se o certificado é válido até 23/7/2020, aí não devia ser <= (menor ou igual)?

Share this post


Link to post
Share on other sites
avilacha
openssl x509 -in ChaveCifraPublicaAT2020.cer -noout -enddate
notAfter=Jul 23 13:51:08 2020 GMT

como vai caducar antes das duas da tarde do dia 23, prefiro não ter que "ver as horas" por isso fica o limite no dia anterior... ;)

E se deixam para resolver no próprio dia....... Ui.

Share this post


Link to post
Share on other sites
americob
1 minuto atrás, avilacha disse:

openssl x509 -in ChaveCifraPublicaAT2020.cer -noout -enddate
notAfter=Jul 23 13:51:08 2020 GMT

como vai caducar antes das duas da tarde do dia 23, prefiro não ter que "ver as horas" por isso fica o limite no dia anterior... ;)

E se deixam para resolver no próprio dia....... Ui.

Pois, foi o que fui agora ver ao Certificado.

Se calhar, só na última hora, minuto e segundo ... ahahah

 

Share this post


Link to post
Share on other sites
americob
6 minutos atrás, avilacha disse:

openssl x509 -in ChaveCifraPublicaAT2020.cer -noout -enddate
notAfter=Jul 23 13:51:08 2020 GMT

como vai caducar antes das duas da tarde do dia 23, prefiro não ter que "ver as horas" por isso fica o limite no dia anterior... ;)

E se deixam para resolver no próprio dia....... Ui.

E, ainda, ter o cuidado com a hora de verão, que não é TMG:

"Válido até ‎quinta-feira, ‎23‎ de ‎julho‎ de ‎2020 14:51:08"

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

×
×
  • Create New...

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.