Получение справочников
Получение списка источников отзывов
Запрос:
GET /api/reputation-public-reviews/v1/sources HTTP/1.1
Host: partner.tlintegration.com
Authorization: Bearer {{access_token}}
Параметры: Отсутствуют
Ответ:
{
"sources": [
{
"id": "16",
"code": "Yandex"
},
{
"id": "12",
"code": "Google"
},
{
"id": "8",
"code": "Booking"
},
{
"id": "4",
"code": "TripAdvisor"
}
]
}
Описание полей ответа:
| Поле | Тип | Описание |
|---|---|---|
sources | array | Массив источников отзывов |
sources[].id | string | Уникальный идентификатор источника |
sources[].code | string | Код источника (например: Yandex, Google, Booking, TripAdvisor) |
Получение справочника шкалы рейтингов
Запрос:
GET /api/reputation-public-reviews/v1/rating-scales HTTP/1.1
Host: partner.tlintegration.com
Authorization: Bearer {{access_token}}
Параметры: Отсутствуют
Ответ:
{
"ratingScale": [
{
"code": "poor",
"minScore": 0,
"maxScore": 2
},
{
"code": "not_bad",
"minScore": 2,
"maxScore": 4
},
{
"code": "good",
"minScore": 4,
"maxScore": 6
},
{
"code": "very_good",
"minScore": 6,
"maxScore": 8
},
{
"code": "excellent",
"minScore": 8,
"maxScore": 10
}
]
}
Описание полей ответа:
| Поле | Тип | Описание |
|---|---|---|
ratingScale | array | Массив категорий рейтинга |
ratingScale[].code | string | Код категории (poor, not_bad, good, very_good, excellent) |
ratingScale[].minScore | integer | Минимальное значение рейтинга для категории (включительно для самой низкой, иначе не включительно) |
ratingScale[].maxScore | integer | Максимальное значение рейтинга для категории (включительно) |
Использование справочников
Справочники используются для:
- Определения источника отзыва по
sourceId - Категоризации рейтингов по диапазонам
- Отображения понятных названий категорий рейтингов
- Фильтрации отзывов по источникам
Пример использования:
// Получение справочников
const [sources, ratingScales] = await Promise.all([
fetch('/api/reputation-public-reviews/v1/sources'),
fetch('/api/reputation-public-reviews/v1/rating-scales')
]);
const sourcesData = await sources.json();
const scalesData = await ratingScales.json();
// Создание карты источников
const sourceMap = {};
sourcesData.sources.forEach(source => {
sourceMap[source.id] = source.code;
});
// Определение категории рейтинга
function getRatingCategory(rating) {
return scalesData.ratingScale.find(scale =>
rating > scale.minScore && rating <= scale.maxScore
)?.code || 'unknown';
}