kiubi/php-sdk

Kiubi API 的 PHP SDK

v2.0.1 2021-09-13 13:48 UTC

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 调用的沙盒环境。您可以通过以下地址访问:

https://api.kiubi.com/console

控制台访问是公开的,但执行查询需要账号,您可以在平台上创建账号。

先决条件

  • 能够执行 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();
}