runetid / php-sdk
runet.id php sdk
Requires
- php: ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2024-11-08 06:07:44 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
Получение информации о пользователе по RunetId
$client->user()->getByRunetId(123);
Мероприятия
Получение информации о мероприятии по алиасу
$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')
Получить участника по RunetId
/** @var \runetid\sdk\models\User|null $user */ $user = $client->event()->getParticipantByRunetId(123)
Товары
Получение информации о мероприятии по идентификатору
$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)