io.github.carlosthe19916.webservices.managers.BillServiceManager Maven / Gradle / Ivy
package io.github.carlosthe19916.webservices.managers;
import io.github.carlosthe19916.webservices.wrappers.BillServiceWrapper;
import io.github.carlosthe19916.webservices.wrappers.ServiceConfig;
import jodd.io.ZipBuilder;
import service.sunat.gob.pe.billservice.StatusResponse;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class BillServiceManager {
private BillServiceManager() {
// Just static methods
}
/**
* @param file archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static byte[] sendBill(File file, String url, String username, String password) throws IOException {
return sendBill(file.toPath(), url, username, password);
}
/**
* @param path ubicacion del archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static byte[] sendBill(Path path, String url, String username, String password) throws IOException {
return sendBill(path.getFileName().toString(), Files.readAllBytes(path), url, username, password);
}
/**
* @param fileName nombre del archivo a ser enviado. Si el archivo es un xml, este sera comprimido en un archivo .zip automaticamente
* @param file archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static byte[] sendBill(String fileName, byte[] file, String url, String username, String password) throws IOException {
if (fileName.endsWith(".xml")) {
file = ZipBuilder.createZipInMemory()
.add(file)
.path(fileName)
.save()
.toBytes();
fileName = fileName.substring(0, fileName.lastIndexOf(".")) + ".zip";
}
ServiceConfig config = new ServiceConfig.Builder()
.url(url)
.username(username)
.password(password)
.build();
return BillServiceWrapper.sendBill(config, fileName, file, null);
}
/**
* @param ticket numero de ticket a ser consultado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static StatusResponse getStatus(String ticket, String url, String username, String password) {
ServiceConfig config = new ServiceConfig.Builder()
.url(url)
.username(username)
.password(password)
.build();
return BillServiceWrapper.getStatus(config, ticket);
}
/**
* @param file archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static String sendSummary(File file, String url, String username, String password) throws IOException {
return sendSummary(file.toPath(), url, username, password);
}
/**
* @param path ubicacion del archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static String sendSummary(Path path, String url, String username, String password) throws IOException {
return sendSummary(path.getFileName().toString(), Files.readAllBytes(path), url, username, password);
}
/**
* @param fileName nombre del archivo a ser enviado. Si el archivo es un xml, este sera comprimido en un archivo .zip automaticamente
* @param file archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static String sendSummary(String fileName, byte[] file, String url, String username, String password) throws IOException {
if (fileName.endsWith(".xml")) {
file = ZipBuilder.createZipInMemory()
.add(file)
.path(fileName)
.save()
.toBytes();
fileName = fileName.substring(0, fileName.lastIndexOf(".")) + ".zip";
}
ServiceConfig config = new ServiceConfig.Builder()
.url(url)
.username(username)
.password(password)
.build();
return BillServiceWrapper.sendSummary(config, fileName, file, null);
}
/**
* @param file archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static String sendPack(File file, String url, String username, String password) throws IOException {
return sendPack(file.toPath(), url, username, password);
}
/**
* @param path ubicacion del archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static String sendPack(Path path, String url, String username, String password) throws IOException {
return sendPack(path.getFileName().toString(), Files.readAllBytes(path), url, username, password);
}
/**
* @param fileName nombre del archivo a ser enviado. El archivo deberá ser un archivo .zip
* @param file archivo a ser enviado
* @param url endpoint al cual será enviado el archivo
* @param username usuario SUNAT conformado por: RUC + USUARIO SOL
* @param password password de la clave sol
*/
public static String sendPack(String fileName, byte[] file, String url, String username, String password) {
ServiceConfig config = new ServiceConfig.Builder()
.url(url)
.username(username)
.password(password)
.build();
return BillServiceWrapper.sendPack(config, fileName, file, null);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy