WHMCS客户端库
pywhmcs的Python项目详细描述
Pywhmcs
- 马特,whmcs创始人/首席开发人员描述了他们的产品:
- whmcs是一个针对在线业务的一体化客户管理、计费和支持解决方案。从注册到终止,whmcs是一个强大的业务自动化工具,让您牢牢掌控一切
该项目旨在提供一个易于使用、一致且简单的客户端库和cli程序,以便与whmcs软件的http api交互。
目前只有通过命令行的接口。
安装
非常简单的过程:
$ git clone git://github.com/zekzekus/pywhmcs.git $ cd pywhmcs $ python setup.py install
它可以用作名为pywhmcs的cli脚本!
使用量
cli程序包括使用信息。标准帮助输出为:
$ pywhmcs --help usage: pywhmcs [-h] [--verbose] --url URL --username USERNAME --password PASSWORD --action ACTION [--params ...] pyWHMCS Client Comman Line Interface optional arguments: -h, --help show this help message and exit --verbose Activate verbose output --url URL WHMCS API endpoint URL --username USERNAME Username with API permission --password PASSWORD API user password --action ACTION Action name to invoke --params ... Parameters passed with action. (--params param1=value1 param2=value2 etc.)
如果要获取客户端列表,必须向whmcs api端点发出post请求,post body包含action=“getclients”和必要的credidentials。例如:
$ pywhmcs --url http://yourdomain.com/includes/api.php --username apiuser --password pass --action getclients
输出如下:
{ "startnumber": 0, "clients": { "client": [ { "status": "Active", "firstname": "John", "companyname": "Does Company", "lastname": "Doe", "datecreated": "2012-11-22", "groupid": "0", "id": "1", "email": "john@doe.com" } ] }, "totalresults": "1", "result": "success", "numreturned": 1 }
对于需要额外参数(如clientid、userid等)的操作,必须使用可选的–params参数。在–params之后,必须以paramn=valuen的格式提供参数。这些参数和值将作为键值对附加到post主体并随请求一起发送。例如:
$ pywhmcs --url http://yourdomain.com/includes/api.php --username apiuser --password pass --action addclientnote --params userid=1 notes="this is a note" { "result": "success", "noteid": 4 }
通过这种方法,您可以调用whmcs系统提供的所有acitons。您可以找到开发人员api文档here。
还可以将此库安装在python路径上,并从whmcs模块导入invoke函数。它可用于与whmcs系统的内部交互。实际上,我计划在上面构建一个好的客户机,而不是实现一个可重用的django应用程序,以便在任何django应用程序和whmcs系统之间轻松通信。
待办事项
- 目前只实现了json响应类型。whmcs api支持xml格式和简单的键值格式。将通过参数支持这些格式。
- 创建操作类来完全管理api接口。类现在可以有关操作参数、所需数据等。
- 为操作实现文件上载基础结构可能需要上载文件。
发展
目前,库只需要一个外部依赖项:requests HTTP client library。如果您想投稿,可以遵循以下步骤:
$ git clone git://github.com/zekzekus/pywhmcs.git $ cd pywhmcs $ python setup.py develop
这些命令将克隆存储库并获取所有依赖项并安装到系统中。
故障排除
- 作为–username参数提供的用户必须具有“api权限”。您或whmcs系统的管理员必须将此权限授予您的用户。
- 出于安全原因,whmcs系统只允许指定的一组ip地址发出api请求。因此,您的IP地址必须添加到WHMCS系统中允许的IP地址列表中。
新闻
0.0.2
发布日期:2012年1月17日
- 自述文件的待办事项部分已更新
0.0.1
发布日期:2013年1月17日
- 准备了cli接口。
- 实现了cli参数格式和模型。
- 调用已实现的函数。现在工具可以对whmcs进行任何类型的api调用