PauloASantos Posted January 31, 2017 at 07:49 PM Report Share #602244 Posted January 31, 2017 at 07:49 PM Boa tarde, Solicito a ajuda dos mais experientes nesta matéria, por forma a fornecerem alguma orientação de como executar a função descrita no titulo, ou a indicação de alguns tutoriais, após longas pesquisas nada encontrei, nem no site da Administração Tributária, penso que o caminho a seguir não será por Webservices, pois a ideia é obter os documentos e não registar novos documentos, a linguagem de programação que utilizo é PHP. Agradeço toda a ajuda que me possam dar, na certeza porem de que estarei pronto para partilhar com outros, o meu pouco conhecimento em matéria de programação. Link to comment Share on other sites More sharing options...
Guest Posted January 31, 2017 at 08:59 PM Report Share #602245 Posted January 31, 2017 at 08:59 PM Se procurares, vais ver que este assunto já foi aqui discutido. Dizes "obter detalhes". Já consegues obter os totais? Se sim, o conceito é o mesmo, mas o resultado obtido não é um json apenas, mas uma página inteira, onde terás que descobrir e ler o array json. webservice que é bom, népia não há. Link to comment Share on other sites More sharing options...
PauloASantos Posted February 1, 2017 at 11:53 AM Author Report Share #602261 Posted February 1, 2017 at 11:53 AM Ok, Obrigado já foi de uma grande ajuda Link to comment Share on other sites More sharing options...
PauloASantos Posted February 1, 2017 at 06:12 PM Author Report Share #602267 Posted February 1, 2017 at 06:12 PM Boa tarde a todos após a resposta do menbro derrerter e uma pesquisa mais aprofundada no forum lá encontrei alguns topicos que me abriram o caminho para a função que pretendo implementar, no entanto e como devem calcular ainda surge imensas dúvidas, as quais penso disipar com as vossa ajuda, assim implementei o seguinte código que transcrevo de seguida: <?php $url="https://faturas.portaldasfinancas.gov.pt/json/obterDocumentosAdquirente.action?dataInicioFilter=2014-11-01&dataFimFilter=2015-01-12&ambitoAquisicaoFilter=TODOS"; $login_url="https://www.acesso.gov.pt/jsp/loginRedirectForm.jsp?path=painelAdquirente.action"; // Inicia o cURL $ch = curl_init(); // Define a URL original do formulário de login curl_setopt($ch, CURLOPT_URL, $login_url); // Habilita o protocolo POST curl_setopt ($ch, CURLOPT_POST, 1); // Define os parâmetros que serão enviados usuário e senha curl_setopt ($ch, CURLOPT_POSTFIELDS, 'partiD=EFPF&username=xxxxxxxxx&password=xxxxxxxxx'); // Imita o comportamento patrão dos navegadores: manipular cookies curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Define o tipo de transferência curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); // Executa a requisição $acesso = curl_exec ($ch); echo $acesso."<br>"; // Define uma nova URL para ser chamada (após o login) curl_setopt($ch, CURLOPT_URL, $url); // Executa a segunda requisição $faturas = curl_exec ($ch); // Encerra o cURL curl_close ($ch); // descodifica json $jsonDecode = (json_decode($faturas, true)); var_dump ($jsonDecode); ?> como é obvio o utilizador e password sao ficticios, no entanto recebo a seguinte mensagem de erro, que penso estar relacionada com o login Error 500--Internal Server Error From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 10.5.1 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request. porque dará este erro ? qual será o caminho a seguir ? os tópicos que me orientaram foram os seguintes e desde já o meu obrigado a todos eles: https://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=574774 https://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=598219 https://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=591157 Link to comment Share on other sites More sharing options...
carlos sousa 2015 Posted July 20, 2018 at 05:18 PM Report Share #611402 Posted July 20, 2018 at 05:18 PM Viva, Já conseguiste ultrapassar? ou seja autenticas-te e obtens os documentos? Abr Link to comment Share on other sites More sharing options...
ccue2003 Posted March 1, 2019 at 01:55 AM Report Share #613891 Posted March 1, 2019 at 01:55 AM Boa noite Sempre conseguiste fazer a ligação? Uma das coisas que acrescentei no teu código foi: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); Cumprimentos Link to comment Share on other sites More sharing options...
Hélder Viegas Posted March 31, 2019 at 08:41 AM Report Share #614153 Posted March 31, 2019 at 08:41 AM Em 20/07/2018 às 18:18, carlos sousa 2015 disse: Viva, Já conseguiste ultrapassar? ou seja autenticas-te e obtens os documentos? Abr Olá Bom dia. Desculpe a ousadia. Tem conhecimento de alguma aplicação que importe as facturas do efactura com as matérias colectáveis e os IVA's respectivos sem ser o ficheiro csv disponibilizado pela AT? Hélder Viegas Link to comment Share on other sites More sharing options...
Guest Posted March 31, 2019 at 09:59 AM Report Share #614155 Posted March 31, 2019 at 09:59 AM Passe a publicidade .. Primavera, Sage, Eticadata, Microdigital, Filosoft ... a lista é interminável. Quase todas as aplicações de contabilidade fazem isso, mas não há milagre, fazem-no por imitação humana, não há outro meio. Cumprimentos. Link to comment Share on other sites More sharing options...
Hélder Viegas Posted March 31, 2019 at 11:26 AM Report Share #614159 Posted March 31, 2019 at 11:26 AM 1 hora atrás, derrerter disse: Passe a publicidade .. Caro derrerter Tenho aplicação própria. Estou a tentar adquirir aplicação ou código para integrar. Obrigado Link to comment Share on other sites More sharing options...
pc.cesar Posted May 2, 2019 at 05:54 PM Report Share #614465 Posted May 2, 2019 at 05:54 PM já alguem consegui efectuar via PHP ou Foxpro a ligação com a AT para obeter as faturas de compra podem disponibilizar? César Faria Link to comment Share on other sites More sharing options...
Thiago Posted May 8, 2019 at 11:47 AM Report Share #614562 Posted May 8, 2019 at 11:47 AM Boas. Tenho um código funcional em C# que faz o download das faturas. Se houver interesse me avisem. Basicamente precisa fazer um GET e dois POSTS para conseguir logar e fazer o parse do HTML depois. Meu e-mail thiagov@me.com Link to comment Share on other sites More sharing options...
antseq Posted May 8, 2019 at 02:56 PM Report Share #614566 Posted May 8, 2019 at 02:56 PM 3 horas atrás, Thiago disse: Boas. Tenho um código funcional em C# que faz o download das faturas. Se houver interesse me avisem. Basicamente precisa fazer um GET e dois POSTS para conseguir logar e fazer o parse do HTML depois. Meu e-mail thiagov@me.com Viva, consegue fazer o download, sem o limite de 300, qualquer que seja o filtro/sem filtros? cps. Link to comment Share on other sites More sharing options...
Thiago Posted May 9, 2019 at 09:20 AM Report Share #614580 Posted May 9, 2019 at 09:20 AM 18 horas atrás, antseq disse: Viva, consegue fazer o download, sem o limite de 300, qualquer que seja o filtro/sem filtros? cps. até onde percebi, trata-se de uma limitação do próprio código das finanças. sendo assim, tenho contornado isto combinando os filtros (tipo de fatura, nif, número da fatura, etc.). Link to comment Share on other sites More sharing options...
antseq Posted May 9, 2019 at 11:04 AM Report Share #614587 Posted May 9, 2019 at 11:04 AM 1 hora atrás, Thiago disse: até onde percebi, trata-se de uma limitação do próprio código das finanças. sendo assim, tenho contornado isto combinando os filtros (tipo de fatura, nif, número da fatura, etc.). obrigado. também tinha essa ideia como também tentado "forçar" outros parâmetros e há sempre um limite nos 300. tenho um caso/cliente que tem +300 documentos dia, e no mesmo dia o filtro por tipo de documento pouco ou nada ajuda (são 99% do mesmo tipo). o filtro por NIF não sei como pode ajudar-me a passar os 300, se não sei que NIFs poderão estar para além dos 300?, nem consigo fazer filtros por um "range" (desde/até) de NIFs? Link to comment Share on other sites More sharing options...
Thiago Posted July 9, 2019 at 12:13 PM Report Share #615327 Posted July 9, 2019 at 12:13 PM Boas malta. O código está facultado no github (opensource): https://github.com/biancataschner/efatura Peço apenas o favor da dar um follow, star, e se for o caso fork ou pull requests para contribuir com o desenvolvimento, melhorias, etc. Bom estudo a todos. Em 09/05/2019 às 12:04, antseq disse: obrigado. também tinha essa ideia como também tentado "forçar" outros parâmetros e há sempre um limite nos 300. tenho um caso/cliente que tem +300 documentos dia, e no mesmo dia o filtro por tipo de documento pouco ou nada ajuda (são 99% do mesmo tipo). o filtro por NIF não sei como pode ajudar-me a passar os 300, se não sei que NIFs poderão estar para além dos 300?, nem consigo fazer filtros por um "range" (desde/até) de NIFs? Exatamente, eu abri um ticket junto às finanças sobre o assunto, tão logo tenha um retorno aviso a todos. Link to comment Share on other sites More sharing options...
andrealmeida6 Posted September 26, 2019 at 10:31 PM Report Share #616244 Posted September 26, 2019 at 10:31 PM Será que é possivel fazer o post Json depois do user fazer o login na página. Na verdade a minha ideia é: Deixar o User fazer o login na pagina e só depois correr a aplicação para retirar os dados (ou seja só neste passo chamar o post para fazer o download das faturas) não pretendo fazer o login pela via código. Já alguem fez algo do género? estou a tentar chamar o HttpClient mas ele nao consegue fazer o handler à pagina onde o user já se logou. obrigado Link to comment Share on other sites More sharing options...
AlfaPaulo Posted November 29, 2022 at 02:45 PM Report Share #628419 Posted November 29, 2022 at 02:45 PM On 7/9/2019 at 1:13 PM, Thiago said: Boas malta. O código está facultado no github (opensource): https://github.com/biancataschner/efatura Peço apenas o favor da dar um follow, star, e se for o caso fork ou pull requests para contribuir com o desenvolvimento, melhorias, etc. Bom estudo a todos. Exatamente, eu abri um ticket junto às finanças sobre o assunto, tão logo tenha um retorno aviso a todos. Boa tarde Thiago, Obtiveste alguma resposta em relação aos 300? Obrigado Link to comment Share on other sites More sharing options...
iznougudpt Posted November 29, 2022 at 03:54 PM Report Share #628420 Posted November 29, 2022 at 03:54 PM Em 29/11/2022 às 14:45, AlfaPaulo disse: Boa tarde Thiago, Obtiveste alguma resposta em relação aos 300? Obrigado Não utilizo este código mas o que implementei foi quando a resposta traz 300 documentos peço os seguintes, e vou fazendo isto até retornarem menos de 300 registos Link to comment Share on other sites More sharing options...
AlfaPaulo Posted November 29, 2022 at 03:56 PM Report Share #628421 Posted November 29, 2022 at 03:56 PM On 11/29/2022 at 3:54 PM, iznougudpt said: Não utilizo este código mas o que implementei foi quando a resposta traz 300 documentos peço os seguintes, e vou fazendo isto até retornarem menos de 300 registos Nas facturas de compras? Link to comment Share on other sites More sharing options...
iznougudpt Posted November 29, 2022 at 04:02 PM Report Share #628422 Posted November 29, 2022 at 04:02 PM Em 29/11/2022 às 15:56, AlfaPaulo disse: Nas facturas de compras? Devia estar a sonhar, fui confirmar agora e realmente só faço 1 pedido para o período em causa. Devo ter pensado em implementar recursivamente mas por algum motivo não o fiz. Onde estou agora não tenho acesso ao portal das finanças para confirmar se existe mais algum filtro que se possa usar para essa situação. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now