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;
}