function WorldclassAPISchedulingPerm() {
console.log(`Функция WorldclassAPISchedulingPerm начала работу в ${(new Date()).toLocaleString("ru-RU")}`);
const url = 'https://my.worldclass.ru/api/v1/clubs/scheduling';
const currentDate = new Date();
const endDate = new Date(currentDate);
endDate.setDate(currentDate.getDate() + 7);
// Подробное описание: https://pikabu .ru/story/kak_ya_uluchshil_svoyo_vzaimodeystvie_s_fitnesklubom_world_class_naydya_i_ispolzuya_ikh_api_11835205
// Это версия скрипта полного дня
const payload = {
"gymList": [
"d35ba5fc-1f7e-11ec-b664-50e548298f06" // это World Class в Перми
],
"startDate": currentDate.toISOString().split('.')[0],
"endDate": endDate.toISOString().split('.')[0],
"chain": 1,
"token": "70a69ca6-XXXX-XXXX-a975-005056b1372d"
};
const options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload),
muteHttpExceptions: true,
headers: {
'brand': 'WorldClass',
'language': 'Ru',
'chain': '1',
'Accept': '*/*',
'Origin': 'https://my.worldclass.ru',
'Referer': 'https://my.worldclass.ru/scheduling?clubs='
},
timeoutSeconds: 30
};
try {
const response = UrlFetchApp.fetch(url, options);
const responseCode = response.getResponseCode();
console.log(`Код ответа: ${responseCode}`);
const responseText = response.getContentText();
const responseData = JSON.parse(responseText); // Разбираем JSON-строку
if (responseCode === 200) {
// Фильтрация для "ICG Color Cycle (сайкл)" и "CORE"
const filteredDates = responseData.data
.filter(item => item.service.name === "ICG Color Cycle (сайкл)" || item.service.name === "CORE")
.map(item => ({
name: item.service.name,
startDate: item.startDate,
employee: item.employee.firstName + " " + item.employee.lastName,
shortDescription: item.service.shortDescription
}));
console.log('Отфильтрованные даты:', filteredDates);
// Создаем события в календаре для каждой отфильтрованной даты
filteredDates.forEach(eventData => {
const startTime = new Date(eventData.startDate);
const endTime = new Date(startTime);
endTime.setHours(startTime.getHours() + 1); // Устанавливаем продолжительность события на 1 час
let eventTitle = `${eventData.name} - ${eventData.employee}`;
let eventDescription = '';
eventDescription = eventData.shortDescription +
'\n\nhttps://my.worldclass.ru/scheduling?clubs=d35ba5fc-1f7e-11ec...' +
'\nСоздано автоматически ' + (new Date()).toLocaleString("ru-RU");
CalendarApp.getDefaultCalendar().createEvent(
eventTitle,
startTime,
endTime, {
description: eventDescription,
location: 'Фитнес клуб World Class, Пермская ул., 33, Пермь, Пермский край, Россия, 614045'
}
);
console.log(`Событие создано для: ${startTime} - ${eventTitle}`);
});
} else {
console.error(`Ошибка: получен статус ${responseCode} с ответом: ${responseText}`);
}
} catch (error) {
console.error('Ошибка запроса:', error.message);
}
console.log(`Функция WorldclassAPISchedulingPerm закончила работу в ${(new Date()).toLocaleString("ru-RU")}`);
}