package com.ejie.ad74a.service.interoperabilidad;

import java.io.File;
import java.io.IOException;

import com.ejie.ad74a.exceptions.Ad74aWebserviceException;
import com.ejie.ad74a.model.NotifPostales;

/**
 * Servicio que engloba la integracion con la pasarela de notificaciones AA66.
 * 
 * @author ¿?, JBHG
 */

public interface RemesasService {

	/**
	 * Se valida el codigo postal
	 * 
	 * @param codigoPostal String
	 * @return boolean true si es valido, false si no es valido
	 */
	boolean validarCodigoPostal(String codigoPostal);

	/**
	 * Recupera los datos de situación de una notificación en AA66.
	 * 
	 * @param notifPostales
	 * @return Devuelve el mismo objerto con los datos de la situación actualizados
	 * @throws Ad74aWebserviceException
	 * @author jbhg
	 */
	NotifPostales obtenerSituacionEnvio(NotifPostales notifPostales) throws Ad74aWebserviceException;

	/**
	 * Obtiene el pdf de la prueba de entrega de una notificación
	 * 
	 * @param notifPostales
	 * @return Fichero temporal que deberia borrarse una vez se haya leido
	 * @throws IOException
	 * @author jbhg
	 */
	File obtenerPruebaEntregaEnvio(NotifPostales notifPostales) throws IOException;

}
