amap-estafeta

Última modificación por Administrator el 2020/03/05 14:53

Versión 1.3.0

Fecha: 05 Marzo 2020.
Métodos para obtener el documento notificado.

Versión 1.2.0

Fecha: 16 Enero 2020.
Nuevos métodos para obtener el binario de acuses postal y electrónico.
Posibilidad de envíos solo postales.
Habilitada configuración de firma y registro.

Versión 1.1.1

Fecha: 07 Febrero 2019.
Corrección de bugs

Versión 1.1.0

Fecha: 25 Enero 2019.

Versión 1.0.1

Fecha: 16 Enero 2019.
Actualización de las trazas

Versión 1.0.0

Fecha: 02 Abril 2018.
Versión inicial

<dependency>
<groupId>es.gobcantabria.amap.integracion</groupId>
<artifactId>amap-estafeta</artifactId>
<version>1.3.0</version>
</dependency>

Es necesario de disponer de los siguientes datos:

  • Servidor: nombre o ip del servidor donde se aloja el servidor de estafeta
  • Disponer del password para la aplicacion

Sin recursos disponibles.

Configuración

Configuración de la factoría de servicios

Para la utilización del componente AMAPEstafeta basta con añadir el jar y sus correspondientes dependencias al classpath de la aplicación y crear un servicio del siguiente modo:

Credenciales credenciales = new Credenciales(APP, PASSWORD);
EstafetaServiceWsInterface servicio = EstafetaServiceWsImpl.getService(url, timeout, APP, credenciales);

El servicio concreto a usar se definirá a partir de un fichero de properties junto con el resto de los parámetros:

KeyDescripciónEjemplo
sistemas.global.amap.estafeta.url.webserviceEndpoint del servicio web https://<host>/estafeta/services/EstafetaWSPublic

Los valores de las propieades aquí mostrados son meramente ilustrativos. En los entornos de desarrollo / preproducción y producción los valores de las variables han de ser externalizados tal y como se especifica en el documento Definición de acceso a propiedades de sistema

La configuración del componente se realiza a la hora de obtener la instancia del servicio. Los parámetros soportados son:

  • URL:  URL donde está desplegado el servicio (instancia de java.net.URL).
  • TIMEOUT: timeout del servicio
  • APP: aplicación que realiza la petición
  • Credenciales: Aplicación y password para realizar la petición

Por lo que la forma convencional de generar un cliente, en el entorno de desarrollo, sería: 


EstafetaServiceWsInterface estafetaCient = EstafetaServiceWsImpl.getService(URL, TIMEOUT, APP, credenciales);

Una vez obtenido el servicio podemos invocar cualquiera de sus métodos.

Nombreamap-estafeta
Identificadoramap-estafeta
Grupoes.gobcantabria.amap.integracion
Versión1.3.0
Licencia
DesarrolladorGobierno de Cantabria
Descripción
Documentaciónamap-estafeta (JavaDoc)
Binarioamap-estafeta (Jar)

Sin particularidades. Seguir las recomendaciones del fabricante.

Introducción

Una vez creado el servicio, tal y como se indica en el apartado de configuración, se pueden acceder a los métodos disponibles.

Servicio Web

Crear remesa

Crea una remesa de uno o varios envíos. Los envíos creados pueden ser de tipo:
 - NOTIFICACION
 - COMUNICACION

Documento de validaciones

  DatosRemesa datosRemesa = new DatosRemesa();
  datosRemesa.setTipo(TipoEnvioEnum.NOTIFICACION);
  datosRemesa.setUrlCallbackEnvio("http://localhost:8081/estafetatest/test");

  ProcedimientoUnidadGestora procedimientoUnidadGestora = new ProcedimientoUnidadGestora();
  procedimientoUnidadGestora.setCodigoGC(524L);
  procedimientoUnidadGestora.setUnidadGestora("06180003000000");
  datosRemesa.setProcedimientoUnidadGestora(procedimientoUnidadGestora);

La programación de los envíos de la remesa puede realizarse de dos formas, bien indicando el número de días que estarán disponibles
los envíos en carpeta ciudadana antes de caducar, o bien indicando las fechas de puesta a disposición y de expiración.

 datosRemesa.setProgramacionEnvio(10);

 ProgramacionEnvio programacionEnvio = new ProgramacionEnvio();
 programacionEnvio.setFechaEnvioProgramado(new Date());
 programacionEnvio.setFechaExpiracionEnvio(new Date());
 datosRemesa.setProgramacionEnvio(programacionEnvio);

De manera opcional se puede configurar la remesa para que los documentos incluidos en ella se envíen a Portafirmas y a registro.

 ConfiguracionFirma configuracionFirma = new ConfiguracionFirma();
 configuracionFirma.setVistoBueno("00000000T");
 configuracionFirma.setFirmante("00000000T");
 configuracionFirma.setAsunto("Asunto enviado a portafirmas");
 configuracionFirma.setTexto("Texto enviado a portafirmas");
 datosRemesa.setConfiguracionFirma(configuracionFirma);

 datosRemesa.setRegistro(true);

Cada envío es posible enviarlo por medio ELECTRONICO, ELECTRONICO_POSTAL o POSTAL siendo necesario para el envío postal incluir
entre los destinatarios un único destinatario con dirección postal.
Ademas, entre los destinatarios de un envío debe haber un único INTERESADO.

 ListaEnvios listaEnvios = new ListaEnvios();
 List<Envio> envios = new ArrayList<>();

 Envio envio = new Envio();
 envio.setMedio(MedioEnvioEnum.ELECTRONICO_POSTAL);
 envio.setIdentificadorEnvio("001");
 envio.setConcepto("Concepto de la notificación/comunicación");

 ListaDestinatarios listaDestinatarios = new ListaDestinatarios();
 List<Persona> destinatarios = new ArrayList<>();

 Persona destinatario = new Persona();
 destinatario.setMedio(MedioEnvioDestinatarioEnum.ELECTRONICO_POSTAL);
 destinatario.setTipo(TipoDestinatarioEnum.INTERESADO);
 destinatario.setNombre("Juan");
 destinatario.setApellido1("Cámara");
 destinatario.setApellido2("Español");
 destinatario.setIdentificacion("00000000T");

 DatosEnvioElectronico datosEnvioElectronico = new DatosEnvioElectronico();
 datosEnvioElectronico.setEmail("jcamara@cic.es");
 datosEnvioElectronico.setTelefono(666777888L);

 DatosDireccionPostal datosDireccionPostal = new DatosDireccionPostal();
 datosDireccionPostal.setCodigoTipoVia("CALLE");
 datosDireccionPostal.setNombreVia("Nombre Via");
 datosDireccionPostal.setNumero("1");
 datosDireccionPostal.setBloque("A");
 datosDireccionPostal.setPortal("1");
 datosDireccionPostal.setEscalera("B");
 datosDireccionPostal.setPiso("1");
 datosDireccionPostal.setPuerta("1");
 datosDireccionPostal.setPais("ESP");
 datosDireccionPostal.setProvincia("Cantabria");
 datosDireccionPostal.setLocalidad("Santander");
 datosDireccionPostal.setCodigoPostal("39001");
 destinatario.setDatosDireccionPostal(datosDireccionPostal);

 destinatarios.add(destinatario);
 listaDestinatarios.setDestinatarios(destinatarios);
 envio.setDestinatarios(listaDestinatarios);

 envios.add(envio);
 listaEnvios.setEnvios(envios);

Los documentos pueden ser informados de dos formas:
- Incluyendo el documento en la remesa, de esta forma todos los envíos contendrán el mismo documentos asociado
- Incluyendo un documento diferente en cada envío

 DocumentoReferencia documentoReferencia = new DocumentoReferencia();
 documentoReferencia.setUuid("709f1522-a314-451e-6570-8bdc597a0b71");
 documentoReferencia.setFechaAltaAlfresco(1580132546321L);

 datosRemesa.setDocumentoReferencia(documentoReferencia);
 
 envio.setDocumentoReferencia(documentoReferencia);

Una vez completados los datos de la remesa se invocara el metodo createRemesa del servicio.

 PeticionRemesa peticionRemesa = new PeticionRemesa();
 peticionRemesa.setDatosRemesa(datosRemesa);
 peticionRemesa.setListaEnviosWSBean(listaEnvios);

 RespuestaCreateRemesa respuesta = getAmapEstafeta().createRemesa(username_usu_gob, peticionRemesa);

Consultar estado de envío

Devuelve el estado actual del envío asociado al identificador de envío y de remesa proporcionado.

  PeticionEstadoEnvio peticionEstadoEnvio = new PeticionEstadoEnvio();

  peticionEstadoEnvio.setIdentificadorEnvio("001");
  peticionEstadoEnvio.setIdRemesa("7");

  Auditoria auditoria = new Auditoria();
  auditoria.setUsuario("AMAP-ESTAFETA");
  auditoria.setVersionCliente("");

  peticionEstadoEnvio.setAuditoria(auditoria);

  RespuestaEstado respuesta = getAmapEstafeta().getEstadoEnvio(username_usu_gob, peticionEstadoEnvio);

  

Consultar acuse electrónico

Devuelve el acuse electrónico del envío para su descarga.

  PeticionAcuseElectronico peticion = new PeticionAcuseElectronico();

  peticion.setIdRemesa("7");
  peticion.setIdentificadorEnvio("001");

  Acuse response = getAmapEstafeta().getAcuseElectronico(username_usu_gob, peticion);
  

Consultar acuse postal

Devuelve el acuse postal del envío para su descarga.

  PeticionAcusePostal peticion = new PeticionAcusePostal();

  peticion.setIdRemesa("7");
  peticion.setIdentificadorEnvio("001");

  Acuse response = getAmapEstafeta().getAcusePostal(username_usu_gob, peticion);
  

Consultar procedimientos de un usuario

Devuelve los procedimientos disponibles del usuario indicado en la llamada.

  PeticionProcedimientosUsuario peticion = new PeticionProcedimientosUsuario();

  peticion.setUsername("username");

  RespuestaProcedimientos response = getAmapEstafeta().getProcedimientosUsuario(username_usu_gob, peticion);
  

Consultar visibilidad de un usuario

Devuelve si el usuario tiene visibilidad para el código GC indicado en la llamada.

  PeticionVisibilidad peticion = new PeticionVisibilidad();

  peticion.setUsername("username");
  peticion.setCodigoGC(31L);

  RespuestaVisibilidadModel response = getAmapEstafeta().getVisibilidad(username_usu_gob, peticion);
  

Consultar acuse postal binario

Devuelve el binario del acuse postal

  PeticionAcusePostalBinario peticion = new PeticionAcusePostalBinario();
  peticion.setIdRemesa("582");
  peticion.setIdentificadorEnvio("NE80115321031600000001K");

  AcuseBinario response = getAmapEstafeta().getAcusePostalBinario(username_usu_gob, peticion);
  

Consultar acuse electrónico binario

Devuelve el binario del acuse electrónico

  PeticionAcusePostalBinario peticion = new PeticionAcusePostalBinario();
  peticion.setIdRemesa("582");
  peticion.setIdentificadorEnvio("55160235ba4a01530fe0");

  AcuseBinario response = getAmapEstafeta().getAcuseElectronicoBinario(username_usu_gob, peticion);
  

Consultar documento notificado

Devuelve el documento notificado del envío para su descarga.

  PeticionDocumentoNotificadopeticion = new PeticionDocumentoNotificado();

  peticion.setIdRemesa("7");
  peticion.setIdentificadorEnvio("001");

  Acuse response = getAmapEstafeta().getDocumentoNotificado(username_usu_gob, peticion);
  

Consultar documento notificado binario

Devuelve el binario del documento notificado

  PeticionDocumentoNotificadoBinario peticion = new PeticionDocumentoNotificadoBinario();
  peticion.setIdRemesa("582");
  peticion.setIdentificadorEnvio("55160235ba4a01530fe0");

  AcuseBinario response = getAmapEstafeta().getDocumentoNotificadoBinario(username_usu_gob, peticion);
  
© 2014 GOBIERNO DE CANTABRIA - AVISO LEGAL Y PROTECCIÓN DE DATOS