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调用

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在JavaEE中隔离用户会话?   java什么是CacheManager的替代方法。集合名(字符串名)   当am通过==运算符比较对象时,java sop命令未打印附加文本为什么?   java如何关闭一个gui的一个窗口,该窗口有两个打开的窗口,而不同时关闭这两个窗口?   java如何在socket回调中使用观察器?   java在自定义soap处理程序中是否有一种获得操作名的保证方法?   正则表达式Java解析字符串   java希望从其他方法检索RGB像素值,但无法检索   java如何在Android RecyclerView中循环浏览项目?   java tomcat 8上的主机中的软件中止了已建立的连接   java Apache CXF3。具有可靠消息传递的0.4 Soap web服务引发异常   Java与Hibernate数据库   使用put存储新的键值对时,现有键的java Hashmap值将被覆盖。如何预防?   并非所有unix shell的java命令都在运行   java根据元素的自然顺序对列表进行排序   基于值的java同步方法评估   java如何使用axis2 java2wsdl创建标头?   铸造如何阻止java舍入   java计数休眠和命名查询