trekkconnect / php-sdk
ExperienceBank PHP SDK
v2.1.2
2019-10-16 09:04 UTC
Requires
- php: ^7.1
- beberlei/assert: ^3
- doctrine/cache: ^1.6
- guzzlehttp/guzzle: ^6.2
- monolog/monolog: ^1.19
- psr/log: ^1.0
- spomky-labs/base64url: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ^5
README
ExperienceBank PHP SDK 包括一个API客户端库
安装
composer require trekkconnect/php-sdk
配置
简单客户端
<?php
use TrekkConnect\Sdk\ApiClient\Client;
use TrekkConnect\Sdk\ApiClient\Credentials;
$credentials = new Credentials(
getenv('API_PUBLIC_KEY'),
getenv('API_SECRET_KEY')
);
$apiClient = new Client($credentials);
带有Redis缓存和Monolog日志的客户端
<?php
use Doctrine\Common\Cache\RedisCache;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use TrekkConnect\Sdk\ApiClient\Client;
use TrekkConnect\Sdk\ApiClient\Credentials;
$redis = new \Redis();
$redis->pconnect('127.0.0.1', 6379);
$cache = new RedisCache();
$cache->setRedis($redis);
$credentials = new Credentials(
getenv('API_PUBLIC_KEY'),
getenv('API_SECRET_KEY')
);
$logger = new Logger('api-client');
$logger->pushHandler(new StreamHandler('api-client.log'));
$apiClient = Client::newCachingClient($credentials, $cache, $logger);
使用方法
创建供应商
$response = $apiClient->supplier()->create([
'name'=> 'Amazing Demo Activities',
'partnerSupplierId' => '15873',
'partner' => 'par_049a72c3-7a8d-48aa-94d1-0ba5a8e9e9f2',
'contact' => [
'name' => 'John Doe',
'email' => 'another@example.com'
]
]);
$supplierId = $response->getValue('result.supplierId');
目前支持以下方法
$this->client->supplier()->create(array $params);
$this->client->supplier()->enable($supplierId);
$this->client->supplier()->disable($supplierId);
$this->client->supplier()->find(Query $query);
$this->client->supplier()->generateAutoLoginUrl($supplierId, $email)->forMapping($mappingId);
$this->client->activity()->updated(array $params);
$this->client->activity()->find(Query $query);
$this->client->availability()->updated(array $params);
$this->client->availability()->find(Query $query);
$this->client->booking()->create(CreateBookingRequest $request);
$this->client->booking()->commit(CommitBookingRequest $request);
$this->client->booking()->cancel(CancelBookingRequest $request);
$this->client->booking()->cancelled($bookingId);
$this->client->ticket()->affected(array $params);
$this->client->mapping()->enable($supplierId, $marketplaceId, $partnerId);
$this->client->mapping()->disable($mappingId);
但您也可以使用 request()
方法调用其他RPC方法。
$this->client->request(string $method, array $params);
贡献
所有贡献都通过pull requests接受。
在提交之前,请运行测试(vendor/bin/phpunit
)和编码风格修复器(vendor/bin/php-cs-fixer fix src --rules=@Symfony
)。
许可证
MIT。查看LICENSE文件。