Accediendo a la API desde .NET

Requerimientos

Para empezar a usar la librería de acceso a los servicios web de Cube Panel desde .NET, debe realizar las siguientes acciones:

La clase WSUser

Esta clase proporciona acceso al resto de las clases que invocan a los servicios web de Cube Panel. Su constructor tiene la siguiente definición:

WSUser user = new WSUser(user_name, password, server, port, id_language)

Invocando a los servicios web

Una vez obtenida una instancia de la clase WSUser, se pueden consumir directamente los servicios web a través de ésta:

     
                // We create an WSUser instance with admin as invoking user                
                WSUser admin = WSUser("admin","admin_passw","server",25112,1);            
                // And call ADMINCLIENTS_getClients method. It returns a list of clients
                ClientInfo []clients = admin.ADMINCLIENTS_getClients("",null,"");
            

Obteniendo las credenciales de otro usuario

Se pueden obtener otros usuarios a partir de la instancia inicial con el método getUser. Sólo hay que pasar como parámetro el nombre de usuario como en el siguiente ejemplo:

 
                    WSUser client = admin->getUser("testclient");	// Get a client user
                    WSUser domain = client->getUser("testdomain1.com");	// Get a domain user
                    WSUser domain = admin->getUser("testdomain2.com");	// Get another domain user
            

Invocando a los servicios web

Una vez que se dispone de instancia de la clase WSUser con los credenciales necesarios, hay dos maneras de invocar a los servicios web: bien usando los métodos proporcionados por la clase, o bien mediante el método execute.

La opción recomendada es mediante los métodos implementados en la propia clase. Por cada servicio web de la API de Cube Panel se proporciona un método. De todas formas, si prefiere acceder mediante el método execute, esta es su definición:

public object []execute(string method, object []params)

El siguiente ejemplo muestra el modo recomendado de acceder a los servicios web:

     
            using CubeWS;
            class Prueba
            {
                [STAThread]
                static void Main(string[] args)
                {
                
                    // Init access objects
                    WSUser admin = WSUser("admin","123456","hostinglinux.com",25112,0);
                    WSUser client = admin->getUser("client");	// Server administrator
                    WSUser domain = client->getUser("testdomain1.com");	// testdomain1.com must belong to client
                    WSUser domain = admin->getUser("testdomain2.com");	// it also allowed
                    
                    // Get client list (must be called by admin)
                    ClientInfo []cinfo = admin.ADMINCLIENTS_getClients("",null,"");
                    
                    // Get client domains (must be called by a client)
                    DomainInfo []dinfo = client.DOMAINS_getDomains(0,"",null,"");
                    
                    // Get domain FTP accounts (must be called by a domain)
                    FTPUserInfo []ftuser = user.FTP_listUsers("",null,"");
                }
            }