Управление конференциями

Получение данных по конференциям

Получение списка конференций

URL-метод

GET

/api/v1/conference ?status=2

status=XXX, где
XXX = 1 или WAITING = запланировано
XXX = 2 или STARTED = запущено
XXX = 3 или ENDED = завершено
XXX = 4 или CANCELED = отменено

Результат

Пример списка конференций
[
{
"conferenceId": 3082,
"title": "Пятница",
"description": null,
"creator": {
"userid": 1,
"name": "Иван ИВанов",
"email": "i.ivan@incoma.ru"
},
"plannedstartedon": "2020-06-23 15:28:03.133",
"plannedendedon": "2020-06-23 16:28:03.133",
"startingAt": "2020-06-23 15:28:03.133",
"endingAt": "2020-06-23 16:28:03.133",
"status": "WAITING",
"url": "/conference/3082",
"url_without_registration": "/conference/3082?token=f48e5f01-5dab-4679-8c08-03e176f63046"
},
{
"conferenceId": 4283,
"title": "asdfg",
"description": null,
"creator": {
"userid": 3,
"name": "Андрей Андреев",
"email": "a.and@incoma.ru"
},
"plannedstartedon": "2020-08-14 07:48:18.971",
"plannedendedon": "2020-08-14 08:48:18.971",
"startingAt": "2020-08-14 07:48:18.971",
"endingAt": "2020-08-14 08:48:18.971",
"status": "WAITING",
"url": "/conference/4283",
"url_without_registration": "/conference/4283?token=0269d8cf-263f-41b1-833d-7da6e9161446"
}
]

Получение информации по конкретной конференции

URL-метод

GET

api/v1/conference/{CONFERENCE_ID}

Результат

Пример информации по конкретной конференции
{
"conferenceId": 1,
"title": "api test",
"description": null,
"creator": null,
"plannedstartedon": "2020-09-03 16:04:47.247",
"plannedendedon": "2020-09-03 17:04:47.247",
"startingAt": "2020-09-03 16:04:47.247",
"endingAt": "2020-09-03 17:04:47.247",
"status": "WAITING",
"url": "/conference/1",
"url_without_registration": "/conference/1?token=4d57d30f-c35e-4d3f-a7e4-1e8fbcf2c8ff"
}

Создание конференции

URL-метод

POST

/api/v1/conference

Запрос

Пример запроса добавления конференции
{
"title",
"description",
"creator": {
"userid",
"name",
"email"
},
participants: [],
"plannedstartedon",
"plannedendedon"
}

где participants заполняется так:

Пример заполнения блока participants в модели создаваемой конференции
[
{
"id": 3173,
"isParticipant": true,
"isSpeaker": false,
"isOperator": true
},
{
"id": 3115,
"isParticipant": true
},
{
"email": "email@need.here",
"isGuest": true,
"isParticipant": true
}
]

Результат

Пример успешного добавления конференции
{
"message": "The Conference has created",
"conferenceid": "182",
"name": "Created",
"status": 201
}

Изменение конференции

URL-метод

PATCH

/api/v1/conference/{CONFERENCE_ID}

Запрос

Пример запроса редактирования конференции
{
"title",
"description",
"creator": {
"userid",
"name",
"email"
},
"plannedstartedon",
"plannedendedon"
}

ВНИМАНИЕ!

В случае, если в модели конференции для обновления присутствует массив пользователей participants, то данный набор пользователей будет окончательным списком участников после обновления конференции.

где participants заполняется так:

Пример заполнения блока participants в модели создаваемой конференции
[
{
"id": 3173,
"isParticipant": true,
"isSpeaker": false,
"isOperator": true
},
{
"id": 3115,
"isParticipant": true
},
{
"email": "email@need.here",
"isGuest": true,
"isParticipant": true
}
]

Результат

Пример успешного добавления конференции
{
"message": "The Conference has created",
"conferenceid": "182",
"name": "Created",
"status": 201
}

Удаление конференции

URL-метод

DELETE

/api/v1/conference/{CONFERENCE_ID}

Результат

Пример успешного выполнения запроса
{
"code": 204
}
Пример неудачного выполнения запроса (попытка удаления несуществующей конференции)
{
"name": "Not Found",
"message": "Conference not found",
"code": 0,
"status": 404
}