Consultar Saldo

 


Ruta
Operación
Descripción
/account/balance
GET Ruta para consulta de saldo.

 

Los servicios de consultas de saldo son servicios REST.


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

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

 

HTTP Response

 

Consultar saldo con las librerias


Ir al Repositorio de C# en GitHub

using System;
using System.IO;
using System.Text;
using SW.Helpers;
using SW.Services.BalanceAccount;

namespace ExampleSDK
{
    class Program
    {
        static void Main()
        {
            try
            {
                //Creamos una instancia de tipo BalanceAccount A esta le pasamos la Url, Usuario y Contraseña para obtener el token
                //Automaticamente despues de obtenerlo se procedera a consultar el saldo
                BalanceAccount account = new BalanceAccount("http://services.test.sw.com.mx", "demo", "123456789");
                AccountResponse response = account.ConsultarSaldo();
              
                //Para Obtener el idSaldoCliente
                response.Data.idSaldoCliente;
                //Para Obtener el idClienteUsuario
                response.Data.idClienteUsuario;
                //Para Obtener el saldo Timbres
                response.Data.saldoTimbres;
                //Para Obtenerlos timbres Utilizados
                response.Data.timbresUtilizados;
                //Para Obtener la fechaExpiracion
                response.Data.fechaExpiracion;
                //Para Obtener si es Ilimitado
                response.Data.unlimited;
                //Para Obtener los timbres Asignados
                response.Data.timbresAsignados;
                
                //En caso de error, se pueden visualizar los campos message y/o messageDetail
                response.message;
                response.messageDetail;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}


Ir al Repositorio de Java en GitHub

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());
        }
    }
}


Ir al Repositorio de PHP en GitHub

<?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(), "
";
	}
?>


Ir al Repositorio de Node.js en GitHub

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

 

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:

Tipos de respuesta

En caso de una respuesta exitosa, se regresará un 200. En caso de una respuesta no exitosa, se regresará un código diferente de 200, el código puede variar dependiendo del problema dado.

Respuesta exitosa

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

 

Updated on julio 31, 2017

Was this article helpful?