All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mx.emite.sdk.IntegradorAPI Maven / Gradle / Ivy

Go to download

Este kit de consumo provee a los integradores de Apis de Java para construir software que consuma los diferentes servicios web publicados por Emite Facturacion

The newest version!
package mx.emite.sdk;

import java.time.LocalDateTime;

import mx.emite.sdk.clientes.ClienteJson;
import mx.emite.sdk.clientes.operaciones.integradores.Emisores;
import mx.emite.sdk.clientes.operaciones.integradores.EmisoresAlta;
import mx.emite.sdk.clientes.operaciones.integradores.EmisoresCsd;
import mx.emite.sdk.clientes.operaciones.integradores.EmisoresCsdConsulta;
import mx.emite.sdk.clientes.operaciones.integradores.EmisoresDocumentos;
import mx.emite.sdk.clientes.operaciones.integradores.EmisoresEstatus;
import mx.emite.sdk.clientes.operaciones.integradores.EmisoresModificacion;
import mx.emite.sdk.clientes.operaciones.integradores.Sucursales;
import mx.emite.sdk.clientes.operaciones.integradores.SucursalesAlta;
import mx.emite.sdk.clientes.operaciones.integradores.SucursalesModificacion;
import mx.emite.sdk.clientes.operaciones.integradores.SucursalesNombre;
import mx.emite.sdk.clientes.operaciones.integradores.Timbres;
import mx.emite.sdk.clientes.operaciones.integradores.Token;
import mx.emite.sdk.enums.Ambiente;
import mx.emite.sdk.errores.ApiException;
import mx.emite.sdk.errores.I_Api_Errores;
import mx.emite.sdk.scot.request.TokenRequest;
import mx.emite.sdk.scot.response.TokenResponse;


/**
 * @author enrique
 *
 *	IntegradorAPI es la clase principal de consumo de Integradores
 *
 *	
 */
public class IntegradorAPI {

	
	private final ClienteJson cliente;
	
	private final Timbres timbres;
	private final Token token;
	private final Emisores emisores;
	private final Sucursales sucursales;
	private final EmisoresAlta emisoresalta;
	private final EmisoresModificacion emisoresmodificacion;
	private final EmisoresCsd emisorescsd;
	private final EmisoresCsdConsulta emisorescsdconsulta;
	private final EmisoresEstatus emisoresestatus;
	private final SucursalesAlta sucursalesalta;
	private final SucursalesModificacion sucursalesmodificacion;
	private final SucursalesNombre sucursalesnombre;
	private final EmisoresDocumentos emisoresdocumentos;
	
	private String contrasena;
	private String usuario;
	
	private String tokenWs;
	private LocalDateTime expira;
	
	/**
	 * Se crea un objeto de tipo api, mediante el cual se ejecutarán todos los servicios implementados
	 * 
	 * @param ambiente 
	 * 

PRODUCCION

Ambiente productivo

*

PRUEBAS

Ambiente de pruebas

*

LOCAL

Ambiente de uso exclusivo emite

* @see Ambiente * @since 0.0.3 */ public IntegradorAPI(final Ambiente ambiente){ this(ambiente,null,null); } /** * Se crea un objeto de tipo api, incluyendo credenciales * * @param ambiente *

PRODUCCION

Ambiente productivo

*

PRUEBAS

Ambiente de pruebas

*

LOCAL

Ambiente de uso exclusivo emite

* @param usuario usuario de Integrador * @param contrasena contraseña de Integrador * @see Ambiente * @since 0.0.3 */ public IntegradorAPI(final Ambiente ambiente,final String usuario,final String contrasena){ this.cliente=new ClienteJson(ambiente); this.timbres=new Timbres(this.cliente); this.token=new Token(this.cliente); this.emisores=new Emisores(this.cliente); this.sucursales=new Sucursales(this.cliente); this.emisoresalta=new EmisoresAlta(this.cliente); this.emisoresmodificacion=new EmisoresModificacion(this.cliente); this.emisorescsd=new EmisoresCsd(this.cliente); this.emisorescsdconsulta=new EmisoresCsdConsulta(this.cliente); this.emisoresestatus=new EmisoresEstatus(this.cliente); this.sucursalesalta=new SucursalesAlta(this.cliente); this.sucursalesmodificacion=new SucursalesModificacion(this.cliente); this.sucursalesnombre=new SucursalesNombre(this.cliente); this.emisoresdocumentos=new EmisoresDocumentos(this.cliente); this.usuario=usuario; this.contrasena=contrasena; } public String getContrasena() { return contrasena; } public void setContrasena(String contrasena) { this.contrasena = contrasena; } public String getUsuario() { return usuario; } public void setUsuario(String usuario) { this.usuario = usuario; } public String getTokenWs() throws ApiException{ if(this.tokenWs==null||this.expira==null||this.expira.isBefore(LocalDateTime.now())) { if(this.usuario==null || this.contrasena==null) throw new ApiException(I_Api_Errores.SCOT_EMITE_USUARIO_EMISOR_CONTRASENA,"usuario / contrasaña no especificada"); final TokenRequest tr = TokenRequest.builder() .usuario(this.usuario) .contrasena(this.contrasena) .build(); final TokenResponse tokenresp = token.ejecuta(tr); this.tokenWs=tokenresp.getToken(); this.expira=tokenresp.getVigenciaTermino(); } return tokenWs; } /** * Servicio consulta de tarifa y timbres asignados * @return timbres * @since 0.0.3 */ public Timbres timbres(){ return timbres; } /** * Servicio de generación de token para consumo de integrador * @return token * @since 0.0.3 */ public Token token() { return token; } /** * Servicio de consulta de emisores * @return emisores * @since 0.0.4 */ public Emisores emisores() { return emisores; } /** * Servicio de consulta de sucursales * @return sucursales * @since 0.0.4 */ public Sucursales sucursales() { return sucursales; } /** * Servicio de alta / modificación de emisores * @return emisoresalta * @since 0.0.4 */ public EmisoresAlta emisoresalta() { return emisoresalta; } /** * Servicio de carga de CSD * @return emisorescsd * @since 0.0.4 */ public EmisoresCsd emisorescsd() { return emisorescsd; } /** * Servicio de consulta CSD * @return emisorescsdconsulta * @since 0.0.4 */ public EmisoresCsdConsulta emisorescsdconsulta() { return emisorescsdconsulta; } /** * Servicio de consulta de estatus de emisores * @return emisoresestatus * @since 0.0.4 */ public EmisoresEstatus emisoresestatus() { return emisoresestatus; } /** * Servicio de alta de sucursales para emisores de postpago-sucursales * @return sucursalesalta * @since 0.0.4 */ public SucursalesAlta sucursalesalta() { return sucursalesalta; } /** * Servicio de carga de documentación de emisores * @return emisoresdocumentos * @since 0.0.5 */ public EmisoresDocumentos emisoresdocumentos() { return emisoresdocumentos; } /** * Servicio de modificación de emisores * @return emisoresmodificacion * @since 0.0.6 */ public EmisoresModificacion emisoresmodificacion() { return emisoresmodificacion; } /** * Servicio de cambio de nombre a sucursal * @return sucursalesnombre * @since 0.0.6 */ public SucursalesNombre sucursalesnombre() { return sucursalesnombre; } /** * Servicio de modificación de sucursal * @return sucursalesmodificacion * @since 0.0.6 */ public SucursalesModificacion sucursalesmodificacion() { return sucursalesmodificacion; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy