diff --git a/README.md b/README.md
index 3f6f4c1..9571277 100644
--- a/README.md
+++ b/README.md
@@ -1115,7 +1115,6 @@ public class App {
//A esta le pasamos la UrlApi y el token de la cuenta a consultar
AccountBalance account = new AccountBalance("https://api.test.sw.com.mx", "token", null, 0);
- AccountBalanceResponse res = account.getBalance();
AccountBalanceResponse response = account.getBalance();
System.out.println("Estado: " + response.getStatus());
System.out.println("ID Usuario: " + response.getData().getIdUser());
@@ -1161,6 +1160,73 @@ public class App {
```
+
+
+Consultar saldo por Id de la subcuenta
+
+Este metodo permite revisar el detalle de los timbres disponibles en una subcuenta filtrando por ID.
+
+
+**Ejemplo de consumo de la libreria para consultar el saldo por Id mediante token**
+```java
+import mx.com.sw.services.account.balance.AccountBalance;
+import mx.com.sw.services.account.balance.responses.AccountBalanceResponse;
+
+public class App {
+
+ public static void main(String[] args)
+ {
+ try
+ {
+ //Creamos una instancia de tipo BalanceAccount
+ //A esta le pasamos la UrlApi, el token de la cuenta administradora y el ID de la subcuenta a consultar
+
+ AccountBalance account = new AccountBalance("https://api.test.sw.com.mx", "token", null, 0);
+ AccountBalanceResponse response = account.getBalanceById(UUID.fromString("fafb2ac2-62ca-49f8-91de-14cea73b01eb"));
+ System.out.println("Estado: " + response.getStatus());
+ System.out.println("ID Usuario: " + response.getData().getIdUser());
+ System.out.println("ID Balance Usuario: " + response.getData().getIdUserBalance());
+ System.out.println("Stamps Asignados: " + response.getData().getStampsAssigned());
+ System.out.println("Stamps Usados: " + response.getData().getStampsUsed());
+ System.out.println("Saldo Stamps: " + response.getData().getStampsBalance());
+ System.out.println("Es Ilimitado: " + response.getData().isUnlimited());
+ System.out.println("Fecha Expiración: " + response.getData().getExpirationDate());
+ if (response.getData().getLastTransaction() != null) {
+ System.out.println("Folio: " + response.getData().getLastTransaction().getFolio());
+ System.out.println("ID Usuario: " + response.getData().getLastTransaction().getIdUser());
+ System.out
+ .println("ID Usuario Receptor: " + response.getData().getLastTransaction().getIdUserReceiver());
+ System.out.println("Nombre Receptor: " + response.getData().getLastTransaction().getNameReceiver());
+ System.out.println("Stamps In: "
+ + (response.getData().getLastTransaction().getStampsIn() != null
+ ? response.getData().getLastTransaction().getStampsIn()
+ : "null"));
+ System.out.println("Stamps Out: "
+ + (response.getData().getLastTransaction().getStampsOut() != null
+ ? response.getData().getLastTransaction().getStampsOut()
+ : "null"));
+ System.out.println("Stamps Current: "
+ + (response.getData().getLastTransaction().getStampsCurrent() != null
+ ? response.getData().getLastTransaction().getStampsCurrent()
+ : "null"));
+ System.out.println("Comentario: " + response.getData().getLastTransaction().getComment());
+ System.out.println("Fecha: " + response.getData().getLastTransaction().getDate());
+ System.out.println("Email Enviado: " +
+ (response.getData().getLastTransaction().isEmailSent() ? "Sí" : "No"));
+
+ } else {
+ System.out.println("No hay transacción registrada.");
+ }
+ }
+ catch (Exception e)
+ {
+ System.out.println(e);
+ }
+ }
+}
+```
+
+
Añadir saldo
diff --git a/pom.xml b/pom.xml
index 625525d..f1b8e58 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
mx.com.sw
sdk-java18
- 0.0.19.1
+ 0.0.20.1
jar
1.8
diff --git a/src/main/java/mx/com/sw/services/account/balance/AccountBalance.java b/src/main/java/mx/com/sw/services/account/balance/AccountBalance.java
index 0e7cefc..20dc203 100644
--- a/src/main/java/mx/com/sw/services/account/balance/AccountBalance.java
+++ b/src/main/java/mx/com/sw/services/account/balance/AccountBalance.java
@@ -19,6 +19,7 @@ public class AccountBalance extends AccountBalanceService {
// Rutas de API para operaciones de saldo.
private static final String MANAGEMENT_API_BALANCE_PATH = "management/v2/api/dealers/users/";
private static final String SERVICE_BALANCE_PATH = "management/v2/api/users/balance";
+ private static final String SERVICE_BALANCE_ID_PATH = "management/v2/api/dealers/balance/users/";
// Manejadores de respuesta para consultas y acciones.
private final AccountBalanceResponseHandler handler;
@@ -96,7 +97,7 @@ public AccountBalanceActionResponse removeStamps(UUID idUser, int stamps, String
public AccountBalanceResponse getBalanceById(UUID idUser) throws ServicesException {
Map headers = getHeaders(); // Obtener encabezados.
RequestConfig config = GeneralHelpers.setProxyAndTimeOut(getProxy(), getProxyPort()); // Configurar proxy.
- String path = String.format(MANAGEMENT_API_BALANCE_PATH, idUser.toString()); // Ruta del usuario.
+ String path = SERVICE_BALANCE_ID_PATH + idUser.toString();
// Consultar saldo.
return handler.getHTTP(getUrlapi() == null ? getUrl() : getUrlapi(), path, headers, config, AccountBalanceResponse.class);
diff --git a/src/test/java/mx/com/sw/services/account/balance/AccountBalanceTest.java b/src/test/java/mx/com/sw/services/account/balance/AccountBalanceTest.java
index b474ce0..814db53 100644
--- a/src/test/java/mx/com/sw/services/account/balance/AccountBalanceTest.java
+++ b/src/test/java/mx/com/sw/services/account/balance/AccountBalanceTest.java
@@ -27,7 +27,7 @@ public AccountBalanceTest() {
}
/**
- * Método de UT con usuario y password.
+ * Método de consulta saldo con usuario y password.
*/
@Test
public void testGetBalance() {
@@ -112,6 +112,76 @@ public void testGetBalanceBadToken() {
}
}
+ /**
+ * Método de UT consultar saldo por ID con usuario y password.
+ */
+ @Test
+ public void testGetBalanceById() {
+ try {
+ AccountBalance account = new AccountBalance(settings.getUrlSW(), settings.getUrlServicesSW(),
+ settings.getUserSW(),
+ settings.getPasswordSW(), null, 0);
+ AccountBalanceResponse res = account.getBalanceById(UUID.fromString("fafb2ac2-62ca-49f8-91de-14cea73b01eb"));
+ Assertions.assertNotNull(res);
+ Assertions.assertTrue("success".equals(res.getStatus()));
+ Assertions.assertNotNull(res.getData());
+ Assertions.assertNotNull(res.getData().getStampsBalance() > 0);
+ } catch (ServicesException ex) {
+ Assertions.assertNotNull(ex);
+ }
+ }
+
+ /**
+ * Método de UT consultar saldo por ID con token.
+ */
+ @Test
+ public void testGetBalanceByIdToken() {
+ try {
+ AccountBalance account = new AccountBalance(settings.getUrlServicesSW(), settings.getTokenSW(), null, 0);
+ AccountBalanceResponse response = account.getBalanceById(UUID.fromString("fafb2ac2-62ca-49f8-91de-14cea73b01eb"));
+ Assertions.assertNotNull(response);
+ Assertions.assertTrue("success".equals(response.getStatus()));
+ Assertions.assertNotNull(response.getData());
+ System.out.println("Estado: " + response.getStatus());
+ System.out.println("ID Usuario: " + response.getData().getIdUser());
+ System.out.println("ID Balance Usuario: " + response.getData().getIdUserBalance());
+ System.out.println("Stamps Asignados: " + response.getData().getStampsAssigned());
+ System.out.println("Stamps Usados: " + response.getData().getStampsUsed());
+ System.out.println("Saldo Stamps: " + response.getData().getStampsBalance());
+ System.out.println("Es Ilimitado: " + response.getData().isUnlimited());
+ System.out.println("Fecha Expiración: " + response.getData().getExpirationDate());
+ if (response.getData().getLastTransaction() != null) {
+ System.out.println("Folio: " + response.getData().getLastTransaction().getFolio());
+ System.out.println("ID Usuario: " + response.getData().getLastTransaction().getIdUser());
+ System.out
+ .println("ID Usuario Receptor: " + response.getData().getLastTransaction().getIdUserReceiver());
+ System.out.println("Nombre Receptor: " + response.getData().getLastTransaction().getNameReceiver());
+ System.out.println("Stamps In: "
+ + (response.getData().getLastTransaction().getStampsIn() != null
+ ? response.getData().getLastTransaction().getStampsIn()
+ : "null"));
+ System.out.println("Stamps Out: "
+ + (response.getData().getLastTransaction().getStampsOut() != null
+ ? response.getData().getLastTransaction().getStampsOut()
+ : "null"));
+ System.out.println("Stamps Current: "
+ + (response.getData().getLastTransaction().getStampsCurrent() != null
+ ? response.getData().getLastTransaction().getStampsCurrent()
+ : "null"));
+ System.out.println("Comentario: " + response.getData().getLastTransaction().getComment());
+ System.out.println("Fecha: " + response.getData().getLastTransaction().getDate());
+ System.out.println("Email Enviado: " +
+ (response.getData().getLastTransaction().isEmailSent() ? "Sí" : "No"));
+
+ } else {
+ System.out.println("No hay transacción registrada.");
+ }
+
+ } catch (ServicesException ex) {
+ Assertions.assertNotNull(ex);
+ }
+ }
+
/**
* Método de UT AgregarTimbres con token incorrecto.
*/