API социальных сетей
Эндпоинты для управления социальными сетями в системе.
Получение списка социальных сетей
Получение полного списка социальных сетей.
Запрос
GET /api/social-networks
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Параметры запроса
Название | Тип | Описание |
---|---|---|
page | integer | Необязательный. Номер страницы (по умолчанию: 1) |
per_page | integer | Необязательный. Количество записей на странице (по умолчанию: 20) |
Ответ
{
"social_networks": [
{
"id": 1,
"key": "steam",
"cooldown_time": 3600,
"allow_to_register": true,
"icon": "<svg>...</svg>",
"enabled": true
},
{
"id": 2,
"key": "discord",
"cooldown_time": 7200,
"allow_to_register": true,
"icon": "<svg>...</svg>",
"enabled": true
}
]
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
social_networks | array | Массив социальных сетей |
id | integer | ID социальной сети |
key | string | Ключ (идентификатор) социальной сети |
cooldown_time | integer | Время ожидания между авторизациями (в секундах) |
allow_to_register | boolean | Разрешить регистрацию через эту соц. сеть |
icon | string | Иконка социальной сети (SVG или путь к изображению) |
enabled | boolean | Статус активности |
Коды ответов
Код | Описание |
---|---|
200 | Успешный запрос |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
Получение данных социальной сети
Получение детальной информации о конкретной социальной сети.
Запрос
GET /api/social-networks/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID социальной сети |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"social_network": {
"id": 1,
"key": "steam",
"cooldown_time": 3600,
"allow_to_register": true,
"icon": "<svg>...</svg>",
"enabled": true,
"settings": {
"client_id": "your-client-id",
"client_secret": "your-client-secret"
},
"users_count": 157
}
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
social_network | object | Объект социальной сети |
id | integer | ID социальной сети |
key | string | Ключ (идентификатор) социальной сети |
cooldown_time | integer | Время ожидания между авторизациями (в секундах) |
allow_to_register | boolean | Разрешить регистрацию через эту соц. сеть |
icon | string | Иконка социальной сети (SVG или путь к изображению) |
enabled | boolean | Статус активности |
settings | object | Настройки для подключения к API социальной сети |
users_count | integer | Количество пользователей, использующих эту соц. сеть |
Коды ответов
Код | Описание |
---|---|
200 | Успешный запрос |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Социальная сеть не найдена |
Создание социальной сети
Создание новой социальной сети в системе.
Запрос
POST /api/social-networks
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"key": "vk",
"settings": "{\"keys\":{\"client_id\":\"your-client-id\",\"client_secret\":\"your-client-secret\"}}",
"cooldown_time": 3600,
"allow_to_register": true,
"icon": "<svg>...</svg>",
"enabled": false
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
key | string | Обязательный. Ключ (идентификатор) социальной сети |
settings | string | Обязательный. JSON-строка с настройками для подключения |
cooldown_time | integer | Необязательный. Время ожидания между авторизациями (сек) |
allow_to_register | boolean | Необязательный. Разрешить регистрацию через эту соц. сеть |
icon | string | Обязательный. Иконка социальной сети |
enabled | boolean | Необязательный. Статус активности |
Ответ
{
"message": "Social network created successfully",
"social_network": {
"id": 3,
"key": "vk",
"cooldown_time": 3600,
"allow_to_register": true,
"icon": "<svg>...</svg>",
"enabled": false
}
}
Коды ответов
Код | Описание |
---|---|
201 | Социальная сеть успешно создана |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
422 | Неверные параметры запроса |
Обновление социальной сети
Обновление данных существующей социальной сети.
Запрос
PUT /api/social-networks/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID социальной сети |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"key": "vk",
"settings": "{\"keys\":{\"client_id\":\"updated-client-id\",\"client_secret\":\"updated-client-secret\"}}",
"cooldown_time": 1800,
"allow_to_register": true,
"icon": "<svg>...</svg>",
"enabled": true
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
key | string | Обязательный. Ключ (идентификатор) социальной сети |
settings | string | Обязательный. JSON-строка с настройками для подключения |
cooldown_time | integer | Необязательный. Время ожидания между авторизациями (сек) |
allow_to_register | boolean | Необязательный. Разрешить регистрацию через эту соц. сеть |
icon | string | Обязательный. Иконка социальной сети |
enabled | boolean | Необязательный. Статус активности |
Ответ
{
"message": "Social network updated successfully",
"social_network": {
"id": 3,
"key": "vk",
"cooldown_time": 1800,
"allow_to_register": true,
"icon": "<svg>...</svg>",
"enabled": true
}
}
Коды ответов
Код | Описание |
---|---|
200 | Социальная сеть успешно обновлена |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Социальная сеть не найдена |
422 | Неверные параметры запроса |
Удаление социальной сети
Удаление социальной сети из системы.
Запрос
DELETE /api/social-networks/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID социальной сети |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"message": "Social network deleted successfully"
}
Коды ответов
Код | Описание |
---|---|
200 | Социальная сеть успешно удалена |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Социальная сеть не найдена |
422 | Невозможно удалить, так как есть связанные пользователи |
Получение пользователей социальной сети
Получение списка пользователей, использующих конкретную социальную сеть.
Запрос
GET /api/social-networks/{id}/users
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID социальной сети |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Параметры запроса
Название | Тип | Описание |
---|---|---|
page | integer | Необязательный. Номер страницы (по умолчанию: 1) |
per_page | integer | Необязательный. Количество записей на странице (по умолчанию: 20) |
Ответ
{
"users": [
{
"id": 1,
"name": "Иван Иванов",
"login": "ivan123",
"value": "12345678",
"url": "https://example.com/profile/12345678",
"linked_at": "2023-01-01T10:30:00Z"
},
{
"id": 2,
"name": "Петр Петров",
"login": "petr456",
"value": "87654321",
"url": "https://example.com/profile/87654321",
"linked_at": "2023-02-15T14:20:00Z"
}
],
"total": 157,
"page": 1,
"per_page": 20
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
users | array | Массив пользователей |
id | integer | ID пользователя |
name | string | Имя пользователя |
login | string | Логин пользователя |
value | string | Идентификатор пользователя в социальной сети |
url | string | URL профиля в социальной сети |
linked_at | string | Дата привязки аккаунта |
total | integer | Общее количество пользователей |
page | integer | Текущая страница |
per_page | integer | Количество записей на странице |
Коды ответов
Код | Описание |
---|---|
200 | Успешный запрос |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Социальная сеть не найдена |