Для ручной отправки запросов на системах семейства linux и macOs можно воспользоваться консольной утилитой curl (https://curl.se/ https://github.com/curl/curl)
При отправке запроса необходимо добавить в запрос заголовок Conntent-type cо значением application-json
- Запрос получения списка актуальных событий:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer my-auth-token" \
--request GET \
https://bel.sport/api/1.0/events?nearestActualDate=true
- Запрос подписки на новостную рассылку на портале
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer my-auth-token" \
--request POST \
--data '{"email":"subscribe@me.ru","from":"footer"}' \
https://bel.sport/api/1.0/subscribers
Для отправки запросов из портала используются специальные библиотеки, позволяющие отправлять динамические запросы на сервер, например axois.js (https://www.npmjs.com/package/axios)
- Запрос получения списка актуальных событий:
const response = await axios.get('https://bel.sport/api/1.0/events?nearestActualDate=true', {
headers: {
'Content-Type': 'application/json'
}
});
return response.data.json
- Запрос подписки на новостную рассылку на портале:
const response = await axios.get('https://bel.sport/api/1.0/subscribers', {
email: "subscribe@me.ru",
from: "footer"
}, {
headers: {
'Content-Type': 'application/json'
}
});
return response.data.json
Для доступа к некоторым функциям на портале, необходимо предварительно авторизоваться.
Для авторизации на портале необходимо отправить отравить POST запрос в формате 'multipart/form-data' с полями 'email' и 'password' на url https://bel.sport/auth/login/local?redirectTo=some_url.
Результатом запроса будет редирект с query параметром auth на страницу указанную в redirectTo.
Он может принимать два значения success и failed, в зависимости от результат запроса - успешная авторизация или ошибка в логине или пароле.
При выполнении запросов к api встроенный механизм будет автоматически считывать информацию об авторизации через cookie, поэтому добавлять дополнительные параметры для идентификации пользователя не требуется
Для авторизации через API необходимо отправить такой же запрос на url https://bel.sport/api/1.0/me/auth
В случае успешного выполнения авторизации в теле ответа в формате json будет содержаться токен аутентификации
{"success": true, "token": "my-auth-token"}