После подготовке таблицы с данными:
1. Перейдите в "Расширения" -> "Apps Script"
2. Вставьте следующий код в редактор
function createTrigger() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
if (triggers[i].getHandlerFunction() === 'onEdit') {
return;
}
}
ScriptApp.newTrigger('onEdit')
.forSpreadsheet(spreadsheet)
.onEdit()
.create();
}
function onEdit(e) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// Получаем активный лист (тот, где произошло изменение)
var activeSheet = e.source.getActiveSheet();
// Получаем ID листа (gid)
var sheetId = activeSheet.getSheetId();
// Получаем базовый URL таблицы
var baseUrl = spreadsheet.getUrl();
// Формируем полный URL с gid параметром
var fullUrl = baseUrl + "?gid=" + sheetId + "#gid=" + sheetId;
var url = "https://sp1-nova.ru/api/gt-cache-update/";
var payload = {
url: fullUrl, // Теперь отправляем полный URL с gid
subdomain: "subdomain"
};
var options = {
method: "post",
contentType: "application/x-www-form-urlencoded",
payload: payload,
muteHttpExceptions: true
};
try {
var response = UrlFetchApp.fetch(url, options);
Logger.log("Лист: " + activeSheet.getName() + " (gid: " + sheetId + ")");
Logger.log("Отправленный URL: " + fullUrl);
Logger.log("Код ответа: " + response.getResponseCode());
Logger.log("Тело ответа: " + response.getContentText());
} catch (error) {
Logger.log("Ошибка запроса: " + error.toString());
}
}
3. Вместо subdomain нужно написать свой субдомен без .amocrm.ru
4. Далее кликнуть на Сохранить
5. Выбрать createTrigger и нажать выполнить, дать все разрешения
6. Кликнуть на Run
Теперь при изменении таблицы она будет автоматически подгружаться в amoCRM