Este servicio recibe el token y genera los elementos que componen la consulta de saldos:
- ID saldo cliente
- ID cliente usuario
- Saldo timbres
- Timbres utilizados
- Fecha de expiracion
- Ilimitado
- Timbres asignados
Ruta
|
Operación
|
Descripción
|
---|---|---|
/account/balance
|
GET | Ruta para consulta de saldo. |
Paso 1: Obtener token de acceso, o en su defecto usar token infinito
Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.
Paso 2: Enviar token de acceso
Se envía el token para realizar la consulta de saldo.
HTTP Request
1 2 3 4 5 |
GET /account/balance HTTP/1.1 Host: services.test.sw.com.mx authorization: bearer T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo Content-Type: application/json Cache-Control: no-cache |
HTTP Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Request URL:http://services.test.sw.com.mx/account/balance Request Method:GET Status Code:200 OK Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade { "data": { "idSaldoCliente": "126eac70-425d-4493-87af-93505bfca746", "idClienteUsuario": "05f731af-4c94-4d6e-aa87-7b19a16ff891", "saldoTimbres": 995026340, "timbresUtilizados": 1895963, "fechaExpiracion": "0001-01-01T00:00:00", "unlimited": false, "timbresAsignados": 0 }, "status": "success" } |
Consultar saldo con las librerias
‘ tab_head_2=’Java’ tab_content_2=’
Ir al Repositorio de Java en GitHub
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
[java] package sample_test; import Services.BalanceAccount.SWBalanceAccountService; import Utils.Responses.BalanceAcctResponse; public class Sample_test { public static void main(String args) { String token = "T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo"; try { //Ejemplo de consultar saldo utilizando la librería sw-java ( https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22SW-JAVA%22 ) //Es preferible inicializar el objeto con el usuario y password de nuestra cuenta, en caso contrario se puede incluir solamente el token de acceso //Se especifica el base path, esto para consumir el api de pruebas o productivo //SWCancelationService app = new SWCancelationService("demo","123456789",Utils.url_pruebas); SWBalanceAccountService app = new SWBalanceAccountService(token, "http://services.test.sw.com.mx"); //Se inicializa un objeto response, que obtendra la respuesta del api BalanceAcctResponse response = null; //Se ejecuta el metodo "GetBalanceAccount", que generará los datos requeridos response = (BalanceAcctResponse) app.GetBalanceAccount(); //El objeto response tendra así los atributos: //Status: estado de la petición procesada, puede ser : "success", "fail", "error" //HttpStatusCode: Codigo de respuesta HTTP del servidor: eg. 200, 400, 500 //idSaldoCliente,idClienteUsuario,saldoTimbres,timbresUtilizados,fechaExpiracion,unlimited y timbresAsignados System.out.println(response.Status); System.out.println(response.HttpStatusCode); System.out.println(response.idSaldoCliente); System.out.println(response.idClienteUsuario); System.out.println(response.saldoTimbres); System.out.println(response.timbresUtilizados); System.out.println(response.fechaExpiracion); System.out.println(response.unlimited); System.out.println(response.timbresAsignados); // En caso de error, se pueden visualizar los campos message y/o messageDetail System.out.println(response.message); System.out.println(response.messageDetail); } catch (Exception e) { //En caso de obtener estatus "fail", "error" //Se generara una excepción System.out.println(e.getMessage()); } } } [/java] |
‘ tab_head_3=’PHP’ tab_content_3=’
Ir al Repositorio de PHP en GitHub
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
[php] <?php require_once "vendor/autoload.php"; use SWServices\\AccountBalance\\AccountBalanceService as AccountBalanceService; //agregamos el servicio de consulta de saldos $params = array( "url"=> "services.test.sw.com.mx", "token"=> "T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo", ); try { $accountBalance = AccountBalanceService::Set($params); //asignamos los parámetros $result = $accountBalance::GetAccountBalance(); //obtenemos el valor //Para Obtener el idSaldoCliente $result->data->idSaldoCliente; //Para Obtener el idClienteUsuario $result->data->idClienteUsuario; //Para Obtener el saldo Timbres $result->data->saldoTimbres; //Para Obtenerlos timbres Utilizados $result->data->timbresUtilizados; //Para Obtener la fechaExpiracion $result->data->fechaExpiracion; //Para Obtener si es Ilimitado $result->data->unlimited; //Para Obtener los timbres Asignados $result->data->timbresAsignados; //En caso de error, se pueden visualizar los campos message y/o messageDetail $result->message; $result->messageDetail; } catch(Exception $e) { //en caso de obtener una excepción echo "Caught exception: ", $e->getMessage(), "\n"; } ?> [/php] |
‘ tab_head_4=’Node.js’ tab_content_4=’
Ir al Repositorio de Node.js en GitHub
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
[javascript] const AccountBalanceService = require("sw-sdk-nodejs").AccountBalance; //agregamos el servicio var params = { url: "services.test.sw.com.mx", token: "T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo", }; var callback = (err, result) => { //creamos un callback if(err) { console.log(err) } else { console.log(result); //Para Obtener el idSaldoCliente result.data.idSaldoCliente; //Para Obtener el idClienteUsuario result.data.idClienteUsuario; //Para Obtener el saldo Timbres result.data.saldoTimbres; //Para Obtenerlos timbres Utilizados result.data.timbresUtilizados; //Para Obtener la fechaExpiracion result.data.fechaExpiracion; //Para Obtener si es Ilimitado result.data.unlimited; //Para Obtener los timbres Asignados result.data.timbresAsignados; } }; var accountBalance = AccountBalanceService.Set(params); //asignamos los parámetros accountBalance.GetAccountBalance(callback); //obtenemos la consulta de saldos [/javascript] |
‘ id=”” class=”” style=””]
Respuestas de consulta de saldo
El response de consulta de saldo retorna la siguiente estructura en caso de error o en caso de petición satisfactoria:
Respuesta exitosa
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "data": { "idSaldoCliente": "126eac70-425d-4493-87af-93505bfca746", "idClienteUsuario": "05f731af-4c94-4d6e-aa87-7b19a16ff891", "saldoTimbres": 995026340, "timbresUtilizados": 1895963, "fechaExpiracion": "0001-01-01T00:00:00", "unlimited": false, "timbresAsignados": 0 }, "status": "success" } |
En este caso se recibe un mensaje JSON, el cual contiene los siguientes datos:
- idSaldoCliente: Id del registro.
- idClienteUsuario: Id del usuario.
- saldoTimbres: saldo de los timbres.
- timbresUtilizados: timbres utilizados.
- fechaExpiracion: fecha de expiración.
- unlimited: En caso de que sea verdadero la forma de validar el saldo depende del numero de timbres que tenga el distribuidor. En caso de verdadero le descontará los timbres al distribuidor.
- timbresAsignados: timbres asignados.
Respuesta no exitosa
1 2 3 4 |
{ "message": "Parámetros incompletos", "status": "error" } |
Para realizar la integración con nuestros servicios recomendamos utilizar POSTMAN , facilita las pruebas previas a la codificación.
Puedes importar el archivo POSTMAN-collection que proporcionamos al final del articulo para su descarga en POSTMAN para que puedas realizar pruebas funcionales de nuestro servicio.