drteam / uon
U-On Travel RESTful API 客户端
2.0.0-alpha
2021-02-20 20:01 UTC
Requires
- php: ^7.2
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^7.1
Requires (Dev)
- guzzlehttp/guzzle: ^7.1.x-dev
- larapack/dd: ^1.1
- phpunit/phpunit: ^8.0
README
U-On Travel API 客户端(非官方)
一个简单的客户端,允许与 U-On Travel 公司的 API 进行交互。
composer require drteam/uon
此库适用于生产使用,所有源代码均提供“现状”。
如何使用
基本示例
<?php require_once __DIR__ . '/vendor/autoload.php'; // Main object for work with API $uon = new \Uon\Client(['token' => 'some_token']); // Some examples $users = $uon->users->all(); // Get a list of all users $user = $uon->users->get(1); // Get user by unique id $request = $uon->requests->get(1); // Get request by unique ID $managers = $uon->managers->all(); // Get list of managers
查看其他使用示例,这里按类名分隔。
所有类的方法及其描述,您可以在这里找到。
如何配置客户端
// Enable config class use \Uon\Config; // Class with configuration options $config = new Config(); $config ->set('token', 'some_token') ->set('timeout', 10); // Or like this $config = new Config([ 'token' => 'some_token', 'timeout' => 10 ]);
Config 对象应作为客户端的参数添加
use \Uon\Config; use \Uon\Client; $config = new Config([ 'token' => 'some_token', 'timeout' => 10 ]); $client = new Client($config);
但您也可以使用参数数组
use \Uon\Client; $client = new Client([ 'token' => 'some_token', 'timeout' => 10 ]);
如果您想使用默认参数创建客户端对象
use \Uon\Client; $client = new Client(['token' => 'some_token']);
配置可用的参数
$config = new \Uon\Config([ 'token' => 'some_token', 'timeout' => 100, 'tries' => 20, 'seconds' => 2 ]);
关于页面
一些 GET 方法有一个 $page
参数(默认状态 1
),并且您只能在存在 $page
参数的情况下一次获取 100
项。
具有 $page
参数的端点列表。
- /catalog-service/
- /cities/
- /hotels/
- /leads/$date_from/$date_to/
- /leads/$date_from/$date_to/$id_sources/
- /lead-by-client/$id_lead/
- /payment/list/
- /request-action/
- /requests/updated/
- /suppliers/
- /users/
- /user/updated/
这些(我的意思是 $page
)参数是由 API 开发者添加的,以减少服务器负载。所以,如果您在结果消息中只看到 100 项,不要担心,您只需要写入循环来从 API 获取所有项目,如下所示
$results = []; $i=1; while (true) { // yeah, I know it's bad, better to use recursion $response = $uon->requests->get($i); $results[] = $response; // Exit from loop if less than 100 items in answer from server if (count($response->message) < 100) { break; } $i++; } print_r($results);
如何获取 API 令牌
您需要登录您的账户,然后转到 设置 > API 和 WebHooks 页面,并从 API 块中复制令牌代码。
如何帮助项目
如果您有这个愿望,您可以帮助测试和寻找错误,或者进行一些捐赠。
有用的链接
- U-On Travel - 官方网站
- U-On Travel API - API 文档
- U-On 团队编写的基本示例,使用 PHP-Curl 库编写