API Documentation

Вітаю тебе, відважний розробнику, який вирішить зробити добру справу для свого університету! На цій сторінці ти можеш дізнатись, які методи надаються для роботи з API. Також тут буде кілька прикладів виклику того чи іншого методу.


Авторизація

Викликавши даний метод ти зможеш авторизуватись, вказавши Email користувача та пароль.

Endpoint

POST api/user/login

Приклад запиту

POST /api/user/login
Content-Type: application/json
{
    "email": "mykhailo@site.com",
    "password": "Qwerty12345&"
}

Приклад відповіді

{
    "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIzMWU0Njc3ZS0zYjNiLTQ3ZDMtOTdkYi0yMDFhNGM5MjI5MTUiLCJ1bmlxdWVfbmFtZSI6Ik1vZGVyYXRvckBlcGFtOS5jb20iLCJuYmYiOjE3MjAzNjM0OTIsImV4cCI6MTcyMDk2ODI5MiwiaWF0IjoxNzIwMzYzNDkyfQ.m4FNHxyvpEug5hfgijlZ-EmSuqwskY2-DgIKOe7ByhM"
}

Коди відповіді

  • 200 OK: Авторизацію виконано успішно.
  • 400 Bad Request: Неправильний формат запиту.
  • 500 Internal Server Error: Виникла непередбачена помилка на сервері.

Форма зворотного звязку

Викликавши даний метод ти зможеш надіслати feedback, вказавши імя, Email та текст повідомлення.

Endpoint

POST api/contacts/send-feedback

Приклад запиту

POST /api/contacts/send-feedback
Content-Type: application/json
{
    "name": "Андрій",
    "email": "person@epam.com",
    "message": "Ваш веб-сайт - неперевершений!"
}

Приклад відповіді

{
    "status": "success"
}

Коди відповіді

  • 200 OK: Feedback успішно надіслано.
  • 400 Bad Request: Неправильний формат запиту.
  • 500 Internal Server Error: Виникла непередбачена помилка на сервері.

Інформація про поточного користувача

Викликавши даний метод ти зможеш отримати повну інформацію про залогіненого користувача.

Endpoint

GET api/user/get-current-user-info

Приклад запиту

GET /api/user/get-current-user-info

Приклад відповіді

{
    "Surname": null,
    "Name": null,
    "MiddleName": null,
    "UserName": "Moderator@epam9.com",
    "Email": "Moderator@epam9.com",
    "EmailConfirmed": false,
    "PhoneNumber": "0000000000",
    "PhoneNumberConfirmed": false,
    "TwoFactorEnabled": false,
    "LockoutEnd": null,
    "LockoutEnabled": true,
    "AccessFailedCount": 0
}

Коди відповіді

  • 200 OK: Запит виконано успішно.
  • 401 Unauthorized: Користувач не авторизований.
  • 500 Internal Server Error: Виникла помилка на сервері.

Завантажити файл з публікацією

Викликавши даний метод ти зможеш завантажити PDF-файл, який відповідає вказаному id публікації.

Endpoint

GET api/publication/download-file

Приклад запиту

GET /api/publication/download-file?publId={publId}

Приклад відповіді

{
    "Content": array of bytes
}

Коди відповіді

  • 200 OK: Запит виконано успішно.
  • 500 Internal Server Error: Виникла непередбачена помилка на сервері.

Список всіх публікацій

Викликавши даний метод ти зможеш отримати перелік всіх публікацій.

Endpoint

GET api/publication/get-all

Приклад запиту

GET /api/publication/get-all

Приклад відповіді

[
    {
        "Id":1,
        "Title":"Назва КНИГИ назва публікації назва публікації назва публікації назва публікації назва публікації",
        "Author":"Іван Ткаченко",
        "Abstract":"Анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація",
        "Category":"Собаки",
        "PublicationDate":"0001-01-01",
    },
    {
        "Id":2,
        "Title":"Назва ПУБЛІКАЦІЇ КОТИ назва публікації назва публікації назва публікації назва публікації назва публікації",
        "Author":"Іван Ткаченко",
        "Abstract":"Анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація",
        "Category":"Коти",
        "PublicationDate":"0001-01-01",
    }
]

Коди відповіді

  • 200 OK: Запит виконано успішно.
  • 500 Internal Server Error: Виникла непередбачена помилка на сервері.

Отримати публікацію

Викликавши даний метод ти зможеш отримати інформацію про публікацію по заданому id.

Endpoint

GET api/publication/get-by-id

Приклад запиту

GET /api/publication/get-by-id?id={id}

Приклад відповіді

{
    "Id":2,
    "Title":"Назва ПУБЛІКАЦІЇ КОТИ назва публікації назва публікації назва публікації назва публікації назва публікації",
    "Author":"Іван Ткаченко",
    "Abstract":"Анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація",
    "Category":"Коти",
    "PublicationDate":"0001-01-01",
}

Коди відповіді

  • 200 OK: Запит виконано успішно.
  • 500 Internal Server Error: Виникла непередбачена помилка на сервері.

Знайти публікацію за назвою, анотацією, категорією

Викликавши даний метод ти зможеш отримати перелік публікацій, які містять у собі точні співпадіння searchString з назвою чи анотацією, чи категорією.

Endpoint

GET api/publication/search-by-tit-abs-cat

Приклад запиту

GET /api/publication/search-by-tit-abs-cat?searchString={searchString}

Приклад відповіді

[
    {
        "Id":1,
        "Title":"Назва КНИГИ назва публікації назва публікації назва публікації назва публікації назва публікації",
        "Author":"Іван Ткаченко",
        "Abstract":"Анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація",
        "Category":"Собаки",
        "PublicationDate":"0001-01-01",
    },
    {
        "Id":2,
        "Title":"Назва ПУБЛІКАЦІЇ КОТИ назва публікації назва публікації назва публікації назва публікації назва публікації",
        "Author":"Іван Ткаченко",
        "Abstract":"Анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація анотація",
        "Category":"Коти",
        "PublicationDate":"0001-01-01",
    }
]

Коди відповіді

  • 200 OK: Запит виконано успішно.
  • 500 Internal Server Error: Виникла непередбачена помилка на сервері.

Створити публікацію

Викликавши даний метод ти зможеш створити нову публікацію із полями, надісланими у якості аргументу.

Endpoint

POST api/publication/create-by-publication

Приклад запиту

POST /api/publication/create-by-publication
Content-Type: application/json
{
    "Id": "14",
    "Title": "Цікава назва статті",
    "Author": "Анонім Анонімович",
    "Abstract": "Опис цікавої статті",
    "Category": "Тварини",
    "PublicationDate": "21.12.2024",
    "ByteImgArr": array of bytes
}

Приклад відповіді

{
    "status": "success"
}

Коди відповіді

  • 200 OK: Відгук успішно надіслано.
  • 400 Bad Request: Неправильний формат запиту.
  • 401 Unauthorized: Користувач не авторизований.
  • 500 Internal Server Error: Виникла помилка на сервері.

Редагувати публікацію

Викликавши даний метод ти зможеш відредагувати існуючу публікацію із полями, надісланими у якості аргументу.

Endpoint

POST api/publication/update-by-publication

Приклад запиту

POST /api/publication/update-by-publication
Content-Type: application/json
{
    "Id": "14",
    "Title": "Цікава назва статті",
    "Author": "Анонім Анонімович",
    "Abstract": "Опис цікавої статті",
    "Category": "Тварини",
    "PublicationDate": "21.12.2024",
    "ByteImgArr": array of bytes
}

Приклад відповіді

{
    "status": "success"
}

Коди відповіді

  • 200 OK: Відгук успішно надіслано.
  • 400 Bad Request: Неправильний формат запиту.
  • 401 Unauthorized: Користувач не авторизований.
  • 500 Internal Server Error: Виникла помилка на сервері.

Видалити публікацію (спосіб 1)

Викликавши даний метод ти зможеш видалити існуючу публікацію із полями, надісланими у якості аргументу.

Endpoint

POST api/publication/delete-by-publication

Приклад запиту

POST /api/publication/delete-by-publication
Content-Type: application/json
{
    "Id": "14",
    "Title": "Цікава назва статті",
    "Author": "Анонім Анонімович",
    "Abstract": "Опис цікавої статті",
    "Category": "Тварини",
    "PublicationDate": "21.12.2024",
    "ByteImgArr": array of bytes
}

Приклад відповіді

{
    "status": "success"
}

Коди відповіді

  • 200 OK: Відгук успішно надіслано.
  • 400 Bad Request: Неправильний формат запиту.
  • 401 Unauthorized: Користувач не авторизований.
  • 500 Internal Server Error: Виникла помилка на сервері.

Видалити публікацію (спосіб 2)

Викликавши даний метод ти зможеш видалити існуючу публікацію за заданим id.

Endpoint

POST api/publication/delete-by-publication-id

Приклад запиту

POST /api/publication/delete-by-publication
Content-Type: application/json
{
    "Id": "14"
}

Приклад відповіді

{
    "status": "success"
}

Коди відповіді

  • 200 OK: Відгук успішно надіслано.
  • 400 Bad Request: Неправильний формат запиту.
  • 401 Unauthorized: Користувач не авторизований.
  • 500 Internal Server Error: Виникла помилка на сервері.