С вопросом

Как надо исправить скрипт?

13 апреля 2023
25490
1
4

Здравствуйте. Нашёл скрипт который выгружает остатки с озона в гугл таблицы. Вопрос. Что надо сделать чтобы скрипт выгружал: Уникальные посетители, всего (>1000), Уникальные посетители с просмотром карточки товара, Конверсия 2 (>20%), Заказано товаров? вот скрипт.

const apiKey = 'ххххххххххххххххххххххххххххххххх';

const clientId = 'ххххх';

const headers = {

'Client-Id': clientId,

'Api-Key': apiKey

};

var body = {

"filter": {

"visibility": "ALL"

},

"limit": 500 

};

var options = {

"method": "POST",

"headers": headers,

"contentType": "application/json",

"payload": JSON.stringify(body)

};

function onOpen() {

var ui = SpreadsheetApp.getUi();

ui.createMenu('Ozon')

.addItem("Получить остатки", "displayStock")

.addSeparator()

.addItem("Получить метрики", "displayMetrics")

.addToUi()

}

function callRequestOzonStock() {

var response = UrlFetchApp.fetch("https://api-seller.ozon.ru/v3/product/info/stocks", options);

// Parse the JSON reply

var json = response.getContentText();

var data = JSON.parse(json);

return data;

}

function displayStock() {

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getSheetByName('stock'); 

var result_stock = callRequestOzonStock().result.items;

var output_stock = [];

let i = 1;

result_stock.forEach(function(elem) {

var sku = elem.offer_id;

var stock_fbo = elem.stocks.filter(x => x['type'] == 'fbo').map(y => y.present - y.reserved);

var stock_fbs = elem.stocks.filter(x => x['type'] == 'fbs').map(y => y.present - y.reserved);

output_stock.push([i++, sku, stock_fbo, stock_fbs]);

})

var len = output_stock.length;

sheet.sort(1);

sheet.getRange(2,1,500,4).clearContent(); 

sheet.getRange(2,1,len,4).setValues(output_stock); 

sheet.getRange(2,1,500,7).setVerticalAlignment("middle");

sheet.getRange(2,1,500,7).setHorizontalAlignment("center");

ss.toast('Остатки выгружены');

}

1 комментарий
Чтобы оставить комментарий, нужно  или 
  • O
    ozondmsh
    больше 3 лет назад

    Добрый день! По сторонним решениям нужно уточнять у разработчиков решения.