Skip to the content.

Integració missatgeria versió 4.0

  1. Introducció
    1. Integració PCI
    2. Cicle de vida de les notificacions
    3. Cicle de vida de les comunicacions
  2. Missatgeria
    1. Missatgeria específica eNotum versió 4.0
  3. Operacions
    1. Operació ProcessarTramesa
    2. Operació Resum
    3. Operació Evidencia
    4. Operació Practicar
    5. Operació RecuperarReport
    6. Operació Consulta
    7. Operació Cerca
    8. Tipus comuns
  4. Reports de canvis d’estat
  5. Codis d’error d’eNotum
  6. Notes per la migració de missatgeria de versions anteriors
    1. Correspondencia d’estats

1. Introducció

A continuació és descriu el funcionament i les diferents modalitats de consum de la versió de missatgeria 4.0 d’eNotum.

1.1. Integració PCI

Tal i com es reflecteix a la següent figura, el Backend d’eNotum s’integra dins de l’arquitectura de la Plataforma de Col·laboració Interadministrativa (en endavant PCI) a mode d’un nou servei accessible a través de la MTI.

Per tant els integradors que vulguin accedir a l’eNotum ho hauran de fer a través de la missatgeria de la PCI utilitzant l’element <DatosEspecificos> d’aquesta, per a més informació podeu consultar el document d’integració de la PCI aqui

eNotum_integracio_pci

1.2. Cicle de vida de les notificacions

Per tal de comprendre com utilitzar les operacions que estan publicades per a la integració amb eNotum és recomanable entendre el cicle de vida de les notificacions. Això ens permetrà saber en quins estats pot estar la notificació i l’efecte que tindrà l’execució de les operacions sobre l’estat d’aquesta.

1.2.1. Diagrama de cicle de vida

En el següent diagrama d’estats es mostra els diferents estats possibles de la notificació i les transicions que es poden donar.

Cicle de vida de les notificacions

1.2.2. Descripció dels estats de les notificacions

1.2.2.1. Pendent de processar

L’estat Pendent de processar és l’estat inicial de la notificació. La notificació està en aquest estat just en el moment en que l’integrador ha llançat la operació ProcessarTramesa i el missatge de resposta de l’operació ha indicat un codi de notificació, o sigui, que no hi ha hagut cap error. En el cas que la petició de processar tramesa hagi produït algun error la notificació no es crea i, per tant, no està en aquest estat.

Un cop en aquest estat el motor de eNotum s’encarrega de pujar els documents a DESA’L i de registrar la notificació. Si en el missatge de ProcessarTramesa s’indiquen els UUID dels documents de DESA’L no es realitzarà la pujada de documents. Si s’indica un número de registre i una data de registre no es realizarà l’assentament ja que s’entèn que l’integrador ja ha fet el registre de sortida prèviament a enviar el missatge de ProcessarTramesa.

Si aquestes operacions es realitzen correctament es passa a l’estat Registrada. Si alguna d’aquestes operacions falla el motor de eNotum programa un nou intent de realitzar-les al cap d’un cert temps. L’execució pot reintentar-se un nombre determinat de cops. Quan s’exhaureixen els reintents la notificació passa a l’estat Error.

1.2.2.2. Registrada

La notificació està en aquest estat quan els documents ja estan carregats i la notificació ja està registrada.

Quan estem en aquest estat el motor d’eNotum dipositarà la notificació i crearà l’evidència de dipòsit. Si aquest procés s’executa sense problemes es passarà a l’estat Dipositada. Com en l’estat anterior, si falla el procés es reintentarà un nombre definit de cops i, si finalment cap acaba correctament, la notificació passa a l’estat Error.

1.2.2.3. Dipositada

La notificació passa a aquest estat quan s’ha efectuat el dipòsit de la notificació. Només s’arriba a aquest estat a partir de l’estat Registrada.

En aquest estat s’avisa als destinataris de la notificació que han rebut una notificació i que poden accedir a l’aplicació per tal de poder consultar les seves notificacions. Aquesta informació s’envia per correu electrònic i/o via un SMS al telèfon del destinatari. Ambdós camps s’agafaran dels nodes /BustiesCorreu/BustiaCorreu i /Telefons/Telefon respectivament del node <PersonaFisica> o <PersonaJuridica> que ve informat dins el node /Notificacio/Destinatari de la <Tramesa>. En aquest estat també s’enviaran els correus electrònics i missatges de text a les persones d’avís associades a cada destinatari. Les persones d’avís es diferencien dels destinataris de la notificació en el fet que no poden accedir a la notificació i només s’assabenten a través d’aquest avís de que el destinatari al que estan associades ha rebut una notificació.

L’integrador pot permetre que els empleats encarregats de crear/gestionar les notificacions puguin consultar l’estat en que es troben les notificacions i diversa informació addicional amb les operacions PeticioCerca i PeticioConsulta.

Si el ciutadà no practica la notificació aquesta es manté en aquest estat durant el temps de vigència de la notificació indicat al camp <DiesExpiracio>. Al expirar aquest període el sistema rebutja automàticament la notificació creant una evidència de rebuig i la notificació passa a l’estat Expirada.

Quan la notificació està en aquest estat el ciutadà pot decidir acceptar o rebutjar la notificació. Utilitzant l’operació Practicar notificació l’estat de la notificació passa a ser Acceptada o Rebutjada en funció del que s’hagi especificat en l’element de l’operació de practicar.

1.2.2.5. Acceptada / Rebutjada / Expirada

Un cop la notificació està en qualsevol d’aquests estats - que es consideren tots estats finals ja que un cop la notificaciño assoleix un d’aquests estats el mateix ja no es modificarà - el ciutadà pot consultar les dades de la notificació. L’integrador pot recuperar aquestes dades amb la operació PeticióConsulta. Aquesta operació només pot ser consultada amb el rol Ciutada quan la notificació està en els estats Acceptada, Rebutjada o Expirada.

Un cop es pot fer la consulta per ciutada perquè la notificació es troba en un d’aquests estats, la informació retornada serà la mateixa, és a dir, la informació sobre la notificació retornada no serà més o menys restrictiva en funció de l’estat. Remarquem aquest fet ja que en versions anteriors d’eNotum les dades recuperades per la consulta en cas de que l’estat de la notificació fos Acceptada eren més que per qualsevol dels altres tres estats de Rebutjada.

1.2.2.9. Error

Arriben a aquest estat les notificacions que han estat involucrades en l’execució d’algun procés del sistema que ha produït repetidament errors.

En aquest estat les notificacions no poden ser acceptades ni rebutjades ni pel ciutadà ni pel sistema.

Per l’operació PeticioCerca de ciutadà no es mostren les notificacions en aquest estat. En canvi per aquesta mateixa operació amb rol EMPLEAT sí es mostren aquestes notificacions per tal que l’empleat sigui conscient de que la notificació està en error.

Quan una notificació està en aquest estat l’administrador del sistema pot rellançar manualment el procés on s’ha produït l’error.

1.2.2.10. Anul·lada

Un cop en aquest estat la notificació no pot ser canviada d’estat a un estat anterior.

La notificació arriba a aquest estat quan l’ens que ha generat la notificació demana que aquesta s’anul·li. Hi ha diversos motius que poden motivar l’anul·lació d’una notificació: que aquesta contingui dades errònies, que l’expedient que la motiva ha estat declarat nul, etc.

L’anul·lació d’una notificació es pot realitzar per part d’un usuari amb rol Empleat a través de de la petició PeticioAnullacio i també a través de l’aplicació eNOTUM del portal EACAT. Al portal de suport podeu trobar la guia sobre com anul·lar una notificació des de les pantalles d’EACAT.

1.3. Cicle de vida de les comunicacions

En el cas de les comunicacions el cicle de vida és similar al de les notificacions excepte en el fet de que no es necessita validesa legal de que el destinatari ha practicat la notificació, i que a més a més les comunicacions no tenen un temps determinat de vigència i per tant no expiren, així doncs el cicle de vida es simplifica i queda de la següent manera:

Cicle de vida de les comunicacions

1.3.1. Descripció dels estats de les comunicacions

Com es pot observar en el diagrama anterior hi ha poques diferències en els estats de les comunicacions respecte els de les notificacions. Aquestes comparteixen els estats inicials fins que aquesta es diposita. Un cop en aquest estat, la diferencia radica en l’absència de l’estat Rebutjada i en la manera de fer la transició cap a l’estat Acceptada des de l’estat Dipositada. També es pot observar que no hi ha l’estat d’expiració al final de la vida de la comunicació donat que no tenen data de caducitat.

2. Missatgeria

Com es comenta en el punt 1 d’aquest document eNotum funciona com a servei dins de la PCI, serà per tant necessari treballar amb la missatgeria de la PCI, encapsulant la missatgeria específica de eNotum dins d’aquesta.

Específicament per a fer ús del servei d’eNotum dins de la missatgeria de la PCI és necessari informar els següents elements del missatge XML:

Pel que fa a la resta del missatge PCI, cal que aquest compleixi amb els requisits definits al document d’integració de la PCI aqui

Missatgeria específica eNotum versió 4.0

A continuació es detallaran els elements comuns a totes les modalitats de consum:

Petició

Totes les peticions de les modalitats de consum WS que ofereix eNotum extenen el tipus PeticioType.

Aquí podeu veure la definició completa del esquema Peticio.xsd

<xs:complexType name="PeticioType" abstract="true">
	<xs:sequence>
		<xs:element name="BackOffice" type="xs:string" minOccurs="0"/>
		<xs:element name="Usuari" type="UsuariType"/>
	</xs:sequence>
</xs:complexType>

Per tant com és pot veure totes les peticions, a banda dels elements específics de cada modalitat de consum, tenen els següents elements:

Usuari

Dins el tipus UsuariType es defineixen els diferents tipus de Rol que pot assumir un usuari: Empleat, Ciutada, Representant i FuncionariHabilitat. Per operar amb qualsevol dels rols, excepte el d’Empleat, s’ha d’informar el AccessToken recupeat de l’autenticació amb VALId.

<xs:complexType name="UsuariType">
	<xs:choice>
		<xs:element name="Empleat">
			<xs:complexType>
				<xs:sequence>
					<xs:element name="CodiOrganisme" type="xs:string"/>
					<xs:element name="CodiDepartament" type="xs:string"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
		<xs:element name="Ciutada">
			<xs:complexType>
				<xs:choice minOccurs="0">
					<xs:element name="VALIdAccessToken" type="xs:string"/>
					<xs:sequence>
						<xs:element name="IdParaulaPas" type="xs:string"/>
						<xs:element name="ParaulaPas" type="xs:string"/>
					</xs:sequence>
				</xs:choice>
			</xs:complexType>
		</xs:element>
		<xs:element name="Representant">
			<xs:complexType>
				<xs:sequence>
					<xs:element name="VALIdAccessToken" type="xs:string"/>
					<xs:element name="Interessat">
						<xs:complexType>
							<xs:choice>
								<xs:element name="PersonaFisica" type="DocumentPersonaFisicaType"/>
								<xs:element name="PersonaJuridica" type="DocumentPersonaJuridicaType"/>
							</xs:choice>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
		<xs:element name="FuncionariHabilitat">
			<xs:complexType>
				<xs:sequence>
					<xs:element name="VALIdAccessToken" type="xs:string"/>
					<xs:element name="Interessat">
						<xs:complexType>
							<xs:choice>
								<xs:element name="PersonaFisica" type="DocumentPersonaFisicaType"/>
								<xs:element name="PersonaJuridica" type="DocumentPersonaJuridicaType"/>
							</xs:choice>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
	</xs:choice>
</xs:complexType>

Resposta

Totes les respostes a les modalitats de consum WS que ofereix eNotum estenen l’esquema de resposta RespostaType.

Aquí podeu veure la definició completa del esquema Resposta.xsd

<xs:include schemaLocation="Errors.xsd"/>

<xs:complexType name="RespostaType" abstract="true">
	<xs:sequence>
		<xs:element name="Errors" type="ErrorsType" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

El tipus RespostaType incorpora tan sols l’element Errors de forma opcional. De manera que totes les operacions invocades poden retornar un error amb el mateix format.

Errors

L’element <Errors> serà una seqüencia amb els possibles errors de la petició retornats:

	<xs:complexType name="ErrorsType">
		<xs:sequence>
			<xs:element name="Error" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="CodiError" type="Number"/>
						<xs:element name="MissatgeError" type="xs:string"/>
						<xs:element name="DadesNotificacio" type="DadesNotificacioErrorType" minOccurs="0"/>
						<xs:element name="FaseError" type="xs:string" minOccurs="0"/>
						<xs:element name="TipusError" type="xs:string" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

A la practica, les respostes de les modalitats de consum amb elements <Error>, només tindran informat els elements obligatoris: <CodiError> i <MissatgeError>. Els tres elements opcionals restants mai vindran informat en aquests casos. Podeu veure els possibles codis i missatges d’error en aquest apartat.

Els tres elements opcionals vindran informats en els missatges d’error que envia eNOTUM als backoffices integrats informant dels errors en les fases d’execució de la notifiació. Veure la secció Callacks més endavant.

3. Operacions

A continuació és detallaran els elements específics per a les diferents operacions de les modalitats de consum que ofereix el WS d’eNotum.

Operació ProcessarTramesa

Aquesta operació permet la creació de notificacions dins del sistema.

Petició

Aquí podeu veure la definició completa del esquema PeticioProcessarTramesa.xsd

La definició d’aquesta petició estén la peticioType afegint l’element <Tramesa> que es descriu a continuació.

Tramesa

<xs:element name="Tramesa">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="DadesAvisos" minOccurs="0"/>
			<xs:element name="DadesOfici"/>
			<xs:element name="Documents" type="DocumentsType"/>
			<xs:element name="Notificacio" type="NotificacioAmbDestinatarisType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

La tramesa és l’estructura que permet la creació de notificacions i/o comunicacions i permet agrupar-les. Està formada per els elements que es descriuen a continuació:

DadesAvisos

<xs:element name="DadesAvisos" minOccurs="0">
	<xs:complexType>
		<xs:all>
			<xs:element name="DiesAvisos" type="DiesAvisosType" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
</xs:element>

L’element <DadesAvisos> és opcional ja que eNotum disposa d’un comportament per defecte per als valors especificats en aquest element, en cas de que vinguin informats al missatge, aquests tindran prioritat per a ser utilitzats en comptes dels que hi hagi establers per defecte. <DadesAvisos> està format pels següents elements:

DiesAvisos

<xs:element name="DiesAvisos" minOccurs="0"/>
	<xs:complexType>
		<xs:sequence>
			<xs:element name="DiaAvis" type="xs:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</element>

DadesOfici

La definició d’aquest element la podeu trobar a l’apartat de dades comuns DadesOficiType.

Documents

La definició d’aquest element la podeu trobar a l’apartat de dades comuns DocumentsType.

NotificacioAmbDestinataris

El tipus NotificacioAmbDestinataris estén el tipus NotificacioType que podeu trobar a l’apartat de dades comuns NotificacioType.

<xs:complexType name="NotificacioAmbDestinatarisType">
	<xs:complexContent>
		<xs:extension base="NotificacioType">
			<xs:sequence>
				<xs:element name="Destinataris" type="DestinatarisType"/>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>

Destinataris

<xs:complexType name="DestinatarisType">
	<xs:sequence>
		<xs:element name="Destinatari" maxOccurs="100">
			<xs:complexType>
				<xs:sequence>
					<xs:choice>
						<xs:element name="PersonaFisica" type="PersonaFisicaType"/>
						<xs:element name="PersonaJuridica" type="PersonaJuridicaType"/>
					</xs:choice>
					<xs:element name="Titular" type="xs:boolean" minOccurs="0"/>
					<xs:element name="Idioma" type="Idioma" minOccurs="0"/>
					<xs:element name="Obligat" type="xs:boolean" minOccurs="0"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
	</xs:sequence>
</xs:complexType>

Aquest element defineix els destinataris de les notificacions de la tramesa.

Resposta

Aquí podeu veure la definició completa del esquema RespostaProcessarTramesa.xsd

Aquest esquema és la resposta a la creació de les notificacions que ens retorna els identificadors per a les notificacions creades, estén el tipus RespostaType i que permet triar entre retornar una llista d’errors produïts durant l’execució de la petició o el següent element amb la resposta de l’operació:

<xs:element name="NotificacionsCreades">
		<xs:complexType>
				<xs:sequence>
						<xs:element name="IdNotificacio" type="Number" maxOccurs="unbounded"/>
				</xs:sequence>
		</xs:complexType>
</xs:element>

Operació Resum

Aquesta modalitat de consum permet obtenir un resum de les notificacions pendents (actives i no practicades per un usuari) agrupades per l’ens emissor de la notificació.

Peticio

Aquí podeu veure la definició completa del esquema PeticioResum.xsd

La definició d’aquesta petició estén la peticioType afegint la sequéncia amb els elements que es descriuen a continuació:

<xs:sequence>
	<xs:element name="TipusAcces" type="TipusAccesType" minOccurs="0"/>
	<xs:element name="TipusObjecte" type="TipusObjecteType" minOccurs="0"/>
	<xs:element name="DataPublicacio" type="PeriodeDataTemps" minOccurs="0"/>
</xs:sequence>

Resposta

Aquí podeu veure la definició completa del esquema RespostaResum.xsd

<xs:sequence>
	<xs:element name="NotificacionsEntitat" minOccurs="0" maxOccurs="unbounded"/>
	<xs:element name="TotalNotificacions" type="Number"/>
	<xs:element name="TotalNotificacionsPendents" type="Number"/>
</xs:sequence>

NotificacionsEntitat

<xs:element name="NotificacionsEntitat" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="NomOrganisme" type="xs:string"/>
			<xs:element name="CodiOrganisme" type="xs:string"/>
			<xs:element name="NomDepartament" type="xs:string"/>
			<xs:element name="CodiDepartament" type="xs:string"/>
			<xs:element name="Notificacions" type="Number"/>
			<xs:element name="NotificacionsPendents" type="Number"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

Operació Evidencia

Aquesta petició permet recuperar les evidencies de diposit i pràctica en format XML així com el justificant en format PDF d’una notificació.

Petició

Aquí podeu veure la definició completa del esquema PeticioEvidencia.xsd

La definició d’aquesta petició estén la peticioType afegint la sequéncia amb els elements que es descriuen a continuació:

<xs:sequence>
	<xs:element name="IdNotificacio" type="Number"/>
	<xs:element name="TipusEvidencia" type="TipusEvidenciaType"/>
	<xs:element name="IdiomaEvidenciaPDF" type="Idioma" minOccurs="0" />
</xs:sequence>

Resposta

Aquí podeu veure la definició completa del esquema RespostaEvidencia.xsd

<xs:sequence>
	<xs:element name="IdNotificacio" type="xs:integer" />
	<xs:element name="TipusEvidencia" type="TipusEvidenciaType" />
	<xs:element name="Diposit" type="xs:string" minOccurs="0">
		<xs:annotation>
			<xs:documentation>Evidència del dipòsit de la notificació.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="AcceptacioRebuig" type="xs:string" minOccurs="0">
		<xs:annotation>
			<xs:documentation>Evidència de l'acceptació o rebuig de la notificació.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Anullacio" type="xs:string" minOccurs="0">
		<xs:annotation>
			<xs:documentation>Evidència de l'anul·lació de la notificació.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="EvidenciaPDF" minOccurs="0">
		<xs:annotation>
			<xs:documentation>URL de descàrrega de l'evidència de la notificacio</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="UUID" type="uuid"/>
				<xs:element name="URLDescarrega" type="xs:anyURI"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:sequence>

Operació Practicar

Aquesta petició permet practicar una notificació per part del destinatari de la mateixa, o del seu representant o d’un funcionari habilitat mitjançant autenticació amb valid. En cas de peticions amb rol Empleat, permet indicar dades sobre l’acceptació en cas de notificacions acceptades en format paper.

Petició

Aquí podeu veure la definició completa del esquema PeticioPracticar.xsd

La definició d’aquesta petició estén la peticioType afegint la sequéncia amb els elements que es descriuen a continuació:

<xs:sequence>
	<xs:element name="IdNotificacio" type="Number"/>
	<xs:element name="Decisio" type="DecisioPracticarType"/>
	<xs:element name="DadesPracticarCanalPaper" type="DadesPracticarCanalPaperType" minOccurs="0"/>
	<xs:element name="CanviCanal" type="DadesCanviCanalType" minOccurs="0"/>
</xs:sequence>

DadesPracticarCanalPaper

<xs:complexType name="DadesPracticarCanalPaperType">
	<xs:sequence>
		<xs:element name="Funcionari" type="NIF"/>
		<xs:element name="DataPracticada" type="xs:dateTime"/>
		<xs:element name="Referencia" type="String100Max"/>
	</xs:sequence>
</xs:complexType>

DadesCanviCanalType

<xs:complexType name="DadesCanviCanalType">
	<xs:sequence>
		<xs:element name="Canal" type="CanalType"/>
		<xs:element name="BustiaCorreu" type="String255Max" minOccurs="0"/>
		<xs:element name="Telefon" type="String50Max" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

En cas de practicar una notificació complementaria per part del ciutadà, permet indicar a l’usuari de forma opcional si desitja o no rebre les futures notificacions en paper.

Resposta

Aquí podeu veure la definició completa del esquema RespostaPracticar.xsd

Resposta a les peticions explícites de l’usuari vinculades amb la pràctica de les notificacions.

<xs:sequence>
	<xs:element name="IdNotificacio" type="Number"/>
	<xs:element name="Decisio" type="DecisioPracticarType"/>
</xs:sequence>

Operació RecuperarReport

Aquesta petició permet recuperar el report amb el resum de dades d’una notificació concreta, o el report de totes les notificacions que han canviat d’estat per un departament en una data concreta.

Petició

Aquí podeu veure la definició completa del esquema PeticioRecuperarReport.xsd

La definició d’aquesta petició estén la peticioType afegint la sequéncia amb els elements que es descriuen a continuació:

<xs:choice>
	<xs:element name="IdNotificacio" type="Number">
		<xs:annotation>
			<xs:documentation>Identificador de la notificació a consultar.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DataReport" type="xs:date">
		<xs:annotation>
			<xs:documentation>Data del dia del qual es vol obtenir el report.</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:choice>

Resposta

Aquí podeu veure la definició completa del esquema RespostaRecuperarReport.xsd

Retorna el report amb el resum de dades d’una notificació concreta, o el report de totes les notificacions que han canviat d’estat per un departament en una data concreta.

<xs:sequence minOccurs="0">
	<xs:element ref="Report"/>
</xs:sequence>

La definició d’aquest element la podeu trobar a l’apartat de dades comuns Report.

Operació Consulta

Aquesta petició permet consultar les dades d’una notificació concreta. Segons les necessitats per les que consulta l’integrador es pot indicar quina informació es vol que inclogui la resposta.

Petició

Aquí podeu veure la definició completa del esquema PeticioConsulta.xsd

La definició d’aquesta petició estén la peticioType afegint la sequéncia amb els elements que es descriuen a continuació:

<xs:sequence>
	<xs:element name="IdNotificacio" type="Number"/>
	<xs:element name="IncloureDadesOfici" type="xs:boolean" default="false" minOccurs="0"/>
	<xs:element name="IncloureDocuments" type="xs:boolean" default="false" minOccurs="0"/>
	<xs:element name="IncloureDestinataris" type="xs:boolean" default="false" minOccurs="0"/>
	<xs:element name="IncloureDadesSignador" type="xs:boolean" default="false" minOccurs="0"/>
</xs:sequence>

Resposta

Aquí podeu veure la definició completa del esquema RespostaConsulta.xsd

Aquesta modalitat retorna una resposta detallada de totes les dades vinculades amb una notificació concreta.

<xs:sequence>
	<xs:element name="IdNotificacio" type="Number"/>
	<xs:element name="Emissor" type="EmissorType"/>
	<xs:element name="DadesNotificacio" type="NotificacioType" minOccurs="0"/>
	<xs:element name="DadesEstat" minOccurs="0"><...>
	<xs:element name="DadesOfici" type="DadesOficiType" minOccurs="0"/>
	<xs:element name="Documents" type="DocumentsType" minOccurs="0"/>
	<xs:element name="Destinataris" minOccurs="0"><...>
	<xs:element name="DadesSignador" type="DadesSignadorType" minOccurs="0"/>
</xs:sequence>

DadesEstat

<xs:element name="DadesEstat" minOccurs="0">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="Estat" type="EstatType"/>
			<xs:element name="DataPublicacio" type="xs:dateTime" nillable="true"/>
			<xs:element name="DataAcceptacioRebuig" type="xs:dateTime" nillable="true"/>
			<xs:element name="DataAnullacio" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="MotiuAnullacio" type="String500Max" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

Destinataris

<xs:element name="Destinataris" minOccurs="0">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="Destinatari" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:choice>
							<xs:element name="PersonaFisica" type="PersonaFisicaType"/>
							<xs:element name="PersonaJuridica" type="PersonaJuridicaType"/>
						</xs:choice>
						<xs:element name="Titular" type="xs:boolean" minOccurs="0"/>
						<xs:element name="Idioma" type="Idioma" minOccurs="0"/>
						<xs:element name="HaSignat" type="xs:boolean"/>
						<xs:element name="CanviCanal" type="DadesCanviCanalType" minOccurs="0"/>
						<xs:element name="Obligat" type="xs:boolean" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:element>

Aquest element descriu la seqüència de destinataris d’aquesta notificació.

Operació Cerca

Aquesta petició permet realitzar cerques sobre les notificacions aplicant diferents criteris de cerca.

Petició

Aquí podeu veure la definició completa del esquema PeticioCerca.xsd

A grans trets La definició d’aquesta petició estén la peticioType afegint la sequéncia amb els elements que es descriuen a continuació:

<xs:sequence>
	<xs:element name="DadesCerca">
		<xs:complexType>
			<xs:all>
				<xs:element name="CriterisEntitat" minOccurs="0"/>
				<xs:element name="CriterisDestinatari" minOccurs="0"/>
				<xs:element name="CriterisNotificacio" minOccurs="0"/>
				<xs:element name="CriterisData" minOccurs="0">
				<xs:element name="Paginacio"/>
		</xs:complexType>
	</xs:element>
</xs:sequence>

CriterisEntitat

<xs:element name="CriterisEntitat" minOccurs="0">
	<xs:complexType>
		<xs:all>
			<xs:element name="CodiOrganisme" type="xs:string" minOccurs="0"/>
			<xs:element name="CodiDepartament" type="xs:string" minOccurs="0"/>
			<xs:element name="BackOffice" type="xs:string" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
</xs:element>

Aquest element permet filtrar les notificacions en funció de les següents elements vinculats a les entitats de les mateixes:

CriterisDestinatari

<xs:element name="CriterisDestinatari" minOccurs="0">
	<xs:complexType>
		<xs:sequence>
			<xs:choice minOccurs="0">
				<xs:element name="Persona" type="FiltrePersonaType"/>
				<xs:element name="PersonaFisica" type="FiltrePersonaFisicaType"/>
				<xs:element name="PersonaJuridica" type="FiltrePersonaJuridicaType"/>
			</xs:choice>
			<xs:element name="CanviCanal" type="xs:boolean" minOccurs="0" default="false"/>
			<xs:element name="Obligat" type="xs:boolean" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

FiltrePersonaType

<xs:complexType name="FiltrePersonaType">
	<xs:sequence>
		<xs:element name="BustiesCorreu" type="BustiesCorreuType" minOccurs="0"/>
		<xs:element name="Telefons" type="TelefonsType" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

FiltrePersonaFisicaType

<xs:complexType name="FiltrePersonaFisicaType">
	<xs:complexContent>
		<xs:extension base="FiltrePersonaType">
			<xs:sequence>
				<xs:element name="DocumentIdentificatiu" type="DocumentPersonaFisicaType" minOccurs="0"/>
				<xs:element name="Nom" type="xs:string" minOccurs="0"/>
				<xs:element name="NomSentit" type="String255Max" minOccurs="0"/>
				<xs:element name="PrimerCognom" type="xs:string" minOccurs="0"/>
				<xs:element name="SegonCognom" type="xs:string" minOccurs="0"/>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>

Aquest element extent de FiltrePersonaType per tant permet cercar per els mateixos camps que l’element FiltrePersonaType però addicionalment cerca pels següents camps:

FiltrePersonaJuridicaType

<xs:complexType name="FiltrePersonaJuridicaType">
	<xs:complexContent>
		<xs:extension base="FiltrePersonaType">
			<xs:sequence>
				<xs:element name="DocumentIdentificatiu" type="DocumentPersonaJuridicaType" minOccurs="0"/>
				<xs:element name="RaoSocial" type="xs:string" minOccurs="0"/>
				<xs:element name="PersonaVinculada" type="FiltrePersonaVinculadaType" minOccurs="0"/>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>

Aquest element extent de FiltrePersonaType per tant permet cercar per els mateixos camps que l’element FiltrePersonaType però addicionalment cerca pels següents camps:

CriterisNotificacio

<xs:element name="CriterisNotificacio" minOccurs="0">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="Titol" type="xs:string" minOccurs="0"/>
			<xs:element name="IdNotificacio" type="IntervalValorsEnters" minOccurs="0"/>
			<xs:element name="Referencia" type="IntervalValors" minOccurs="0"/>
			<xs:element name="NumeroRegistre" type="IntervalValors" minOccurs="0"/>
			<xs:element name="Estat" type="EstatCercableType" minOccurs="0"/>
			<xs:element name="TipusAcces" type="TipusAccesType" minOccurs="0"/>
			<xs:element name="Etiquetes" type="EtiquetesType" minOccurs="0"/>
			<xs:element name="TipusObjecte" type="TipusObjecteType" minOccurs="0"/>
			<xs:element name="Canal" type="CanalType" minOccurs="0"/>
			<xs:element name="Consultada" type="xs:boolean" minOccurs="0"/>
			<xs:element name="ProcedimentSIA" type="String50Max" minOccurs="0"/>
			<xs:element name="ProcedimentQuadreClassificacio" type="String50Max" minOccurs="0"/>
			<xs:element name="Expedient" type="xs:string" minOccurs="0"/>
			<xs:element name="Tramit" type="xs:string" minOccurs="0"/>
			<xs:element name="NumeroCas" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

Aquest element permet filtrar les notificacions en funció d’alguns dels valors informats a les mateixes:

CriterisData

<xs:element name="CriterisData" minOccurs="0">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="DataCreacio" type="PeriodeDataTemps" minOccurs="0"/>
			<xs:element name="DataRegistre" type="PeriodeDataTemps" minOccurs="0"/>
			<xs:element name="DataPublicacio" type="PeriodeDataTemps" minOccurs="0"/>
			<xs:element name="DataAcceptacioRebuig" type="PeriodeDataTemps" minOccurs="0"/>
			<xs:element name="DataExpiracio" type="PeriodeData" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

Aquest element permet filtrar per les diferents dates dels estats per els quals passa la notificació.

Tots els elements de cerca per data permeten fer-ho per un interval de temps, indicant una data inferior i una data superior per als diferents criteris tal i com es pot veure pel tipus de l’element:

<xs:complexType name="PeriodeDataTemps">
	<xs:all>
	 <xs:element name="DataInferior" type="xs:dateTime"/>
	 <xs:element name="DataSuperior" type="xs:dateTime"/>
	</xs:all>
</xs:complexType>
<xs:complexType name="PeriodeData">
	<xs:all>
		<xs:element name="DataInferior" type="xs:date"/>
		<xs:element name="DataSuperior" type="xs:date"/>
	</xs:all>
</xs:complexType>

Paginacio

<xs:element name="Paginacio">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="NumeroPagina" type="PositiveNumber"/>
			<xs:element name="ResultatsPerPagina" type="PositiveNumber50Max"/>
			<xs:element name="CampOrdenacio" type="xs:string" minOccurs="0"/>
			<xs:element name="SentitOrdenacio" type="SentitOrdenacioType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

Aquest element permet definir la pàginació de les cerques realitzades.

Resposta

Aquí podeu veure la definició completa del esquema RespostaCerca.xsd

Retorna un seguit de notificacions que acompleixen els criteris de cerca fets en la petició.

<xs:sequence>
	<xs:element name="Resultats" type="ResultatsType" />
	<xs:element name="DadesPaginacio" type="DadesPaginacioType" />
</xs:sequence>

Resultats

<xs:complexType name="ResultatsType">
	<xs:sequence>
		<xs:element name="Notificacio" minOccurs="0" maxOccurs="unbounded">
			<xs:complexType>
				<xs:sequence>
					<xs:element name="IdNotificacio" type="Number"/>
					<xs:element name="Emissor" type="EmissorType"/>
					<xs:element name="Titol" type="String100Max"/>
					<xs:element name="Referencia" type="String255Max"/>
					<xs:element name="TipusObjecte" type="TipusObjecteType"/>
					<xs:element name="DataCreacio" type="xs:dateTime"/>
					<xs:element name="DadesRegistre" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="NumeroRegistre" type="String100Max" nillable="true"/>
								<xs:element name="DataRegistre" type="xs:dateTime" nillable="true"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="DataPublicacio" type="xs:dateTime" nillable="true"/>
					<xs:element name="DataAcceptacioRebuig" type="xs:dateTime" nillable="true"/>
					<xs:element name="Estat" type="EstatType"/>
					<xs:element name="DiesExpiracio" type="PositiveNumber1000Max" minOccurs="0"/>
					<xs:element name="DataLimit" type="xs:dateTime" minOccurs="0"/>
					<xs:element name="TipusAcces" type="TipusAccesType"/>
					<xs:element name="Idioma" type="Idioma"/>
					<xs:element name="Consultada" type="xs:boolean" minOccurs="0"/>
					<xs:element name="Canal" type="CanalType" minOccurs="0"/>
					<xs:element name="ProcedimentSIA" type="String50Max" minOccurs="0"/>
					<xs:element name="ProcedimentQuadreClassificacio" type="String50Max" minOccurs="0"/>
					<xs:element name="Expedient" type="xs:string" minOccurs="0"/>
					<xs:element name="Tramit" type="xs:string" minOccurs="0"/>
					<xs:element name="NumeroCas" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
	</xs:sequence>
</xs:complexType>

DadesPaginacio

<xs:complexType name="DadesPaginacioType">
	<xs:sequence>
		<xs:element name="NumeroPagina" type="PositiveNumber"/>
		<xs:element name="ResultatsPerPagina" type="PositiveNumber50Max"/>
		<xs:element name="TotalResultats" type="Number"/>
		<xs:element name="TotalPagines" type="Number"/>
	</xs:sequence>
</xs:complexType>

Operació Anul·lacio

Aquesta petició permet anul·lar d’una notificació concreta. Hi ha diversos motius que poden motivar l’anul·lació d’una notificació: que aquesta contingui dades errònies, que l’expedient que la motiva ha estat declarat nul, etc.

Petició

Aquí podeu veure la definició completa del esquema PeticioAnullacio.xsd

La definició d’aquesta petició estén la peticioType afegint la sequéncia amb els elements que es descriuen a continuació:

<xs:sequence>
	<xs:element name="IdNotificacio" type="Number"/>
	<xs:element name="Motiu" type="String500Max"/>
</xs:sequence>

Resposta

Aquí podeu veure la definició completa del esquema RespostaAnullacio.xsd

Resposta a les peticions explícites de l’usuari vinculades amb l’anul·lació de les notificacions.

<xs:sequence>
	<xs:element name="IdNotificacio" type="Number"/>
</xs:sequence>

Tipus comuns

Hi ha una serie d’elements comuns entre les diferents operacions. A continuació se’n detalla la definició:

DadesOficiType

Aquest element indica les dades d’ofici vinculades a la notificació:

<xs:complexType name="DadesOficiType">
	<xs:sequence>
		<xs:element name="CosNotificacio" type="String4000Max"/>
		<xs:element name="PeuRecurs" type="String4000Max" minOccurs="0"/>
		<xs:element name="OficinaRegistre" type="xs:string" minOccurs="0"/>
		<xs:element name="UnitatOrganitzativa" type="xs:string" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

DocumentsType

El tipus DocumentsType conté els documents associats a la notificació. Conté obligatòriament un document de resolució i a més pot contenir fins a 4 annexos.

<xs:complexType name="DocumentsType">
	<xs:sequence>
		<xs:element name="Resolucio" type="DocumentType"/>
		<xs:element name="Annex" type="DocumentType" minOccurs="0" maxOccurs="4"/>
	</xs:sequence>
</xs:complexType>

La definició de DocumentType es pot veure a continuació:

<xs:complexType name="DocumentType">
	<xs:sequence>
		<xs:element name="Nom" type="String100Max"/>
		<xs:element name="Hash" type="HashType" minOccurs="0"/>
		<xs:element name="Mida" type="PositiveNumber" minOccurs="0"/>
		<xs:element name="UUID" type="uuid" minOccurs="0"/>
		<xs:choice>
			<xs:element name="Dades" type="xs:base64Binary"/>
			<xs:element name="URLDescarrega" type="xs:anyURI"/>
			<xs:element name="Ruta" type="xs:string"/>
			<xs:element name="UUIDFitxer" type="uuid"/>
			<xs:element name="UUIDDocument" type="uuid"/>
			<xs:element name="IdFicheroPCI" type="xs:string"/>
		</xs:choice>
	</xs:sequence>
</xs:complexType>

En l’operació ProcessarTramesa es permet informar el contingut dels documents mitjançant els elements Dades, URLDescarrega, Ruta, UUIDFitxer, UUIDDocument i IdFicheroPCI. Un cop es processa la tramesa i s’incorporen els documents a DESA’L, l’operació ConsultaNotificacio retorna només el camp UUID amb l’identificador del document que està a DESA’L.

En el full de ruta del servei esperem que tots els ens integrats acabin utilitzant el servei DESA’L per informar els documents de les notificacions. De manera que s’aniran deprecant els altres mètodes progressivament.

HashType

<xs:complexType name="HashType">
	<xs:simpleContent>
		<xs:extension base="xs:base64Binary">
			<xs:attribute name="Algoritme" type="AlgoritmeHashType" use="required"/>
		</xs:extension>
	</xs:simpleContent>
</xs:complexType>

<xs:simpleType name="AlgoritmeHashType">
	<xs:restriction base="xs:string">
		<xs:enumeration value="SHA-1"/>
		<xs:enumeration value="SHA-256"/>
	</xs:restriction>
</xs:simpleType>

NotificacioType

<xs:complexType name="NotificacioType">
	<xs:sequence>
		<xs:element name="Titol" type="String100Max"/>
		<xs:element name="Referencia" type="String255Max"/>
		<xs:element name="IdNotificacioEmissor" type="String255Max" minOccurs="0"/>
		<xs:choice minOccurs="0">
			<xs:element name="DadesRegistre">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="NumeroRegistre" type="String100Max"/>
						<xs:element name="DataRegistre" type="xs:dateTime"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="SenseRegistre" type="EmptyString"/>
		</xs:choice>
		<xs:element name="TipusObjecte" type="TipusObjecteType"/>
		<xs:element name="TipusAcces" type="TipusAccesType"/>
		<xs:element name="DiesExpiracio" type="PositiveNumber180Max" minOccurs="0"/>
		<xs:element name="Etiquetes" type="EtiquetesType" minOccurs="0"/>
		<xs:element name="Idioma" type="Idioma" minOccurs="0"/>
		<xs:element name="Canal" type="CanalType" minOccurs="0"/>
		<xs:element name="ProcedimentSIA" type="String50Max" minOccurs="0"/>
		<xs:element name="ProcedimentQuadreClassificacio" type="String50Max" minOccurs="0"/>
		<xs:element name="Expedient" type="String50Max" minOccurs="0"/>
		<xs:element name="Tramit" type="String50Max" minOccurs="0"/>
		<xs:element name="NumeroCas" type="String50Max" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

InteressatType

<xs:complexType name="InteressatType">
	<xs:choice>
		<xs:element name="PersonaFisica" type="PersonaFisicaSimpleType"/>
		<xs:element name="PersonaJuridica" type="PersonaJuridicaSimpleType"/>
	</xs:choice>
</xs:complexType>

PersonaFisicaType

<xs:complexType name="PersonaType" abstract="true">
	<xs:sequence>
		<xs:element name="BustiesCorreu" type="BustiesCorreuType" minOccurs="0"/>
		<xs:element name="Telefons" type="TelefonsType" minOccurs="0"/>
		<xs:element name="PersonesAvis" type="PersonesAvis" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

<xs:complexType name="PersonaFisicaType">
	<xs:complexContent>
		<xs:extension base="PersonaType">
			<xs:sequence>
				<xs:element name="DocumentIdentificatiu" type="DocumentPersonaFisicaType"/>
				<xs:element name="Nom" type="NoEmptyString"/>
				<xs:element name="PrimerCognom" type="NoEmptyString"/>
				<xs:element name="SegonCognom" type="xs:string" minOccurs="0"/>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>

Per a l’element PersonaFisica serà obligatori informar una bústia de correu o un telèfon. Excepte en el cas en que la persona física és subjecte obligat (el /Destinatari/Obligat tindrá el valor true) o el /Notificacio/Canal és PAPER, llavors no es realitzarà aquesta comprovació i aquests camps seran opcionals.

PersonaFisicaSimpleType

<xs:complexType name="PersonaFisicaSimpleType">
	<xs:sequence>
		<xs:element name="DocumentIdentificatiu" type="DocumentPersonaFisicaType"/>
		<xs:element name="NomComplet" type="xs:string"/>
	</xs:sequence>
</xs:complexType>

PersonaJuridicaType

<xs:complexType name="PersonaType" abstract="true">
	<xs:sequence>
		<xs:element name="BustiesCorreu" type="BustiesCorreuType" minOccurs="0"/>
		<xs:element name="Telefons" type="TelefonsType" minOccurs="0"/>
		<xs:element name="PersonesAvis" type="PersonesAvis" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

<xs:complexType name="PersonaJuridicaType">
	<xs:complexContent>
		<xs:extension base="PersonaType">
			<xs:sequence>
				<xs:element name="DocumentIdentificatiu" type="DocumentPersonaJuridicaType"/>
				<xs:element name="RaoSocial" type="NoEmptyString" nillable="false" />
				<xs:element name="PersonaVinculada" type="PersonaVinculadaType" minOccurs="0"/>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>

Per a l’element PersonaJuridica informar la bústia de correu o el telèfon serà opcional.

PersonaJuridicaSimpleType

<xs:complexType name="PersonaJuridicaSimpleType">
	<xs:sequence>
		<xs:element name="DocumentIdentificatiu" type="DocumentPersonaJuridicaType"/>
		<xs:element name="RaoSocial" type="xs:string"/>
	</xs:sequence>
</xs:complexType>

PersonaVinculada

<xs:complexType name="PersonaVinculadaType">
		<xs:sequence>
			<xs:element name="DocumentIdentificatiu" type="DocumentPersonaFisicaType"/>
			<xs:element name="Nom" type="xs:string"/>
			<xs:element name="PrimerCognom" type="xs:string"/>
			<xs:element name="SegonCognom" type="xs:string" minOccurs="0"/>
		</xs:sequence>
</xs:complexType>

Persona vinculada a l’empresa, que podrà accedir a la notificació.

PersonesAvis

<xs:complexType name="PersonesAvis">
	<xs:sequence>
		<xs:element name="PersonaAvis" type="PersonaAvisType" maxOccurs="unbounded"/>
	</xs:sequence>
</xs:complexType>

<xs:complexType name="PersonaAvisType">
		<xs:sequence>
			<xs:element name="NomComplet" type="xs:string"/>
			<xs:element name="BustiaCorreu" type="xs:string"/>
			<xs:element name="Telefon" type="xs:string" minOccurs="0"/>
		</xs:sequence>
</xs:complexType>

DocumentPersonaFisicaType

El tipus DocumentPersonaFisicaType identifica una persona física mitjançant el seu NIF/NIE o el seu passaport

<xs:complexType name="DocumentPersonaFisicaType">
	<xs:choice>
		<xs:element name="NIF" type="NIF"/>
		<xs:element name="PASSAPORT" type="Passaport"/>
		<xs:element name="IDC" type="IDC"/>
	</xs:choice>
</xs:complexType>

<xs:simpleType name="NIF">
	<xs:restriction base="xs:string">
		<xs:pattern value="[XYZKLM]?[0-9]{7,8}[A-Z]"/>
	</xs:restriction>
</xs:simpleType>

<xs:complexType name="Passaport">
	<xs:simpleContent>
		<xs:extension base="PassaportType">
			<xs:attribute name="Pais" type="ISO3166Code2Digits"/>
		</xs:extension>
	</xs:simpleContent>
</xs:complexType>

<xs:simpleType name="PassaportType">
	<xs:restriction base="xs:string">
		<xs:pattern value="[A-Z0-9]{1,9}"/>
	</xs:restriction>
</xs:simpleType>

<xs:complexType name="IDC">
	<xs:simpleContent>
		<xs:extension base="IDCType">
			<xs:attribute name="Pais" type="ISO3166Alpha2" use="required"/>
		</xs:extension>
	</xs:simpleContent>
</xs:complexType>

<xs:simpleType name="IDCType">
	<xs:restriction base="xs:string">
		<xs:pattern value="[A-Z0-9]{1,20}"/>
	</xs:restriction>
</xs:simpleType>

<xs:simpleType name="ISO3166Code2Digits">
	<xs:restriction base="xs:string">
		<xs:pattern value="[A-Z][A-Z]"/>
	</xs:restriction>
</xs:simpleType>

DocumentPersonaJuridicaType

El tipus DocumentPersonaJuridicaType identificar una persona jurídica mitjançant el seu NIF d’empresa o el seu VAT number en cas d’empreses extrangeres.

<xs:complexType name="DocumentPersonaJuridicaType">
	<xs:choice>
		<xs:element name="CIF" type="CIF"/>
		<xs:element name="VAT" type="VAT"/>
	</xs:choice>
</xs:complexType>

<xs:complexType name="VAT">
	<xs:simpleContent>
		<xs:extension base="VATType">
			<xs:attribute name="Pais" type="ISO3166Code2Digits"/>
		</xs:extension>
	</xs:simpleContent>
</xs:complexType>

<xs:simpleType name="VATType">
	<xs:restriction base="xs:string">
		<xs:pattern value="[A-Z0-9]{1,50}"/>
	</xs:restriction>
</xs:simpleType>

EmissorType

<xs:complexType name="EmissorType">
	<xs:sequence>
		<xs:element name="CodiOrganisme" type="xs:string"/>
		<xs:element name="NomOrganisme" type="xs:string"/>
		<xs:element name="CodiDepartament" type="xs:string"/>
		<xs:element name="NomDepartament" type="xs:string"/>
		<xs:element name="BackOffice" type="xs:string" minOccurs="0"/>
	</xs:sequence>
</xs:complexType>

EtiquetesType

<xs:complexType name="EtiquetesType">
	<xs:sequence>
		<xs:element name="Etiqueta" type="EtiquetaType" maxOccurs="unbounded"/>
	</xs:sequence>
</xs:complexType>

<xs:complexType name="EtiquetaType">
	<xs:simpleContent>
		<xs:extension base="xs:string">
			<xs:attribute name="Idioma" type="Idioma"/>
		</xs:extension>
	</xs:simpleContent>
</xs:complexType>

Les etiquetes son un concepte opcional que poden afegir els ens per classificar les notificacions. Els ciutadans poden filtrar per aquest concepte en el portal de la ciutadania. Les etiquetes estan definides prèviament i son les mateixes per tots els ens usuaris del servei. Si addicionalment és necessari crear-ne alguna es pot demanar al Portal de Suport.

Report

El detall del Report explicitament es troba en el següent esquema

<xs:element name="Report">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="Emissor" type="EmissorType"/>
			<xs:element name="DataInforme" type="xs:date"/>
			<xs:element name="TipusInforme" type="TipusInformeType"/>
			<xs:element name="DadesNotificacio" type="ReportNotificacioType" maxOccurs="unbounded" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

ReportNotificacioType

Cadascuna de les notificacions retornades per el report retorna un element del tipus ReportNotificacioType:

	<xs:complexType name="ReportNotificacioType">
		<xs:annotation>
			<xs:documentation xml:lang="ca">Esquema que representa un registre de l'informe</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="DadesEstat">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Estat" type="EstatType"/>
						<xs:element name="DataActualitzacio" type="xs:dateTime"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="DadesNotificacio">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Referencia" type="String255Max"/>
						<xs:element name="IdNotificacio" type="Number"/>
						<xs:element name="TipusObjecte" type="TipusObjecteType"/>
						<xs:element name="DiesExpiracio" type="PositiveNumber1000Max" minOccurs="0"/>
						<xs:element name="IdNotificacioEmissor" type="String255Max" minOccurs="0"/>
						<xs:element name="Canal" type="CanalType" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="DadesRegistre">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="DataRegistre" type="xs:dateTime" nillable="true"/>
						<xs:element name="NumeroRegistreSortida" type="String100Max" nillable="true"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="DadesSignador" type="DadesSignadorType"/>
			<xs:element name="DadesCanviCanal" type="DadesCanviCanalType" minOccurs="0"/>
			<xs:element name="BackOffice" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>

DadesSignadorType

<xs:complexType name="DadesSignadorType">
	<xs:choice>
		<xs:element name="Interessat" type="InteressatType"/>
		<xs:element name="Representant">
			<xs:complexType>
				<xs:sequence>
					<xs:choice>
						<xs:element name="PersonaFisica" type="PersonaFisicaSimpleType"/>
						<xs:element name="PersonaJuridica" type="PersonaJuridicaSimpleType"/>
					</xs:choice>
					<xs:element name="Interessat" type="InteressatType"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
		<xs:element name="FuncionariHabilitat">
			<xs:complexType>
				<xs:sequence>
					<xs:element name="PersonaFisica" type="PersonaFisicaSimpleType"/>
					<xs:element name="Interessat" type="InteressatType"/>
					<xs:element name="Referencia" type="String255Max"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
		<xs:element name="PracticadaPaper" type="DadesPracticarCanalPaperType"/>
	</xs:choice>
</xs:complexType>

4. Reports de canvi d’estat

Per tal que les entitats que utilitzen eNOTUM tinguin constància de l’estat de les notificacions que generen, sense que faci falta una consulta directa de les notificacions creades, eNOTUM genera reports informant del canvi d’estat de la notificació en qüestió.

Hi ha dos modalitats de report que pot rebre l’integrador:

Es pot deshabilitar la generació d’aquests reports en cas de que l’integrador amb eNOTUM no trobi necessària la recepció d’aquesta informació.

A través del portal EACAT es poden configurar les dades de connexió així com configurar diferents polítiques per la comunicació via Web Service. Si no s’informa cap política el missatge s’envia sense capçaleres de segureatat. Hi ha altres polítiques que inclouen la signatura del missatge segons l’estàndard WebService Security 1.1 o que permeten fer mínimes modificacions en l’encapsulat del missatge SOAP que s’envia.

Aquí podeu veure la definició completa del WSDL RecepcioReports.wsdl que ha de complir el servei publicat per l’integrador per tal de rebre els reports de canvi d’estat.

Report

Peticio

El missatge que s’envia al backoffice de l’integrador té el mateix format que el report que retorna eNOTUM en l’operació RecuperarReport.

L’element <Report> es descriu amb més detall aquí.

Resposta

La resposta esperada per eNOTUM pel servei d’enviament de reports és de tipus RespostaReport. En aquesta resposta l’integrador ha d’informar si s’ha produit un error en el seu sistema al processar el report que se li ha enviat. De manera que el servei d’enviament de reports sàpiga que ha de reintentar l’enviament. Es considera que s’ha de reintentar si el missatge informa l’element <Error> (sigui quin sigui el seu valor) o si la resposta del servei és un <SoapFault>.

Aquí podeu veure la definició completa del esquema RespostaReport.xsd

<xs:element name="RespostaReport">
	<xs:complexType>
		<xs:annotation>
			<xs:documentation>Resposta indicant que el report s'ha rebut correctament.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Error" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	</xs:element>

5. Codis d’error d’eNotum

Codi d’error Descripció
101 El xml no compleix l’esquema
102 Paràmetre deprecat
103 Error executant l’operació
104 L’organisme autoritzat per la PCI no té permisos sobre l’organisme especificat en la petició d’eNotum
501 Operació desconeguda/no implementada
502 Aquest rol no té privilegis suficients per realitzar aquesta operació
503 El tipus d’accés no està autoritzat per aquest tipus de petició
504 La entitat especificada no existeix
505 La entitat especificada no està autoritzada per informar documents a través de URL
613 El format de l’adreça de la bústia de correu especificada no és correcte
614 El CIF especificat no és correcte
615 El NIF especificat no és correcte
616 El Passaport especificat no és correcte
617 El país del Passaport especificat és obligatori
618 El país del Passaport especificat no és vàlid
619 El VAT especificat no és correcte
620 El país del VAT especificat és obligatori
621 El país del VAT especificat no és vàlid
627 El paràmetre CodiDepartament és obligatori
629 L’identificador de la notificació de l’emissor és obligatori
630 El format del número de telèfon especificat no és correcte
701 És obligatori com a mínim un mètode de contacte per al destinatari: e-mail o telèfon.
702 El nom del destinatari és obligatori
703 El primer cognom del destinatari és obligatori
705 La raó social del destinatari és obligatori
706 Les persones jurídiques no poden tenir el camp obligat a false
707 És obligatori com a mínim un mètode de contacte per a la persona d’avís: e-mail o telèfon.
708 Només pot haver-hi un destinatari titular per notificació
713 És obligatori omplir un dels camps CIF o NIF
716 La data de registre no pot ser anterior a 60 dies ni posterior al moment actual
717 El número de registre de la notificació és obligatori
718 La referència de la notificació és obligatòria
719 El destinatari de la notificació no es correspon amb el perfil especificat
720 No es permet enviar una notificació electrònica a l’ens especificat a través de la plataforma eNOTUM degut a la naturalesa del mateix. Cal que la redirigiu a través de la plataforma corresponent en funció de la seva naturalesa
721 La referència de la notificació ha de tenir entre 3 i 250 caràcters
723 Les comunicacions no poden ser amb Canal PAPER
725 El nom del destinatari no pot excedir els 50 caràcters
726 El primer cognom del destinatari no pot excedir els 50 caràcters
727 El segon cognom del destinatari no pot excedir els 50 caràcters
728 El codi d’expedient de la notificació ha de tenir entre 3 i 50 caràcters
729 El codi d’expedient de la notificació ha de tenir entre 3 i 34 caràcters
730 El tramit de la notificació ha de tenir entre 3 i 50 caràcters
911 El tipus de document enviat no està permès
912 El document especificat no existeix
913 El paràmetre codi de pujada del document es obligatori
914 El document supera la mida màxima establerta
918 El paràmetre hash del document és obligatori
920 El paràmetre URLDescarrega del document té un format erroni
921 No s’ha pogut descarregar el fitxer indicat al paràmetre URLDescarrega
922 Ha d’haver un únic document amb el tipus ‘Resolució’
923 El paràmetre hash del document no coincideix amb el hash del document proporcionat
924 El document supera la mida màxima establerta per a estar dins del missatge, provi d’adjuntar el document per una altre via
925 El nom del document no pot excedir els 100 caràcters
926 El document PDF d’evidència no es pot generar per a l’idioma especificat
1003 El cos de la notificació en cas de estar informat no pot ser buït
1005 El paràmetre títol ha de tenir entre 3 i 100 caràcters
1006 El paràmetre títol es obligatori
1007 S’ha excedit el màxim de dies d’expiració
1008 S’ha excedit el màxim de recordatoris
1010 La notificació indicada no existeix
1011 No es poden indicar simultàniament els paràmetres SenseRegistre i DadesRegistre
1012 El paràmetre SenseRegistre només s’admet per a comunicacions
1015 La notificació indicada no és visible des de l’entitat consultadora
1016 El paràmetre de tipus de perfil de consulta del resum de notificacions és obligatori si s’especifiquen el NIF i el CIF
1018 El paràmetre bústia de correu o telèfon mòbil és obligatori
1019 El paràmetre identificador de paraula de pas és obligatori
1020 El paràmetre paraula de pas és obligatori
1022 Error generant paraula de pas
1023 Error validant paraula de pas
1024 Paraula de pas no registrada
1025 Paraula de pas incorrecta
1026 Paraula de pas caducada
1027 Paraula de pas no associada a eNOTUM
1028 Element DadesParaulaPas es obligatori per aquesta operació
1030 La paraula de pas no s’ha d’informar en aquesta operació
1031 L’identificador de la paraula de pas no s’ha d’informar en aquesta operació
1032 La notificació no és accessible amb nivell d’accés baix
1033 El ciutadà no té notificacions
1034 El certificat del ciutadà no és vàlid
1035 Error validant el certificat digital
1036 El paràmetre NivellCertificat no té un valor vàlid
1037 El certificat no té les dades necessàries per aquest perfil
1038 La tramesa conté notificacions i comunicacions. Només en pot contenir d’un tipus
1039 La tramesa conté documents amb accents al nom
1040 El ciutadà no té notificacions accessibles amb paraula de pas
1041 El canvi de mitja només és aplicable a les notificacions generades en paper
1042 Si es vol realitzar un canvi de mitja a via digital és obligatori informar un email i/o telefon
1043 Les persones jurídiques no poden realitzar un canvi de mitja
1044 El destinatari està obligat a rebre notificacions en canal PAPER
1045 La signatura realitzada amb valid no és de segon factor
1046 La signatura no és valida
1047 L’usuari no està autoritzat per a practicar la notificació
1048 És obligatori informar l’element IdAutenticacio
1049 La notificació no és accessible amb nivell d’accés substancial
1050 L’L’Access Token de VALId informat no és vàlid
1051 S’ha produit un error recuperant informació de VALId
1060 El certificat del ciutadà no és d’un tipus vàlid
1100 L’etiqueta indicada no existeix
1200 L’àmbit de la notificació no existeix
1201 L’àmbit de la notificació no està actiu
1202 El tipus de la notificació no és notificació
1401 Error validant la signatura electrònica
1403 El nivell del certificat és insuficient per practicar la notificació
3001 Element Tramesa és obligatori per aquesta operació
3002 El paràmetre CodiNotificacio és obligatori per aquesta operació
3003 La notificació ja ha estat acceptada o rebutjada amb anterioritat
3004 La notificació està en estat d’error
3005 La notificació ha d’estar en estat publicada
3006 El paràmetre dades signatura és obligatori
3007 El paràmetre dades signades és obligatori
3008 Element DadesSignatura és obligatori per aquesta operació
3009 Element DadesCerca és obligatori per aquesta operació
3010 La notificació no pertany al destinatari
3011 Error signant la notificació
3014 Element PersonaFisica i PersonaJuridica de CriterisDestinatari no ha de venir informat per al Rol ciutadà per aquesta operació
3015 El paràmetre data del report és obligatori
3016 El paràmetre CampOrdenacio no té un valor vàlid
3020 L’estat de la notificació no permet generar les evidències
3021 El Backoffice informat no existeix
3035 La notificació no ha estat practicada
3036 En peticions de resum on no s’informa el codi d’organisme i departament el backoffice s’ha d’informar correctament
3037 La notificació ha estat rebutjada automaticament pel sistema amb anterioritat
3038 La notificació ha estat anul·lada amb anterioritat
3101 Element DadesConsulta és obligatori per aquesta operació
3102 Element ResumNotificacions és obligatori per aquesta operació
3103 El paràmetre de cerca Estat no té un valor vàlid
3104 L’evidència en format PDF encara no ha estat generada
3105 El paràmetre MostraTotes no es pot utilitzar en les cerques amb Rol EMPLEAT
3106 El paràmetre MostraTotes no es compatible amb el filtrat per criteris de destinatari
3107 No existeixen credencials per les dades especificades
3108 El codi d’organisme no es correspón amb l’indicat
3200 El tipus de document identificatiu a retornar no està suportat per la versió de missatgeria utilitzada
3201 Les dades del report a retornar no són compatibles amb la versió de missatgeria utilitzada. Faci la petició amb la versió de la missatgeria >= 3.2

6. Notes per la migració de missatgeria de versions anteriors

6.1 Correspondencia d’estats

A les versions 3.0, 3.1 i 3.2 els estats de les notificacions es mostraven tant amb un codi numèric com amb la descripció d’aquest. En la versió 4.0 es prescindeix del codi numèric i es retorna només l’estat amb un literal.

La taula de correspondencia entre el codi d’estat de les versions anteriors i els literals de la versió 4.0 és la següent:

Codi d’estat v3 Estat v4.0
0 PENDENT
1 REGISTRADA
3, 7 DIPOSITADA
47 ACCEPTADA
31 REBUTJADA
19, 23 EXPIRADA
512 - 1023 ANUL·LADA
1024 - 2048 ERROR