runetid/php-sdk

runet.id php sdk

dev-master 2024-07-19 10:10 UTC

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)