Skip to Content
Справочник APIAPI социальных сетей

API социальных сетей

Эндпоинты для управления социальными сетями в системе.

Получение списка социальных сетей

Получение полного списка социальных сетей.

Запрос

GET /api/social-networks

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Параметры запроса

НазваниеТипОписание
pageintegerНеобязательный. Номер страницы (по умолчанию: 1)
per_pageintegerНеобязательный. Количество записей на странице (по умолчанию: 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_networksarrayМассив социальных сетей
idintegerID социальной сети
keystringКлюч (идентификатор) социальной сети
cooldown_timeintegerВремя ожидания между авторизациями (в секундах)
allow_to_registerbooleanРазрешить регистрацию через эту соц. сеть
iconstringИконка социальной сети (SVG или путь к изображению)
enabledbooleanСтатус активности

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса

Получение данных социальной сети

Получение детальной информации о конкретной социальной сети.

Запрос

GET /api/social-networks/{id}

Параметры пути

НазваниеТипОписание
idintegerID социальной сети

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. 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_networkobjectОбъект социальной сети
idintegerID социальной сети
keystringКлюч (идентификатор) социальной сети
cooldown_timeintegerВремя ожидания между авторизациями (в секундах)
allow_to_registerbooleanРазрешить регистрацию через эту соц. сеть
iconstringИконка социальной сети (SVG или путь к изображению)
enabledbooleanСтатус активности
settingsobjectНастройки для подключения к API социальной сети
users_countintegerКоличество пользователей, использующих эту соц. сеть

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Социальная сеть не найдена

Создание социальной сети

Создание новой социальной сети в системе.

Запрос

POST /api/social-networks

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. 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 }

Параметры тела запроса

НазваниеТипОписание
keystringОбязательный. Ключ (идентификатор) социальной сети
settingsstringОбязательный. JSON-строка с настройками для подключения
cooldown_timeintegerНеобязательный. Время ожидания между авторизациями (сек)
allow_to_registerbooleanНеобязательный. Разрешить регистрацию через эту соц. сеть
iconstringОбязательный. Иконка социальной сети
enabledbooleanНеобязательный. Статус активности

Ответ

{ "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}

Параметры пути

НазваниеТипОписание
idintegerID социальной сети

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. 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 }

Параметры тела запроса

НазваниеТипОписание
keystringОбязательный. Ключ (идентификатор) социальной сети
settingsstringОбязательный. JSON-строка с настройками для подключения
cooldown_timeintegerНеобязательный. Время ожидания между авторизациями (сек)
allow_to_registerbooleanНеобязательный. Разрешить регистрацию через эту соц. сеть
iconstringОбязательный. Иконка социальной сети
enabledbooleanНеобязательный. Статус активности

Ответ

{ "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}

Параметры пути

НазваниеТипОписание
idintegerID социальной сети

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "message": "Social network deleted successfully" }

Коды ответов

КодОписание
200Социальная сеть успешно удалена
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Социальная сеть не найдена
422Невозможно удалить, так как есть связанные пользователи

Получение пользователей социальной сети

Получение списка пользователей, использующих конкретную социальную сеть.

Запрос

GET /api/social-networks/{id}/users

Параметры пути

НазваниеТипОписание
idintegerID социальной сети

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Параметры запроса

НазваниеТипОписание
pageintegerНеобязательный. Номер страницы (по умолчанию: 1)
per_pageintegerНеобязательный. Количество записей на странице (по умолчанию: 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 }

Поля ответа

ПолеТипОписание
usersarrayМассив пользователей
idintegerID пользователя
namestringИмя пользователя
loginstringЛогин пользователя
valuestringИдентификатор пользователя в социальной сети
urlstringURL профиля в социальной сети
linked_atstringДата привязки аккаунта
totalintegerОбщее количество пользователей
pageintegerТекущая страница
per_pageintegerКоличество записей на странице

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Социальная сеть не найдена