Whmcs 密码api

Whmcs是一款优秀的主机在线销售系统。虽然是使用php开发的,但是由于是商业软件,它使用ioncube对所有的php代码进行了加密。这样一来就无法在原有的代码基础上直接进行二次开发。

不过Whmcs开发人员为开发者预留了大量的API接口,可以很方便的进行功能扩展和定制http://docs.whmcs.com/API。这些接口可以通过两种方式进行调用。一种是php程序在whmcs目录内直接传递参数来调用localAPI函数,适宜于为whmcs开发各种模块或者hook;另外一种是通过web service方式,使用http接口来传递参数调用http://yourdomain(host)/includes/api.php,这种方式适宜于不同系统之间的集成。如果使用web service接口,还有一个好处就是可以使用各种开发语言。

以下是一个使用内部方式来调用API的例子。

<?php
/***********************
这个代码可以用于解密whmcs内部存储的各类密码。
如果忘了某个管理用户的密码,可以先在数据库里找出加密后的密码,然后用该方式还原密码。
***********************/
// 需要引用这些内部函数库
require("dbconnect.php"); 
require("includes/functions.php"); 
require("includes/clientareafunctions.php");  

// API命令参数
$command = "decryptpassword";

// whmcs的超级管理员账号
$adminuser = "admin"; 

//whmcs内部存贮的各类密码,可以从数据库直接查出来
$values["password2"] = "xxxxxxxxxxxxxxxxxxxxxxxxx"; 

//调用内部函数,返回一个array 
$results = localAPI($command,$values,$adminuser);

// 打印这个array
print_r($results);

?>

使用外部方式调用API的样例很多,Whmcs官方网站上就提供了三个完整的php例子。

网上还有很多热心人将这些web service api封装成不同的语言库。 Python client library

Share Comments
comments powered by Disqus