Hi there,
I’m using this api https://cyberpanel.docs.apiary.io but can’t see that, would you help me about that?
In addition, the api login is failing: string(67) “{“error_message”: “"u’username’"”, “userID”: 0, “loginStatus”: 0}”
Thanks!
p/s: sorry for my English
@wordpressuser
What kind of payload are you sending to the api end point?
User and pass of user (not admin)
p/s: How can I set default “Website limit = 0” for every new user register?
My code for check login :
class WP_Cyber_Panel{
//Server credentials
protected $cyberpanel_hostname = '';
protected $admin_user = '';
protected $admin_pass = '';
public function __construct($hostname, $username, $password){
$this->cyberpanel_hostname = $hostname;
$this->admin_user = $username;
$this->admin_pass = $password;
}
// curl function
private function curl_result($action, $postdata){
$postdata = json_encode($postdata);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://" . $this->cyberpanel_hostname . ":8090/api/" . $action);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
return curl_exec($ch);
}
// Login as User (ERROR)
// {
// "loginStatus": "1",
// "error_message": "Error if any.",
// }
public function user_login($username, $password){
$action = 'loginAPI';
$postdata = array(
'username' => $username,
'password' => $password
);
return $this->curl_result($action, $postdata);
}
// Some other function
}
$cyberpanel = new WP_Cyber_Panel('ip_of_server', 'admin_name', 'admin_pass');
echo 'pre';
var_dump( $cyberpanel->user_login('user_name', 'user_pass') );
echo 'pre';
That specific function does not take json encoded data, rest of them take json, lets take an example of verifyConn
<?php
class WP_Cyber_Panel{
//Server credentials
protected $cyberpanel_hostname = '';
protected $admin_user = '';
protected $admin_pass = '';
public function __construct($hostname, $username, $password){
$this->cyberpanel_hostname = $hostname;
$this->admin_user = $username;
$this->admin_pass = $password;
}
// curl function
private function curl_result($action, $postdata){
$postdata = json_encode($postdata);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://" . $this->cyberpanel_hostname . ":8090/api/" . $action);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
return curl_exec($ch);
}
// Login as User (ERROR)
// {
// "loginStatus": "1",
// "error_message": "Error if any.",
// }
public function user_login($username, $password){
$action = 'loginAPI';
$postdata = array(
'username' => $username,
'password' => $password
);
return $this->curl_result($action, $postdata);
}
public function verify_login(){
$action = 'verifyConn';
$postdata = array(
'adminUser' => $this->admin_user,
'adminPass' => $this->admin_user
);
return $this->curl_result($action, $postdata);
}
// Some other function
}
$cyberpanel = new WP_Cyber_Panel('ip', 'user', 'pass');
echo 'pre';
var_dump( $cyberpanel->verify_login() );
echo 'pre';
?>
Thanks, and what about set “Website limit = 0” for every new user register as default?
New user is created with “user” acl. So they cant create sites, does not matter what limit is set.
I mean, still admin creates a site for the customer, but each customer has many sites different . Actually, just setting websie limit = 0 (unlimited number of sites for user) is fine at CyberPanel, but I want to control via api, currently api does not support this, so I want to set websie limit = 0 as the default, in the first time create user . So admin then can create multiple sites for each user via api without logging in.
May you help me how can do this?
Many thanks!
in /api/createWebsite
I can add option to supply website limit if you want. As this is where user is created.
I wait for the next version with more api. Thanks!
@wordpressuser
I’ve added another option to this call → CyberPanel API · Apiary
parameter name is websitesLimit
. If you don’t set this value, default will be 1. This value will appear in v1.9.2.
Thanks, and a few changes to User home page that I think are great.
jobayer
October 29, 2019, 10:39am
12
@CyberPanel
please add option to select acl during user creation via api. for example we want to create user with different acl not using ‘user’
gofast
November 9, 2019, 4:26pm
13
@CyberPanel I believe this wasnt added to API yet? I am trying with 1.9.2 unfortunately its not working. Tried with Python, curl, PHP wasnt successful with any.
Zalcig
May 30, 2020, 1:53am
14
@CyberPanel Are there any future plans on API to add ACL parameter while website creation?