En este apartado se explicarán los servicios de pfi y cómo inicializar su cliente java

...

Inicialización del cliente mediante CXF


Mediante sintaxis xml podemos definir fácilmente la configuración del cliente CXF para que acceda a los servicios de PFI. Inicialmente deberemos definir la referencia a la interfaz del servicio, que se encuentra dentro del cliente suministrado, así como a la dirección a la  que apunta el wsdl levantado.


Code Block
languagexml
themeEclipse
titleIDocumentIntegrationService
<simple:client id="pfiClient" 
			   serviceClass="es.aragon.pfi.core.ws.IDocumentIntegrationService" 
			   address="http://[entorno:puerto]/pfi_core/services/IDocumentIntegrationServiceWS"
			   serviceName="s:IDocumentIntegrationService" 
			   xmlns:s="http://ws.core.pfi.aragon.es/ "
		       endpointName="s:IDocumentIntegrationServiceWS"
>
	<simple:outInterceptors>
		<ref bean="authorizeInterceptor" />
	</simple:outInterceptors>
</simple:client>


Como se puede observar en la definición XML del cliente CXF, se deberán configurar las urls donde se ubica el servicio IDocumentIntegrationServiceWS, para ello habrá que sustituir entorno y puerto por los valores correctos.
Las aplicaciones que se integran con PFI deben proporcionar en todas las peticiones el código de aplicación.

Para ello, utilizando los denominados interceptores, es posible rellenar este valor automáticamente en todas las peticiones. Como se ve en la definición del cliente se ha definido un interceptor de salida que entra en funcionamiento en el momento de construir la petición SOAP y que inserta el valor del código de aplicación en los parámetros de todos los métodos de PFI invocados.


Code Block
languagexml
themeEclipse
<simple:outInterceptors>
	<ref bean="authorizeInterceptor" />
</simple:outInterceptors>


La definición al bean authotizeInterceptor que se incluye a continuación, permite indicarle el código de la aplicación, de esta manera el interceptor se encarga de establecer dicho valor en todos los parámetros de las llamadas a los servicios PFI. La clase con el interceptor de salida AuthorizeOutInterceptor se proporciona junto con el cliente de PFI.


Code Block
languagexml
themeEclipse
<bean id="authorizeInterceptor" class="es.aragon.pfi.core.util.interceptors.AuthorizeOutInterceptor">
	<property name="applicationId" value="[código aplicación llamante]"/>
</bean>


...

Expand
titleMás detalles

Signatura

List<Signer> findQuickSignerList(SignerSearch signerSearch)

Parámetros de invocación

NombreTipoDescripción
signerSearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
signerListList<1241284867>Lista de firmantes encontrados según los criterios de búsqueda indicados

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDQUICKSIGNERLISTError genérico durante el servicio findQuickSignerList
ORGANISMLIST_XXError durante la consulta de los datos en SIU (XX indica el código de error en SIU)

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
SignerSearch signerSearch = new SignerSearch();
signerSearch.setSignerNif("25448659X");
List<Signer> signerList = iSignerImpl.findQuickSignerList(signerSearch);


...

Expand
titleMás detalles

Signatura

List<Signer> findSignerList(SignerSearch signerSearch)

Parámetros de invocación

NombreTipoDescripción
signerSearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
signerListList<1241284867>Lista de firmantes encontrados según los criterios de búsqueda indicados

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDSIGNERLISTError genérico durante el servicio findSignerList
GET_ORGANISM_HISTORICAL_INFORMATION_XXError durante la consulta de los datos en SIU (XX indica el código de error en SIU)

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
SignerSearch signerSearch = new SignerSearch();
signerSearch.setOrganismCode("ORG0001");
List<Signer> signerList = iSignerImpl.findSignerList(signerSearch);


...

Expand
titleMás detalles

Signatura

Signer findSignerByNif(SignerSearch signerSearch)

Parámetros de invocación

NombreTipoDescripción
signerSearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
signer1241284867Firmante cuyo nif coincida con el proporcionado en el parámetro de búsqueda

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDSIGNERBYNIFError genérico durante el servicio findSignerByNif
GET_USER_INFORMATION_XXError durante la consulta de los datos en SIU (XX indica el código de error en SIU)

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
SignerSearch signerSearch = new SignerSearch();
signerSearch.setUserNif("78965412X");
Signer signer = iSignerImpl.findSignerByNif(signerSearch);


...

Expand
titleMás detalles

Signatura

ParamProposedSigner findProposedSigner(ParamProposedSignerSearch paramProposedSignerSearch)

Parámetros de invocación

NombreTipoDescripción
paramProposedSignerSearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
proposedSigner1241284867Firmante propuesto encontrado según los criterios de búsqueda indicados

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDPROPOSEDSIGNERError genérico durante el servicio findProposedSigner

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamProposedSignerSearch paramProposedSignerSearch = new ParamProposedSignerSearch();
paramProposedSignerSearch.setSignerNif("78965412X");
ParamProposedSigner proposedSigner = iSignerImpl.findProposedSigner(paramProposedSignerSearch);


...

Expand
titleMás detalles

Signatura

ParamProposedSignerList findProposedSignerList(ParamProposedSignerSearch paramProposedSignerSearch)

Parámetros de invocación

NombreTipoDescripción
paramProposedSignerSearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
proposedSignerListParamProposedSignerListObjeto que encapsula la lista de firmantes propuestos encontrados y el tamaño de dicha lista

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDPROPOSEDSIGNERLISTSIGNERSERVICEIMPL_FINDPROPOSEDSIGNERLIST

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamProposedSignerSearch paramProposedSignerSearch = new ParamProposedSignerSearch();
paramProposedSignerSearch.setSignerNif("78965412X");
ParamProposedSignerList proposedSigner = iSignerImpl.findProposedSignerList(paramProposedSignerSearch);


...

Expand
titleMás detalles

Signatura

Document findDocument(DocumentSearch documentSearch)

Parámetros de invocación

NombreTipoDescripción
documentSearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
document1241284867Documento encontrado según el criterio de búsqueda proporcionada

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENT_02Error genérico durante el servicio findDocument

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
DocumentSearch documentSearch = new DocumentSearch();
documentSearch.setCsv("CSV6F70H2A66T1E01PFI");
Document document = iDocumentImpl.findDocument(documentSearch);


...

Expand
titleMás detalles

Signatura

List<Document> findDocumentList(DocumentSearch documentSearch)

Parámetros de invocación

NombreTipoDescripción
documentSearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
documentListList<1241284867>Lista de documentos encontrados según los parámetros de búsqueda indicados

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTLIST_01Error genérico durante el servicio findDocumentList
DOCUMENTSERVICEIMPL_FINDDOCUMENTLIST_02Error genérico durante el servicio findDocumentList

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
DocumentSearch documentSearch = new DocumentSearch();
documentSearch.setState(2);
List<Document> documentList = iDocumentImpl.findDocumentList(documentSearch);


...

Expand
titleMás detalles

Signatura

ResultTrayList findDocumentTray(ParamTraySearch paramTraySearch)

Parámetros de invocación

NombreTipoDescripción
paramTraySearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultTrayListResultTrayListLista de documentos para la bandeja que cumplen los criterios de búsqueda

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTTRAYError genérico durante el servicio findDocumentTray
FIND_DOCUMENT_LISTError al buscar los documentos en bbdd

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamTraySearch paramTraySearch = new ParamTraySearch();
paramTraySearch.setDraft(true);
ResultTrayList resultTrayList = iDocumentImpl.findDocumentTray(paramTraySearch);


...

Expand
titleMás detalles

Signatura

ResultTrayListVisibility findDocumentTrayVisibility(ParamTraySearch paramTraySearch)

Parámetros de invocación

NombreTipoDescripción
paramTraySearch1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultTrayListVisibilityResultTrayListVisibilityLista de documentos para la bandeja que cumplen los criterios de búsqueda con información de visibilidad

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTTRAYError genérico durante el servicio findDocumentTrayVisibility
PAUINTEGRATION_PROCEDURELISTBYUSERError en el sistema de autentificación. Se ha producido el siguiente error al buscar la lista de procedimientos del usuario desde PAU
FIND_DOCUMENT_LISTError al buscar los documentos en bbdd

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamTraySearch paramTraySearch = new ParamTraySearch();
paramTraySearch.setDraft(true);
ResultTrayListVisibility resultTrayListVisibility = iDocumentImpl.findDocumentTrayVisibility(paramTraySearch);


...

Expand
titleMás detalles

Signatura

List<ParamFolder> findDocumentFolderList(DocumentSearch document)

Parámetros de invocación

NombreTipoDescripción
document1241284867Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
paramFolderList<ParamFolder>Error inesperado al buscar los diferentes folder a los que pertenecen los documentos

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTFOLDERLISTError genérico durante el servicio findDocumentFolderList
NOT_EXIST_DOCUMENT

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
DocumentMetadataSearch documentMetadataSearch = new DocumentMetadataSearch();



...

Expand
titleMás detalles

Signatura

Integer getDocumentState(ParamGetDocumentState paramGetDocumentState)

Parámetros de invocación

NombreTipoDescripción
paramGetDocumentState1241284867Parámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
stateInteger

Numero de estado correspondiente en porta-firmas:

6 →  En paralelo

4 →  Anulado

3 →  Firma Programada

2 →  Firmado

1 →  Pendiente de firma

0 → Borrador

Códigos error

CódigoDescripción

DOCUMENTSERVICEIMPL_GETDOCUMENTSTATE

Error genérico durante el servicio getDocumentState
FIND_DOCUMENTError inesperado al buscar un documento
DOCUMENTMANAGERIMPL_FINDDOCUMENTError buscando documento

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamGetDocumentState paramGetDocumentState = new ParamGetDocumentState();
paramGetDocumentState.setCsv("CSVP55RYQS7R9AF01PFI");
Integer documentState = IDocumentService.getDocumentState(paramGetDocumentState);


...

Expand
titleMás detalles

Signatura

ResultGetOperation getOperation(ParamGetOperation paramGetOperation)

Parámetros de invocación

NombreTipoDescripción
paramGetOperationParamGetOperationParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultGetOperationResultGetOperation

Objeto que encapsula el resultado de la operación

Códigos error

CódigoDescripción

DOCUMENTSERVICEIMPL_GETOPERATION

Error genérico durante el servicio getOperation
SCDEINTEGRATION_GETSTATUSError al comprobar el estado de la operacion
LOAD_OPERATIONError buscando operación. El usuario no tiene permisos para ver la operación
FIND_OPERATIONError buscando operación

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamGetOperation paramGetOperation = new ParamGetOperation();
paramGetOperation.setDocumentId(1L);
ResultGetOperation resultGetOperation = IDocumentService.getOperation(paramGetOperation);


Método 'findDocumentListByExternalsigned'

Servicio que consulta los documentos, en estado firmado, tiene un usuario externo.

Expand
titleMás detalles

Signatura

ResultDocumentExternalInfo findDocumentListByExternalSigned(ParamFindDocumentListByExternalWithoutSignature paramFindDocumentListByExternalWithoutSignature)

Parámetros de invocación

ParamFindDocumentListByExternalWithoutSignature:

NombreTipoObligatorioDescripción
applicationIdStringAlias de la aplicación que realiza la consulta
userNifStringNoNIF/NIE del usuario identificado que realiza la consulta
signerNifStringNIF/NIE del usuario firmante
descriptionStringNoDescripción del documento
preparationDateFromDateNo. Altamente recomendable para evitar timeoutsFecha de preparación desde
preparationDateToDateNo. Altamente recomendable para evitar timeoutsFecha de preparación hasta. Si no se rellena, el valor por defecto será la fecha actual +1.
csvStringNoCSV
fromIndexIntegerNoÍndice de comienzo para la paginación
toIndexIntegerNoíndice final para la paginación
sortColumnStringNo. Si no se rellena, se ordena por defecto por la fecha de preparación final más reciente

Columna por la cual se desea ordenar los documentos.

Los valores que admite son los siguientes:

  • signerNif
  • description
  • preparationDateEnd
  • csv
  • state
ascendingBooleanNoOrdenar por la columna deseada de forma ascendente o descendente

Parámetros de respuesta

ResultDocumentExternalInfo:

NombreTipoDescripción
applicationIdString

Alias de la aplicación que ha realizado la consulta

userNifStringNIF del usuario identificado
documentsList<DocumentInfo>Lista de documentos paginada
sizeintNúmero total de documentos sin tener en cuenta la paginación

DocumentExternalInfo:

NombreTipoDescripción
csvString

CSV del documento

descriptionStringDescripción del documento
procedureCodeStringCódigo de procedimiento
issuerStringNombre y apellidos del preparador
revisedbooleanSi el documento está revisado o no
stateint

Estado del documento

IMPORTANTE:

Además de los estados 1 (pendiente de firma) y 2 (firmado), se puede obtener el estado 6 (firma paralela). Este estado significa que el documento tiene varios firmantes y alguno de ellos ya ha firmado pero otros no y todavía no se cumple el total de firmas del documento (Quorum)

  • Si se filtra por NIF firmante y estado 1 (pendiente de firma), al obtener el estado 6 en un documento significará que ese firmante no ha firmado pero alguno de los otros firmantes del documento sí.
  • Si se filtra por NIF firmante y estado 2 (firmado), al obtener el estado 6 en un documento significará que ese firmante sí que ha firmado pero faltan por firmar el resto de firmantes del documento.
quorumintMínimo de firmas requeridas para pasar a firmar un documento.
quorumOnlyStringIndica, en el caso de multifirma, si se admiten más firmas que las mínimas requeridas (quorum).
quorumOnlyintSi el documento requiere de todas las firmas de los firmantes propuestos para pasar a estado firmado
signaturesintNúmero de firmas realizadas
totalSignaturesintNúmero de firmas totales
totalSignersNotRevisedinttotal de firmantes no revisados
preparationDateStringFecha de inicio de preparación del documento
preparationDateEndStringFecha fin de preparación del documento
signersList<DocumentSignerData>Listado de firmantes del documento con su nif, nombre y apellidos


DocumentSignerData:

NombreTipoDescripción
signerNifStringNIF/NIE del firmante
signerNameStringNombre y apellidos del firmante
signerRevisedbooleanIndica si el firmante está revisado


Códigos error

CódigoDescripción

GENERIC_FINDDOCUMENTLISTBYEXTERNALSIGNED

Error genérico en el servicio findDocumentListByExternalSigned
FINDDOCUMENTLISTBYEXTERNALSIGNED_01El nif del usuario firmante es obligatorio
FINDDOCUMENTLISTBYEXTERNALSIGNED_02El formato del nif del usuario firmante no es correcto


Ejemplo de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamFindDocumentListByExternalWithoutSignature paramFindDocumentListByExternalSigned = new ParamFindDocumentListByExternalWithoutSignature();
paramFindDocumentListByExternalSigned.setSignerNif("SIGNER_NIF");
IDocumentService.findDocumentListByExternalSigned(paramFindDocumentListByExternalSigned);


Método 'findDocumentListByExternalSignedCount'

Servicio que consulta los documentos, en estado firmado,  de un usuario externo

Expand
titleMás detalles

Signatura

ResultDocumentExternalInfo findDocumentListByExternalSigned(ParamFindDocumentListByExternalWithoutSignature paramFindDocumentListByExternalWithoutSignature)

Parámetros de invocación

ParamFindDocumentListByExternalWithoutSignatureCount:

NombreTipoObligatorioDescripción
applicationIdStringAlias de la aplicación que realiza la consulta
userNifStringNoNIF/NIE del usuario identificado que realiza la consulta
signerNifStringNoNIF/NIE del usuario firmante
descriptionStringNoDescripción del documento
preparationDateFromDateNo. Altamente recomendable para evitar timeoutsFecha de preparación desde
preparationDateToDateNo. Altamente recomendable para evitar timeoutsFecha de preparación hasta. Si no se rellena, el valor por defecto será la fecha actual +1.
csvStringNoCSV


Parámetros de respuesta

ResultFindDocumentListCount:

NombreTipoDescripción
errorsboolean

Indica si se han producido errores. 

  • true → Hay errores. Se informa del error y del mensaje del error
  • false → No hay errores.
errorCodeStringCódigo del error producido
errorMsgStringDescripción del error producido
documentsintNúmero total de documentos que cumplen los criterios de búsqueda


Códigos error

CódigoDescripción

GENERIC_FINDDOCUMENTLISTBYEXTERNALSIGNED

Error genérico en el servicio findDocumentListByExternalSignedCount
FINDDOCUMENTLISTBYEXTERNALSIGNED_01El nif del usuario firmante es obligatorio
FINDDOCUMENTLISTBYEXTERNALSIGNED_02El formato del nif del usuario firmante no es correcto


Ejemplo de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamFindDocumentListByExternalWithoutSignatureCount paramFindDocumentListByExternalSigned = new ParamFindDocumentListByExternalWithoutSignatureCount();
paramFindDocumentListByExternalSigned.setSignerNif("SIGNER_NIF");
IDocumentService.findDocumentListByExternalSignedCount(paramFindDocumentListByExternalSigned);


Método 'findDocumentListByExternalWithoutSignature'

Servicio que consulta los documentos, en estado pendiente de firma o firma en paralelo, tiene un usuario externo.

Expand
titleMás detalles

Signatura

ResultDocumentExternalInfo findDocumentListByExternalWithoutSignature(ParamFindDocumentListByExternalWithoutSignature paramFindDocumentListByExternalWithoutSignature)

Parámetros de invocación

ParamFindDocumentListByExternalWithoutSignature:

NombreTipoObligatorioDescripción
applicationIdStringAlias de la aplicación que realiza la consulta
userNifStringNoNIF/NIE del usuario identificado que realiza la consulta
signerNifStringNIF/NIE del usuario firmante
descriptionStringNoDescripción del documento
preparationDateFromDateNo. Altamente recomendable para evitar timeoutsFecha de preparación desde
preparationDateToDateNo. Altamente recomendable para evitar timeoutsFecha de preparación hasta. Si no se rellena, el valor por defecto será la fecha actual +1.
csvStringNoCSV
fromIndexIntegerNoÍndice de comienzo para la paginación
toIndexIntegerNoíndice final para la paginación
sortColumnStringNo. Si no se rellena, se ordena por defecto por la fecha de preparación final más reciente

Columna por la cual se desea ordenar los documentos.

Los valores que admite son los siguientes:

  • signerNif
  • description
  • preparationDateEnd
  • csv
  • state
ascendingBooleanNoOrdenar por la columna deseada de forma ascendente o descendente

Parámetros de respuesta

ResultDocumentExternalInfo:

NombreTipoDescripción
applicationIdString

Alias de la aplicación que ha realizado la consulta

userNifStringNIF del usuario identificado
documentsList<DocumentInfo>Lista de documentos paginada
sizeintNúmero total de documentos sin tener en cuenta la paginación

DocumentExternalInfo:

NombreTipoDescripción
csvString

CSV del documento

descriptionStringDescripción del documento
procedureCodeStringCódigo de procedimiento
issuerStringNombre y apellidos del preparador
revisedbooleanSi el documento está revisado o no
stateint

Estado del documento

IMPORTANTE:

Además de los estados 1 (pendiente de firma) y 2 (firmado), se puede obtener el estado 6 (firma paralela). Este estado significa que el documento tiene varios firmantes y alguno de ellos ya ha firmado pero otros no y todavía no se cumple el total de firmas del documento (Quorum)

  • Si se filtra por NIF firmante y estado 1 (pendiente de firma), al obtener el estado 6 en un documento significará que ese firmante no ha firmado pero alguno de los otros firmantes del documento sí.
  • Si se filtra por NIF firmante y estado 2 (firmado), al obtener el estado 6 en un documento significará que ese firmante sí que ha firmado pero faltan por firmar el resto de firmantes del documento.
quorumintMínimo de firmas requeridas para pasar a firmar un documento.
quorumOnlyStringIndica, en el caso de multifirma, si se admiten más firmas que las mínimas requeridas (quorum).
quorumOnlyintSi el documento requiere de todas las firmas de los firmantes propuestos para pasar a estado firmado
signaturesintNúmero de firmas realizadas
totalSignaturesintNúmero de firmas totales
totalSignersNotRevisedinttotal de firmantes no revisados
preparationDateStringFecha de inicio de preparación del documento
preparationDateEndStringFecha fin de preparación del documento
signersList<DocumentSignerData>Listado de firmantes del documento con su nif, nombre y apellidos


DocumentSignerData:

NombreTipoDescripción
signerNifStringNIF/NIE del firmante
signerNameStringNombre y apellidos del firmante
signerRevisedbooleanIndica si el firmante está revisado


Códigos error

CódigoDescripción

GENERIC_FINDDOCUMENTLISTBYEXTERNALWITHOUTSIGNATURE

Error genérico en el servicio findDocumentListByExternalWithoutSignature
FINDDOCUMENTLISTBYEXTERNALWITHOUTSIGNATURE_01El nif del usuario firmante es obligatorio
FINDDOCUMENTLISTBYEXTERNALWITHOUTSIGNATURE_02El formato del nif del usuario firmante no es correcto


Ejemplo de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamFindDocumentListByExternalWithoutSignature paramFindDocumentListByExternalSigned = new ParamFindDocumentListByExternalWithoutSignature();
paramFindDocumentListByExternalSigned.setSignerNif("SIGNER_NIF");
IDocumentService.findDocumentListByExternalWithoutSignature(paramFindDocumentListByExternalSigned);


Método 'findDocumentListByExternalWithoutSignatureCount'

Servicio que consulta los documentos, en estado pendiente de firma o firma en paralelo,  de un usuario externo

Expand
titleMás detalles

Signatura

ResultDocumentExternalInfo findDocumentListByExternalWithoutSignatureCount(ParamFindDocumentListByExternalWithoutSignature paramFindDocumentListByExternalWithoutSignature)

Parámetros de invocación

ParamFindDocumentListByExternalWithoutSignatureCount:

NombreTipoObligatorioDescripción
applicationIdStringAlias de la aplicación que realiza la consulta
userNifStringNoNIF/NIE del usuario identificado que realiza la consulta
signerNifStringNoNIF/NIE del usuario firmante
descriptionStringNoDescripción del documento
preparationDateFromDateNo. Altamente recomendable para evitar timeoutsFecha de preparación desde
preparationDateToDateNo. Altamente recomendable para evitar timeoutsFecha de preparación hasta. Si no se rellena, el valor por defecto será la fecha actual +1.
csvStringNoCSV


Parámetros de respuesta

ResultFindDocumentListCount:

NombreTipoDescripción
errorsboolean

Indica si se han producido errores. 

  • true → Hay errores. Se informa del error y del mensaje del error
  • false → No hay errores.
errorCodeStringCódigo del error producido
errorMsgStringDescripción del error producido
documentsintNúmero total de documentos que cumplen los criterios de búsqueda


Códigos error

CódigoDescripción

GENERIC_FINDDOCUMENTLISTBYEXTERNALWITHOUTSIGNATURE

Error genérico en el servicio findDocumentListByExternalWithoutSignatureCount
FINDDOCUMENTLISTBYEXTERNALWITHOUTSIGNATURE_01El nif del usuario firmante es obligatorio
FINDDOCUMENTLISTBYEXTERNALWITHOUTSIGNATURE_02El formato del nif del usuario firmante no es correcto


Ejemplo de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamFindDocumentListByExternalWithoutSignatureCount paramFindDocumentListByExternalSigned = new ParamFindDocumentListByExternalWithoutSignatureCount();
paramFindDocumentListByExternalSigned.setSignerNif("SIGNER_NIF");
IDocumentService.findDocumentListByExternalSignedCount(paramFindDocumentListByExternalSigned);


Servicios DocumentIntegrationService

...

Expand
titleMás detalles

Signatura

ResultSendDocument sendDocumentumDocument(ParamSendDocument paramSendDocument)

Parámetros de invocación

NombreTipoDescripción
paramSendDocument1241284867Parámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultSendDocument1241284867

Objeto que encapsula el resultado de la operación, proporcionado información en caso de error

Códigos error

CódigoDescripción

DOCUMENTINTEGRATIONMANAGERIMPL_SENDDOCUMENTUMDOCUMENT

Error inesperado al crear un documento en la tabla de PFI_DOCUMENT
DOCUMENTMANAGERIMPL_FINDDOCUMENTError inesperado al buscar un documento
LOAD_DOCUMENTError cargando documentos
SIUINTEGRATION_SENDPROPOSEDSIGNERS
Error en el sistema de identificación. El firmante propuesto debe estar dado de alta en el sistema de identificación de usuarios (SIU)

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamSendDocument paramSendDocument = new ParamSendDocument();
paramSendDocument.setCsv("CSVDA6FLBW3PNAX01PFI");
paramSendDocument.setApplicationId("PFI");
paramSendDocument.setUserNif("00000000T");
ResultSendDocument resultSendDocument = iDocumentIntegrationImpl.sendDocumentumDocument(paramSendDocument);


...

Expand
titleMás detalles

Signatura

ResultUpdateQuorumAndLimitDate updateQuorumAndLimitDateDocument (ParamUpdateQuorumAndLimitDate paramUpdateQuorumAndDate)

Parámetros de invocación

NombreTipoDescripción
paramUpdateQuorumAndDate1241284867Parámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultUpdateQuorum1241284867

Objeto que encapsula el resultado de la operación, proporcionado información en caso de error

Códigos error

CódigoDescripción

QUORUMTASK_DOCUMENTNONEXISTING

El documento con el CSV especificado no existe en la base de datos de PFI
QUORUMTASK_QUORUMWRONGEl valor de quorum indicado es incorrecto. Debe ser mayor que 0 y menor o igual que el número de firmantes propuestos del documento
QUORUMTASK_DATEWRONGLa fecha límite de firma del documento ha expirado
QUORUMTASK_NOMULTIFIRMAEl documento no es multifirma
QUORUMTASK_SIGNEDEl documento ya ha sido firmado por alguno de los firmantes

Ejemplos de invocación

Code Block
languagejava
firstline1
titleEjemplo de invocación
linenumberstrue
ParamUpdateQuorumAndLimitDate paramUpdateQuorumAndDate = new ParamUpdateQuorumAndLimitDate();
paramUpdateQuorumAndDate.setCsv("CSVP55RYQS7R9AF01PFI");
paramUpdateQuorumAndDate.setQuorum(2);
//queremos de fecha límite por ejemplo el día de hoy más una semana
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
Integer incFecha = 7;
cal.add(Calendar.DATE, incFecha);
paramCheckQuorumAndDate.setDate(cal.getTime());
paramCheckQuorumAndDate.setQuorumOnly(false);

ResultUpdateQuorumAndLimitDate resultCheckQuorumAndDate = iDocumentIntegrationImpl.updateQuorumAndLimitDateDocument(paramUpdateQuorumAndDate);


...

  • sendEvent → Método que informa sobre los cambios de estado de los documentos de PFI. Para poder recibir estos eventos de cambios de estado, los documentos deben tener asignado el alias de la aplicación receptora en el metadato dea_ident_codigo_aplicacion. De lo contrario, no se recibirán los eventos. El evento se compone de clave y valor. La clave es el CSV del documento y el valor es el estado del documento. Los cambios de estado que se notifican son los siguientes:
    • Estado 3 (Firmando asíncronamente) → Estado al que se pasan los documentos al inicio del proceso de firma para indicar que se está realizando la firma del documento.
    • Estado 6 (Firma paralela) → Se alcanza este estado cuando un documento tiene varios firmantes propuestos y alguno de ellos ya ha firmado pero todavía no se cumple el quorum.
    • Estado 2 (Firmado) → Documento firmado.
    • Estado 0 (Borrador) → Se recibe este evento cuando se rechaza un documento pendiente de firma.
    • Estado 9 (Anulado) → Se recibe este evento cuando se anula un documento.

...

Objeto  
Anchor
ParamProposedSigner
ParamProposedSigner
'ParamProposedSigner'

NombreTipoDescripción
proposedSignerIdLongId del firmante propuesto
signerNifStringNif del firmante propuesto
signerNameStringNombre del firmante propuesto
signerDateFromStringFecha de selección del firmante
signerOrderStringOrden de firma del firmante propuesto
signaturePositionStringTipo de posición de los pies de firma
positionStringCoordenadas donde se ha colocado el pie de firma del firmante propuesto
delegationTextStringTexto de delegación del firmante propuesto
signedStringIndica si el firmante propuesto ha firmando (1) o no (0)
signerOrgCodeStringCódigo de organismo del firmante propuesto
signerOrganismStringNombre de organismo del firmante propuesto
signerRoleStringCargo del firmante propuesto
signerStatusStringCondición del firmante
revisedStringIndica si el firmate propuesto ha sido revisado o no. Valores: S o N
deleteSignBooleanIndica si se ha de borrar la firma al actualizar el firmante propuesto

...

Objeto  
Anchor
ParamSendDocument
ParamSendDocument
'ParamSendDocument'

NombreTipoDescripción
applicationIdStringAplicación que ejecuta el método

userNif

StringNif del usuario
csvStringCódigo seguro de verificación del documento

...