L’objectiu d’aquest connector ,es el de proporcionar accés als 3 grans serveis de consulta de dades fiscals que actualment ofereix la PICA. Aquests tres serveis són:
a més també es troba integrat el servei AEAT_ATC_TGSS que sintetitza una petita suite de les modalitats de servei dels 3 productes anteriors.
El propòsit del connector és proporcionar una interfície funcional reduïda al connector de la Pica que simplifica l’utilització del servei de consulta de dades fiscals ofert per la generalitat.
El connector PICA-TRIBUTS es troba dins els connectors de serveis funcionals de la Generalitat.
Aquest document va dirigit als següents perfils:
Com ja s’ha comentat aquest connector sintetitza peticions als tres grans serveis oferts per la PICA relatius a la consulta de dades fiscals.
La seva finalitat és l’obtenció de dades tributàries de l’AEAT per consultar, per part dels gestors públics, les dades relatives als contribuents que ofereix l’Agència Estatal de l’Administració Tributària.
Per una descripció detallada del servei i de les seves modalitats es pot consultar el document “Guia d’us del servei AEAT_PICA v1.7.pdf” disponible en l’àrea privada de http://cttiprojectes.gencat.cat/web/otpica en la secció “productes Oferts -> Interoperabilitat -> AEAT”
Modalitats:
Totes les modalitats anteriors són síncrones.
El servei d’obtenció del certificat de deutes amb la Generalitat de Catalunya té com a objectiu poder consultar per part dels gestors públics les dades que ofereix l’Agència Tributària de Catalunya respecte a deutes amb la Generalitat.
Per una descripció detallada del servei i de les seves modalitats es pot consultar el document “Guia d’us del servei de l’ATCv1.4.3.pdf” disponible en l’àrea privada de http://cttiprojectes.gencat.cat/web/otpica en la secció “productes Oferts -> Interoperabilitat -> ATC”
Modalitats:
El servei d’obtenció de dades de la seguretat social de la TGSS té com a objectiu poder consultar, per part dels gestors públics, les dades que ofereix la Tresoreria General de la Seguretat Social.
Per una descripció detallada del servei i de les seves modalitats es pot consultar el document “Guia d’us del servei de TGSS v1.6.pdf” disponible en l’àrea privada de http://cttiprojectes.gencat.cat/web/otpica en la secció “productes Oferts -> Interoperabilitat -> TGSS”
Modalitats:
L’objectiu del Servei de consulta de la situació de deute d’un contribuent respecte de AEAT, ATC i TGSS és l’agrupació dels productes AEAT (Agència Estatal de l’Administració Tributària), ATC(Agència Tributària de Catalunya) i TGSS (Tresoreria General de la Seguretat Social) en una sola consulta per a la obtenció de la situació de deute d’un contribuent a AEAT, ATC i TGSS. En concret, és l’agrupació de les modalitats següents:
-AEAT: Certificat d’obligacions tributàries (AEAT_PICA_C1)
-ATC: Informe de situació de deutes amb la Generalitat de Catalunya (ATC_INF_DEUTES_TMP)
-TGSS: Informe de situació de deutes de la TGSS (TGSS_AL_CORRENT_PAGAMENT)
Per una descripció detallada del servei i de les seves modalitats es pot consultar el document “Guia d’us del servei deutes del contribuent AEAT-ATC-TGSS v1.1.pdf” disponible en l’àrea privada de http://cttiprojectes.gencat.cat/web/otpica en la secció “productes Oferts -> Interoperabilitat -> AEAT_ATC_TGSS”
Modalitats:
Totes les modalitats anteriors són síncrones.
Es pot trobar tota el codi font referent aquests components a les següents url’s:
El connector TRIBUTS és compatible amb les versions 1.5 o superior de Java. Per versions inferiors no és garantit el seu correcte funcionament.
Per tal de que el connector TRIBUTS funcioni correctament sobre l’aplicació que l’utilitzi s’ha de tenir configurat el servei connector genèric de la PICA 1.2.0.
Per configurar el mòdul d’integració PICA-DNI és necessari configurar els següents arxius:
1.- Importar el mòdul PICA-DNI amb el plugin de Canigó 3 de l’eclipse o bé incorporar manualment les seves dependències en el pom.xml de l’aplicació.
En el pom.xml:
<canigo.integration.tributs.pica.version>[1.2.0,1.3.0)</canigo.integration.tributs.pica.version>
...
<!-- Dependencia del mòdul PICA-TRIBUTS -->
<dependency>
<groupId>cat.gencat.ctti</groupId>
<artifactId>canigo.integration.tributs.pica</artifactId>
<version>${canigo.integration.tributs.pica.version}</version>
</dependency>
2.- Crear l’arxiu /config/props/tributs.properties amb el següent contingut:
*.tributs.pica.nifEmisor=[nifEmisor]
*.tributs.pica.nomEmisor=[nomEmisor] #normalment:"CONSORCI AOC"
*.tributs.pica.nomEmisorCAT365=[nomEmisor] #normalment:"CONSORCI AOC"
*.tributs.pica.finalitat=[finalitat]
*.tributs.pica.url=http://preproduccio.pica.intranet.gencat.cat/pica_cataleg/AppJava/services/
*.tributs.pica.nomFuncionari=[nomFuncionari]
*.tributs.pica.nifFuncionari=[nifFuncionari]
*.tributs.pica.emailFuncionari=[emailFuncionari]
Els valors d finalitat, urlPica, nifEmisor i nomEmisor s’han de consultar a la OT PICA
NOTA: El valor per defecte de urlPica es la de l’entorn de Pre-producció.
3.- Configurar l’arxiu /config/props/pica.properties amb el següent contingut:
*.pica.modes.passwordType=PasswordText
*.pica.requirer.signatureFile=classpath:config/cert/signature.properties
*.pica.requirer.petitionerId=[petitionerId]
*.pica.requirer.transmitionId=[transmitionId]
*.pica.requirer.petitionerName=[petitionerName]
*.pica.requirer.password=[password]
*.pica.requirer.user=[password]
*.pica.axisdefinition.location=classpath:axis2client/
*.pica.trustStore.location=classpath:config/cert/certificats.jks
*.pica.trustStore.type=JKS
*.pica.trustStore.password=[trustStore.password]
Els valors entre [] s’han de consultar a la OT PICA
4.- Configurar l’arxiu /spring/app-integration-tributs.xml amb el següent contingut:
<!-- BEAN DE LA PICA -->
<bean id="picaService" class="cat.gencat.ctti.canigo.arch.integration.pica.PicaServiceWrapperImpl" scope="prototype">
<property name="axisDefinition" value="${pica.axisdefinition.location}"/>
<property name="trustStoreSSLKeystore" value="${pica.trustStore.location}" />
<property name="trustStoreSSLKeystoreType" value="${pica.trustStore.type}" />
<property name="trustStoreSSLKeystorePassword" value="${pica.trustStore.password}" />
<property name="requeridor" ref="requeridor"/>
<property name="modalitats">
<map>
</map>
</property>
</bean>
Les propietats trustStoreSSLKeystore, trustStoreSSLKesytoreType i trustStoreSSLKeystorePassword només són necessàries en cas d’accedir a la url de la PICA mitjançant HTTPS.
Recuperar el bean del servei de AEAT des de la classe on es vol utilitzar:
@Autowired
private AeatConnectorImpl aeatConnector;
Fer la crida a la modalitat del servei desitjat, p.e.:
DadesPeticioAEAT peticio = new DadesPeticioAEAT();
peticio.setNom("Cristian");
peticio.setCognom1("Casals");
peticio.setCognom2("Molina");
peticio.setNomComplet("Cristian Casals Molina");
peticio.setTipusDocument("NIF");
peticio.setDocument("39361642V");
C1PICAResponse resposta = aeatConnector.ObligacionsTributaries(peticio);
Per més informació sobre les dades d’entrada i sortida d’aquesta modalitat es pot consultar el document “Guia d’us del servei AEAT_PICA v1.7.pdf”
Recuperar el bean del servei de ATC des de la classe on es vol utilitzar:
@Autowired
private AtcConnectorImpl atcConnector;
En aquest cas d’exemple es consumirà la modalitat de servei ATC_INF_DEUTES_TMP que retorna les dades d’un certificat de deutes amb la Generalitat de Catalunya.
Donat que el servei ATC es consumeix de forma asíncrona la forma correcta per poder consumir-ho es realitza en 3 fases:
NOTA: Les dades de nom, cognom1 i 2, nom complet i el valor del document sobre l’exemple son inventades.
DadesPeticioATC peticio = new DadesPeticioATC();
peticio.setIdioma("Català");
peticio.setNom("Nom");
peticio.setCognom1("Cognom1");
peticio.setCognom2("Cognom2");
peticio.setNomComplet("Nom Cognom1 Cognom2");
peticio.setDocument("12341234D");
peticio.setTipusDocument("NIF");
DataResponse resposta = atcConnector.informeSituacioDeute(peticio); //<-- Petició al servei
EstatAsincron estatResposta = atcConnector.getEstatInformeSituacioDeute(resposta.getResponse()); //<-- Comprovació estat petició
int tempsEstimat = estatResposta.getTempsEstimatResposta();
...
Informacio inf = atcConnector.getDadesInformeSituacioDeute(resposta.getServei()); //<-- Recuperació resposta a la petició
Per més informació sobre les dades d’entrada i sortida d’aquesta modalitat es pot consultar el document “Guia d’us del servei de l’ATCv1.4.3.pdf”
Recuperar el bean del servei de TGSS des de la classe on es vol utilitzar:
@Autowired
private TgssConnectorImpl tgssConnector;
En aquest cas d’exemple es consumirà la modalitat de servei TGSS_AL_CORRENT_PAGAMENT que especifica si una persona o una organització té algun deute amb la seguretat social en el moment de fer la consulta.
NOTA: Les dades de nom, cognom1 i 2, nom complet i el valor del document sobre l’exemple son inventades.
DadesPeticioTGSS peticio = new DadesPeticioTGSS();
peticio.setNom("Nom");
peticio.setCognom1("Cognom1");
peticio.setCognom2("Cognom2");
peticio.setNomComplet(null);
peticio.setTipusDocumentacioInt(Constants.TGSS_NIF);
peticio.setDocument("12345678B");
RespostaAlCorrentDePagament resposta = tgssConnector.alCorrentPagament(peticio);
Per més informació sobre les dades d’entrada i sortida d’aquesta modalitat es pot consultar el document “Guia d’us del servei de TGSS v1.6.pdf”
Recuperar el bean del servei de AEAT_ATC_TGSS des de la classe on es vol utilitzar:
@Autowired
private TgssConnectorImpl tgssConnector;
En aquest cas d’exemple es consumirà la modalitat de servei AEAT_ATC_TGSS_CONSULTA_DEUTES que retorna les dades conjuntes de les modalitats següents:
-AEAT: Certificat d’obligacions tributàries (AEAT_PICA_C1)
-ATC: Informe de situació de deutes amb la Generalitat de Catalunya (ATC_INF_DEUTES_TMP)
-TGSS: Informe de situació de deutes de la TGSS (TGSS_AL_CORRENT_PAGAMENT)
Donat que el servei AEAT_ATC_TGSS es consumeix de forma asíncrona la forma correcta per poder consumir-ho es realitza en 3 fases:
NOTA: Les dades de nom, cognom1 i 2, nom complet i el valor del document sobre l’exemple son inventades.
DadesPeticioAEAT_ATC_TGSS peticio = new DadesPeticioAEAT_ATC_TGSS();
peticio.setIdioma("Català");
peticio.setTipusDocumentacio(Constants.AAT_NIF);
peticio.setDocument("12345678B");
peticio.setNom("Nom");
peticio.setNomComplet("Nom Cognom1 Cognom2");
peticio.setCognom1("Cognom1");
peticio.setCognom2("Cognom2");
resposta = aeatAtcTgssConnector.consultaDeutes(peticio); //<-- Petició al servei
EstatAsincron estatResposta = aeatAtcTgssConnector.getEstatConsultaDeutes(resposta.getResponse()); //<-- Consulta de l'estat de la petició
int tempsEstimat = estatResposta.getTempsEstimatResposta();
...
RespostaConsultaDeutes dadesResposta = aeatAtcTgssConnector.getDadesConsultaDeutes(resposta.getServei()); //<-- recuperació de les dades de la petició
Per més informació sobre les dades d’entrada i sortida d’aquesta modalitat es pot consultar el document “Guia d’us del servei deutes del contribuent AEAT-ATC-TGSS v1.1.pdf”