runetid/php-sdk

runet.id php sdk

dev-master 2024-11-08 06:07 UTC

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)