Skip to content

Instantly share code, notes, and snippets.

@natalyjazzviolin
Last active June 14, 2021 18:01
Show Gist options
  • Save natalyjazzviolin/a052c045df845ab84ce96316923cabf8 to your computer and use it in GitHub Desktop.
Save natalyjazzviolin/a052c045df845ab84ce96316923cabf8 to your computer and use it in GitHub Desktop.
Squarespace - Google Sheets - Shipstation integration
//Timed trigger
function sheetTrigger() {
ScriptApp.newTrigger("copyData")
.timeBased()
.everyMinutes(1) //Check every (1) minutes
.create();
}
//Copy data function
function copyData() {
//Get source spreadsheet range
let spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
let sourceSheet = spreadSheet.getSheetByName('Form Responses');
var headerRowNumber = 1;
var sourceValues = sourceSheet.getDataRange().offset(headerRowNumber, 0, sourceSheet.getLastRow() - headerRowNumber).getValues();
var lastRow = sourceSheet.getLastRow();
//Get target spreadsheet range
let targetSheet = spreadSheet.getSheetByName('ShipStation');
var targetValues = targetSheet.getDataRange().getValues();
//Get samples
var samples = 8; //Column that contains selected samples
var samples = sourceSheet.getRange(lastRow, samples).getValue();
let products = []
let str = ""
for (let k = 0; k < targetValues.length; k++) {
str = str+ targetValues[k][0]+"#"
}
for (let i =0; i <sourceValues.length; i++) {
products = sourceValues[i][7].split(",")
if(str.indexOf(sourceValues[i][0]) >= 0){
Logger.log(sourceValues[i][7])
}
else {
for (j = 0; j < products.length; j++) {
let now = Utilities.formatDate(new Date(), 'Etc/GMT', 'yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'')
let temp = sourceValues[i]
temp[7] = products[j]
temp[8] = whichSample(temp[7])
temp[9] = now+temp[2]
targetSheet.appendRow(temp)
Logger.log(temp)
}
}
}
function whichSample(str) {
let SKU = '';
if (str.indexOf('1')>= 0){
SKU = '12345'
} if (str.indexOf('2')>= 0) {
SKU = '23456'
} if (str.indexOf('3')>= 0) {
SKU = '34567'
} if (str.indexOf('4')>= 0) {
SKU = '45678'
}
return SKU
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment