En esta sección se muestran varios ejemplos de uso de las operaciones del Annual SDK usando los lenguajes C#,PHP, Delphi y JavaScript.
¿Desea ir al menu de Ejemplos? entonces pulse aquí
REQUERIMIENTOS
Importante para poder utilizar las operaciones del Annual SDK es tomar en cuenta la siguiente estrategia:
- La seguridad obliga a utilizar de entrada la operación SEG_LoginSaint. Esta operación solicita dos parámetros:
(a) Código de usuario (string) (b) Clave o Password. Es del tipo LoginModel:public sealed class LoginModel { public string UserLogin { get; set; } public string Password { get; set; } public int UserLang { get; set; } public bool RememberMe { get; set; } public string FBUserId { get; set; } public LoginModel() { this.UserLogin = ""; this.Password = ""; this.FBUserId = ""; } }El resultado es un string JSON que es deserializado en una estructura del tipo SaintResult.
[Serializable] public sealed class SaintResult<T> where T : new() { public int Status; public string Message; public T Data; public SaintResult() { Status = 0; } }Veamos una pieza del código en C# para el consumo de SEG_LoginSaint.
string _jsonResult = ""; _jsonResult = m_SDKClient.SEG_LoginSaint(model.UserLogin,model.Password); _user=JsonConvert.DeserializeObject<SaintResult>UsuarioLoginModel>>(_jsonResult);Session.Add("_token",_user.Message); - Vemos acá que se necesita una instancia de la clase SDKClient (nombrada aquí como m_SDKClient), clase que contiene las operaciones como métodos de la clase. La variable string _jsonResult contendrá el formato JSON de los resultados.
Por ejemplo:


Veamos una pieza del código en PHP para el consumo de SEG_LoginSaint.
/* SEG_LoginSaint */
/*
*$sdk_url: consulta en las configuraciones del plugin en el dashboard, y guarda el url del sdk
*$sdk_user: consulta en las configuraciones del plugin en el dashboard, y guarda el codigo de usuario general del sdk.
*$sdk_user_password: consulta en las configuraciones del plugin en el dashboard, y guarda la clave del usuario general del sdk
*$client = new SoapClient( $sdk_url ) : se instancia el objeto de php que permite el consumo de servicios web SOAP, el parametro *acepta el url del sdk
*/
public function get_token()
{
try
{
$sdk_url = get_option( 'sc_settings' )[ 'sc_sdk_url' ];
$sdk_user = get_option( 'sc_settings' )[ 'sc_sdk_user' ];
$sdk_user_password = get_option( 'sc_settings' )[ 'sc_sdk_user_password' ];
$client = new SoapClient( $sdk_url );
$login = $client->SEG_LoginSaint( array( "idUser" => $sdk_user ,"password" => $sdk_user_password ) );
$token = json_decode( $login->SEG_LoginSaintResult )->Message;
$_SESSION[ 'user_token' ] = $token;
return $token;
}
catch( Exception $e )
{
echo __( 'Error en el servicio:' , 'saintcommerce' ) .
$e->getMessage() . __( 'nro' , 'saintcommerce' ) .
$e->getCode() . __( 'linea' ,'saintcommerce' ) . $e->getLine();"\n";
}
}
Veamos ahora un ejemplo escrito en Delphi:
// ============================================================================================
unit cFrmMain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
// el proxy pas
SaintAdminServer, SaintResult;
type
TFrmMain = class(TForm)
btnLogin: TButton;
Label1: TLabel;
lblUsuario: TLabel;
tbxUser: TEdit;
lblClave: TLabel;
tbxClave: TEdit;
procedure FormCreate(Sender: TObject);
procedure btnLoginClick(Sender: TObject);
private
{ Private declarations }
Server : ISDKAdmin;
public
{ Public declarations }
end;
var
FrmMain: TFrmMain;
implementation
{$R *.dfm}
// ----------------------------------------------------------------------------
procedure TFrmMain.FormCreate(Sender: TObject);
begin
// cargar el webservice
self.Server := GetISDKAdmin();
end;
// ----------------------------------------------------------------------------
procedure TFrmMain.btnLoginClick(Sender: TObject);
var
wsResult : string;
begin
wsResult := '';
if (tbxUser.Text <> '') and (tbxClave.Text <> '') then begin
// invocar el metodo login
wsResult := self.Server.SEG_LoginSaint(tbxUser.Text, tbxClave.Text);
ShowMessage(wsResult);
end else begin
ShowMessage('complete usuario y clave');
end;
end;
end.
Veamos ahora un ejemplo con JQuery (JavaScript):
var dataSoap =
'<?xml version="1.0" encoding="utf-8"?>'+
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">'+
'<soapenv:Header/>'+
'<soapenv:Body>'+
'<tem:SEG_LoginSaint>'+
'<tem:idUser>001</tem:idUser>'+
'<tem:password>12345</tem:password>'+
'</tem:SEG_LoginSaint>'+
'</soapenv:Body>'+
'</soapenv:Envelope>';
$.ajax({
url: 'http://ServerPrueba:9001/SaintAdminServer?wsdl',
dataType: 'xml',
type: "POST",
contentType: "text/xml",
data: dataSoap,
headers: {
SOAPAction: "http://tempuri.org/ISDKAdmin/SEG_LoginSaint",
Operation: "SEG_LoginSaint"
},
success: function (SOAPResponse) {
var result = $.parseJSON($(SOAPResponse.getElementsByTagName("SEG_LoginSaintResult")).text());
console.log(result);
}
});
MENU DE EJEMPLOS
Seleccione el tipo de operación de ejemplo de la lista a continuación:
