Как правильно получить данные с помощью Ozon Seller API?

Рейтинг: 0Ответов: 1Опубликовано: 04.08.2023

Не получается выгрузить данные по api из озона в гугл таблицу по google apps script суммы транзакций. В консоле озон все отображается. Заранее спасибо

function getYesterdayDateM() {
  var moscowTimeZone = "Europe/Moscow";
  var moscowDate = new Date();
  moscowDate.setDate(moscowDate.getDate() - 1);
  moscowDate.setHours(0, 0, 0, 0);
  
  var year = moscowDate.getUTCFullYear();
  var month = (moscowDate.getUTCMonth() + 1).toString().padStart(2, '0');
  var day = moscowDate.getUTCDate().toString().padStart(2, '0');
  var formattedDateM = year + '-' + month + '-' + day + 'T00:00:00.000Z';
  
  return formattedDateM;
}


function getYesterdayDateN() {
  var moscowTimeZone = "Europe/Moscow";
  var moscowDate = new Date();
  moscowDate.setDate(moscowDate.getDate() - 1);
  moscowDate.setHours(23, 59, 59, 0);
  
  var year = moscowDate.getUTCFullYear();
  var month = (moscowDate.getUTCMonth() + 1).toString().padStart(2, '0');
  var day = moscowDate.getUTCDate().toString().padStart(2, '0');
  var formattedDateN = year + '-' + month + '-' + day + 'T23:59:59.000Z';
  
  return formattedDateN;
}

function sendPostRequest() {
  var url = "https://api-seller.ozon.ru/v3/finance/transaction/totals";
  var headers = {
    "Client-Id": "<12345>",
    "Api-Key": "<ххххххх>",
    "Content-Type": "application/json"
  };
  
  var body = {
    "date": {
      "from": getYesterdayDateM(),
      "to": getYesterdayDateN()
    },
    "posting_number": null, 
    "transaction_type": "all"
  };

  var options = {
    "method": "post",
    "headers": headers,
    "contentType": "application/json",
    "payload": JSON.stringify(body),
    "muteHttpExceptions": true,
    "followRedirects": false
  };

  var response = UrlFetchApp.fetch(url, options);
  var json = response.getContentText();
  var data = JSON.parse(json);
  
  return data;
}

function loadTransactionData() {
  var response = sendPostRequest();
  if (response && response.result) {
    var transactionData = response.result;
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName('Транзакции');
  
    sheet.getRange(2, 1, 1, 8).setValues([[
      transactionData.accruals_for_sale,
      transactionData.sale_commission,
      transactionData.processing_and_delivery,
      transactionData.refunds_and_cancellations,
      transactionData.services_amount,
      transactionData.compensation_amount,
      transactionData.money_transfer,
      transactionData.others_amount
    ]]);
  }
}

Ответы

▲ 1

Удалите posting_number из запроса