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 | Социальная сеть не найдена |