WHMCS 7.x客户端库

pywhmcs7的Python项目详细描述


Pywhmcs v.7

该项目旨在提供一个易于使用、一致且简单的客户端库和cli程序,以便与whmcs软件的http api交互。

目前只有通过命令行的接口。

安装

非常简单的过程:

$ git clone git://github.com/riesal/pywhmcs7.git
$ cd pywhmcs7
$ python setup.py install

使用量

cli程序包括使用信息。标准帮助输出为:

$ pywhmcs7 --help
usage: pywhmcs7 [-h] [--verbose] --url URL --username API_IDENTIFIER --password API_SECRET --accesskey ACCESSKEY --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 API_IDENTIFIER   API Identifier
--password API_SECRET       API Secret
--accesskey ACCESSKEY       API AccessKey
--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。例如:

$ pywhmcs7 --url http://yourdomain.com/includes/api.php --username API_IDENTIFIER --password API_SECRET --accesskey ACCESSKEY --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主体并随请求一起发送。例如:

$ pywhmcs7 --url http://yourdomain.com/includes/api.php --username API_IDENTIFIER --password API_SECRET --accesskey ACCESSKEY --action addclientnote --params userid=1 notes="this is a note"
{
  "result": "success",
  "noteid": 4
}

通过这种方法,您可以调用whmcs系统提供的所有acitons。您可以在这里找到开发人员api文档:https://docs.whmcs.com/API

还可以将此库安装在python路径上,并从whmcs模块导入invoke函数。它可用于与whmcs系统的内部交互。实际上,我计划在上面构建一个好的客户机,而不是实现一个可重用的django应用程序,以便在任何django应用程序和whmcs系统之间轻松通信。

故障排除

  • 不推荐使用WHMCS V.7.2及以上版本的用户名,请使用API标识符
  • whmcs v.7.2及以上版本不推荐使用密码,请使用api secret
  • 作为–username参数提供的用户必须具有“api权限”。您或whmcs系统的管理员必须将此权限授予您的用户。
  • 出于安全原因,whmcs系统只允许指定的一组ip地址发出api请求。因此,您的IP地址必须添加到WHMCS系统中允许的IP地址列表中。
  • –params参数必须是最后指定的参数。因为它是“rest of”类型的参数。

新闻

1.0.1

发布日期:2018年12月17日

  • 修正打字错误

1.0.0

发布日期:2018年12月17日

  • 添加访问键
  • 添加标识符和密码而不是用户名和密码
  • 支持Python2.7和3.6

0.0.3

发布日期:2016年11月26日

  • 添加到setup.py的pypi分类器
  • 为请求-响应类型添加了cli参数
  • SimpleJSON依赖项已删除。返回原始文本。

0.0.2

发布日期:2012年1月17日

  • 自述文件的待办事项部分已更新

0.0.1

发布日期:2013年1月17日

  • 准备了cli接口。
  • 实现了cli参数格式和模型。
  • 调用已实现的函数。现在工具可以对whmcs进行任何类型的api调用

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

推荐PyPI第三方库


热门话题
java检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异