runetid / php-sdk
runet.id php sdk
dev-master
2024-07-19 10:10 UTC
Requires
- php: ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2024-09-19 10:29:18 UTC
README
composer require runetid/php-sdk
为了开始工作,需要获取ApiKey和Secret
使用说明
客户端初始化
$client = new \runetid\sdk\Client($key, $secret);
SDK目前使用API runet.id,目前并非所有方法都已实现。对于SDK中没有实现的方法,可以使用原始请求发送请求。
$params = [ 'limit' => 10, 'offset' => 0, 'pagination' => [ 'page' => 1, 'perPage' => 10 ], ]; $url = 'storage/list?'.http_build_query($params); // адрес ендпоинта $client->request($url, 'GET')
可用方法
用户
按邮箱搜索
$client->user()->search('test@example.com');
创建用户(注册)
$client->user()->create($user);
作为参数接受DTO \runetid\sdk\models\User,它具有额外的方法。使用示例
$user = new \runetid\sdk\models\User() $user->load([ 'first_name' => '', 'last_name' => '', 'father_name' => '', 'email' => '', 'password' => '' ])
获取令牌
$client->user()->getToken($login, $password);
登录名可以是runetId或用户邮箱
通过令牌获取用户信息
$client->user()->getByToken($token);
使用上一查询的响应作为令牌
要代表授权用户使用API,需要在客户端指定令牌
通过标识符获取用户信息
$client->user()->getById(123);
此方法仅对具有admin角色的客户端可用
活动
通过别名获取活动信息
$client->event()->getByAlias($alias)
通过标识符获取活动信息
$client->event()->getById(123)
注册参与者
$client->event()->register($userId, $eventId, $attributes)
函数参数
- $userId - 用户标识符(不要与RunetId混淆,这是两个不同的字段)
- $eventId - 活动标识符
- $attributes - 额外属性数组,非必填
活动计划
$client->event()->program()
获取与API密钥关联的活动部分的列表
活动商品
$client->event()->products()
获取与API密钥关联的活动商品的列表
根据参与者数据库搜索
$client->event()->searchParticipant('test@example.com')
商品
通过标识符获取活动信息
$client->product()->getById(123)
搜索商品
$filter = ['event_id' => 123]; $products = $client->product()->search($filter);
订单
向订单添加项目
$client->order()->addOrderItem($item)
作为参数接受DTO \runetid\sdk\models\OrderItem,它具有额外的方法。使用示例
$item = new \runetid\sdk\models\OrderItem(); $item->load([ 'owner_id' => 123, // Идентификатор получателя товара (Не путать с RunetId, это два разных поля) 'payer_id' => 123, // Идентификатор плательщика (Не путать с RunetId, это два разных поля) 'product_id' => 123, // Идентификатор товара 'attributes' => [], // Массив дополнительных аттрибутов (необязательный параметр) ])
返回\runetid\sdk\models\OrderItem,其中包含订单号
删除项目
$client->order()->deleteOrderItem($itemId)
获取支付链接
$client->order()->actionGetPayUrl($orderId)