drteam / uon

U-On Travel RESTful API 客户端

资助包维护!
Patreon

2.0.0-alpha 2021-02-20 20:01 UTC

README

U-On Travel Logo

Latest Stable Version Build Status Total Downloads License PHP 7 ready Code Climate Scrutinizer Code Quality Code Coverage

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 块中复制令牌代码。

如何帮助项目

如果您有这个愿望,您可以帮助测试和寻找错误,或者进行一些捐赠

有用的链接