Accediendo a la API desde PHP

Requerimientos

La clase WSAccess

La clase WSAccess permite establecer la conexión con el servidor Cube Panel y obtener las credenciales de otros usuarios. El constructor de la clase tiene la siguiente definición:

WSAccess(user_name, password, host, port, id_language)

El usuario que se indique en el constructor de la función es el que determinará los máximos privilegios aplicables en la invocación de los servicios web. Si se proporciona el usuario "admin", se podrá invocar a cualquier servicio web con cualquier cliente o dominio. Si se indica un usuario de tipo cliente, sólo se podrán realizar acciones sobre el propio cliente y sus dominios.

Obteniendo los credenciales de un usuario

Antes de invocar a un servicios web, es necesario obtener los credenciales del usuario con el que se quiere invocar al servicio web. Para ello, la clase WSAccess tiene el método getUser que obtiene una instancia de un objeto WSUser necesario para invocar a los servicios web. La función tiene la siguiente definición:

WSUser getUser(effective_user)

El parámetro effective_user corresponde al nombre de usuario del que se quieren obtener los credenciales de acceso.

Invocando a los servicios web

Mediante el objeto WSUser se puede invocar a cualquier servicio web con el método execute:

mixed execute(method_name, params)

Ejemplo de invocación a un servicio Web

El siguiente ejemplo muestra cómo invocar a los servicios web como administrador y como cliente:

                
                // Init access object
                $access = new WSAccess('admin', 'admin_pass', 'server', 25112);                
                // Get admin user
                $admin_user = $access->getUser('admin');
                // Get one client user
                $client_user = $access->getUser('client1');
                // Get one domain user
                $domain_user = $access->getUser('domain-cubews.com');
                // Get server client list
                $clients_list = $admin_user->execute('ADMINCLIENTS_getClients',array());
                // Get server domain list
                $domains_list = $client_user->execute('DOMAINS_getDomains',array());
                // Get ftp accounts of domain-cubews.com
                $ftp_accounts = $domain_user->execute('FTP_listUsers',array());