kiubi / php-sdk
Kiubi API 的 PHP SDK
v2.0.1
2021-09-13 13:48 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-30 01:34:49 UTC
README
描述
平台 Kiubi 为开发者提供 API DBO,以便将平台与其应用程序互连。该 API 为他们提供直接且安全的访问所有站点数据的方式。
Kiubi 的 API DBO 为 REST 类型,支持 JSON 格式。为了简化其使用,Kiubi 提供了一个完整的 PHP 库,允许通过 API 简单且优化地获取数据。了解更多信息,您可以查看在线文档。
控制台
Kiubi 拥有用于测试和调试 API 调用的沙盒环境。您可以通过以下地址访问:
控制台访问是公开的,但执行查询需要账号,您可以在平台上创建账号。
先决条件
- 能够执行 PHP 代码的环境
- PHP 配置有 cURL 扩展(PHP >= 5.4)
- 有效的 API 密钥
每个拥有后台办公账号的用户都有权在其用户资料中创建和管理 API 密钥,以便使用 API DBO。
部署
该库可以通过 composer 简单部署
composer require kiubi/php-sdk
使用
PHP 客户端由多个类组成,允许查询 API DBO
-
客户端
class Api { } -
响应
class Response { } -
文件上传管理
class File { }
可用方法
以下是 PHP 客户端中可用方法的列表
-
客户端
- get() : 允许使用 http GET 方法向 API 发送请求
- post() : 允许使用 http POST 方法向 API 发送请求
- put() : 允许使用 http PUT 方法向 API 发送请求
- delete() : 允许使用 http DELETE 方法向 API 发送请求
- query() : 构建请求并执行
- performQuery() : 使用 cURL 执行 API 请求(受保护方法)
- getJsonResponse() : 返回一个允许处理查询响应的对象
Response(受保护方法) - prepareHeaders() : 为多部分请求准备头信息(受保护方法)
- preparePayload() : 为多部分请求准备内容(受保护方法)
- flattenParams() : 将多维参数转换为单参数,用于多部分请求(受保护方法)
- setAccessToken() : 定义用于请求的 API 密钥
- getAccessToken() : 返回当前使用的 API 密钥
- getRateRemaining() : 返回剩余的请求配额
- getPage() : 允许获取结果列表的特定页面
- getNextPage() : 允许获取结果列表的下一页
- getPreviousPage() : 允许获取结果列表的前一页
- getFirstPage() : 允许获取结果列表的第一页
- getLastPage() : 允许获取结果列表的最后一页
- hasNextPage() : 确定结果列表是否包含下一页
- hasPreviousPage() : 确定结果列表是否包含前一页
- getNavigationPage() : 内部方法,用于启动导航请求
-
响应
- getHeaders() : 返回响应的HTTP头列表
- getError() : 返回请求过程中发生的错误
- getMeta() : 获取响应的meta数据
- getData() : 获取响应数据
- getHttpCode() : 返回响应的实际HTTP代码
- hasFailed() : 指示请求是否失败
- hasSucceed() : 指示请求是否成功执行
-
上传管理
- getContentSize() : 返回文件的字节数大小
- getFilename() : 返回文件名
- getContentType() : 返回文件的MIME类型
- getContent() : 返回文件内容
示例
获取自己的网站列表
$token = '---TOKEN---'; // Votre clé API
$api = new Kiubi\Api($token);
$query = $api->get('sites');
if ($query->hasFailed()) {
$err = $query->getError();
echo $err['message']."<br/>\n";
}
if ($query->hasSucceed()) {
foreach($query->getData() as $menu) {
echo $menu['name']."<br/>\n";
}
}
获取网站菜单
$token = '---TOKEN---'; // Votre clé API
$site = 'mon-code-site'; // Le code site
$api = new Kiubi\Api($token);
$query = $api->get('sites/'.$site.'/cms/menus');
if ($query->hasFailed()) {
$err = $query->getError();
echo $err['message']."<br/>\n";
}
if ($query->hasSucceed()) {
foreach($query->getData() as $menu) {
echo $menu['name']."<br/>\n";
}
}
获取网站的订单
$token = '---TOKEN---'; // Votre clé API
$site = 'mon-code-site'; // Le code site
$api = new Kiubi\Api($token);
$response = $api->get('sites/'.$site.'/checkout/orders');
if ($response->hasSucceed()) {
do {
$next = false;
$data = $response->getData();
foreach($data as $cmd) {
echo $cmd['creation_date'].' - '.$cmd['reference'])."<br/>\n";
}
if ($api->hasNextPage($response) && $api->getRateRemaining()>0) {
$next = true;
$response = $api->getNextPage($response);
}
} while($next && $response->hasSucceed());
}
向网站的媒体库发送文件
$token = '---TOKEN---'; // Votre clé API
$site = 'mon-code-site'; // Le code site
$api = new Kiubi\Api($token);
$response = $api->post('sites/'.$site.'/media/files', array('name'=>'fichier', 'folder_id'=>2, 'file'=>new File('/path/to/file.txt'));
if ($response->hasSucceed()) {
$media_id = $response->getData();
}