boldgrid/reseller-api

0.1 2017-03-06 05:02 UTC

This package is not auto-updated.

Last update: 2024-09-26 02:40:42 UTC


README

使用 composer,您可以快速开始

$ composer require boldgrid/api

在您的代码中,使用常规的自动加载过程。此客户端使用 PSR-4 规范进行自动加载

require __DIR__ . '/vendor/autoload.php';

现在您可以使用 API 了。下面的示例将假设您正在使用命名空间

use Boldgrid\Api\Boldgrid;

然后,您可以通过创建一个新的 API 调用并使用默认设置来开始

$api = new Boldgrid();

端点指向生产环境,但您可以通过将沙箱实例传递给新的 Boldgrid 构造函数来轻松地将此切换到 Reseller API 沙箱端点,如下所示

use Boldgrid\Api\Environment\Sandbox;

$api = new Boldgrid( new Sandbox );

或者,您可以使用以下语法达到相同的目的

use Boldgrid\Api\Environment\Sandbox;

$api = new Boldgrid();
$api = $api->setEnvironment( new Sandbox );

调用将使用基于令牌的认证,并在会话数据中查找存储的响应。您可以选择通过传递实现存储接口的类的实例来将数据存储在 memcache 中。以下示例显示了如何将存储设置为使用 Memcache 而不是 Session

use Boldgrid\Api\Environment;
use Boldgrid\Api\Storage;

$api = new Boldgrid( new Environment\Sandbox, new Storage\Memcache );

或者,您可以使用以下语法达到相同的目的

use Boldgrid\Api\Environment\Sandbox;
use Boldgrid\Api\Storage\Memcache;

$api = $api
	->setEnvironment( new Sandbox )
	->setStorage( new Memcache );

使用基于令牌的认证(默认认证方法),您需要设置认证参数。BoldGrid Reseller API 中的令牌有效期为 2 天,因此您需要在您的应用程序中提供一种安全地检索密钥/秘密的方法。这可以通过传递密钥和 reseller 密钥来完成,如下所示

$api = $api
	->setKey( $key )
	->setResellerKey( $resellerKey );

我们建议在从分布式应用程序进行调用时坚持使用基于令牌的认证,但在进行调用时您可能希望使用其他认证方法。如果您决定使用其他认证方法之一,您只需将所需的认证类型传递给 setAuth 方法。支持的类型是 tokenbasickey。您可以在我们的 API 文档 中了解更多关于 API 认证方法的信息。

以下示例显示了如何将认证切换为基本认证,这将需要您传递密钥和 reseller 密钥秘密

$api = $api
	->setAuth( 'basic' )
	->setKey( $key )
	->setResellerKey( $resellerKey );

以下示例显示了如何仅使用密钥和 reseller 密钥进行授权

$api = $api
	->setAuth( 'key' )
	->setKey( $key )
	->setResellerKey( $resellerKey );

现在您已经了解了如何设置环境、授权和存储类型,您可以使用 BoldGrid Reseller API 客户端开始进行调用。每个调用都被分割到其基础端点和端点。例如,如果您想对 key/list 端点进行调用,语法将如下所示

$api->key()->list();

以下示例将环境设置为沙箱 API,使用基于令牌的授权(默认),将令牌存储在 memcache 中,并生成 reseller 下客户端的密钥列表

require __DIR__ . '/vendor/autoload.php';

use Boldgrid\Api\Boldgrid;
use Boldgrid\Api\Environment\Sandbox;
use Boldgrid\Api\Storage\Memcache;

$api = new Boldgrid();
$api = $api
	->setEnvironment( new Sandbox )
	->setStorage( new Memcache )
	->setKey( $key )
	->setResellerKey( $resellerKey );

$call = $api
	->key()
	->list();

var_dump( $call ); die;

以下是您可以进行的调用列表

认证

$api->auth()
	->getToken( $key, $resellerKey );

$api->coin()
	->balance( $connectId );

$api->coin()
	->add( $connectId, $coins );

$api->coin()
	->remove( $connectId, $coins );

密钥

$api->key()
	->list();

$api->key()
	->details( $connectId );

$api->key()
	->create( $email, $isPremium );

$api->key()
	->suspend( $connectId, $reason );

$api->key()
	->unsuspend( $connectId, $reason );

$api->key()
	->revoke( $connectId );

$api->key()
	->changeType( $connectId, $type );

$api->key()
	->createReseller( $title, $email, $optional );

站点

$api->site()
	->list( $connectId, $dateFrom, $dateTo );

用户

$api->user()
	->update( $connectId, $email, $displayName );
$api->user()
	->updateReseller( $title, $email );