samlevan
2/23/2017 - 1:46 AM

google_sheet_code_for_enrichment.gs

function mk_find_person(email, api_key, use_beta) {
  url = 'https://api.madkudu.com/v1/persons?email=' + email;
  var params = {
    "method":"GET",
    "contentType": "application/json",
    "headers": {"Authorization" : "Basic " + Utilities.base64Encode(api_key + ':')}
  };
  var response = UrlFetchApp.fetch(url, params);    
  var json_data = JSON.parse(response.getContentText());
  return format_api_response(json_data); 
}

function format_api_response(json_data) {
  return [[
    json_data.properties.customer_fit.segment,
    mk_format_signals(json_data.properties.customer_fit.top_signals)
  ]];
}


function mk_format_signals(signals) {
  var formatted_signals = '';
  for (var i=0; i < signals.length; i++) {
    formatted_signals += (formatted_signals !== '' ? '\n' : '' ) + format_signal(JSON.stringify(signals[i]));    
  }
  return formatted_signals;
}


function format_signal(cell_value) {
  if (cell_value === '') {return '';}
  var data;
  try {
    data = JSON.parse(cell_value);
  }
  catch(e) {
    Logger.log(e);
    return;
  }
  var signal = "";  
  signal += data.type === 'positive' ? '↗ ' : '✖ ';
  
  if (data.value === 'true' || data.value === true) {
    signal += 'is ';
  }

  if (data.value === 'false' || data.value === false) {
    signal += 'is not ';
  }

  signal += data.name;
  
  if (data.value === true || data.value === false) {
    return signal;
  }
  
  if (data.value !== null && ['true', 'false'].indexOf(data.value) === -1) {
    signal += ' is ' + (isNaN(data.value) || data.name.indexOf('year') > 0 ? data.value : data.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
  }
  
  return signal;
}