var mktSuite = (function(){ var actions = {} var urlAPIMkt = "http://142.93.247.97:8081" var auth = "eyJ1dWlkIjoiNjM2MzJkY2YtNWQzMi00NTJhLTkzMjItYjQ5NGMwNmMwNmQ5NWI4M2Y3NjAyZTZkZiIsImF1dGgiOiI5M2YzZGQzZjBkZmE4NzY5ZjMyNzMxYjFhZmVkMmY5NTZmOWM3Yzg0YzhiODQzYzY5YjE4M2ViZGE2NGQxN2NlIn0=" var auth2 = "eyJ1dWlkIjoiOWJhZDg3ZDEtMDY3Ny00ZGMxLTllMDAtMDA1ZTZlYTkzYTBiNWI4NTdlNjU1YjE0NyIsImF1dGgiOiJmZDhmODU3NzFhYWRmZmFjZmQ4ZjdiMDI3NWY3YzdjY2RjNDg3MjhiOTM4NGYyNGM1OGViMzE3YzdlM2QwYmNiIn0=" var account = null function call(method, uri, data, success, process) { $.ajax({ xhr: function() { var xhr = new window.XMLHttpRequest(); if(process) { xhr.upload.addEventListener("progress", function(evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; percentComplete = parseInt(percentComplete * 100); process(percentComplete) } }, false); } return xhr; }, url: urlAPIMkt + uri, data: data, type: method, // contentType: false, // processData: false, crossDomain: true, beforeSend: function(xhr){ xhr.setRequestHeader('Auth', auth) xhr.setRequestHeader('account', account) }, success: function(data) { success(data) } }); } var accounts = null actions.authentication = function(success) { call('GET', '/account', null, function (data) { accounts = data.accounts; if (accounts != null) { actions.validation(accounts[0], success) } else { alert("Não possui contas") } }) } actions.validation = function (data, success) { var token = data.token call('POST', '/account/auth', { account: token }, function (data) { account = data.token success() console.log(account); }) } actions.getContactList = function (start, limit) { start = start || 0 limit = limit || 100 call('GET', '/contactlist?start='+start+'&limit='+limit, null, function (data) { console.log(data); }) } actions.postContactList = function (name, description) { name = name description = description || '' call('POST', '/contactlist', {name: name, description: description}, function (data) { console.log(data); }) } actions.getContactListId = function () { call('GET', '/contactlist/22', null, function (data) { console.log(data); }) } actions.putContactListId = function (name, description) { name = name || '' description = description || '' call('PUT', '/contactlist/22', {name: name, description: description}, function (data) { console.log(data); }) } actions.contactListFields = function () { call('GET', '/contactlist/22/field', null, function (data) { console.log(data); }) } actions.contactListContacts = function () { call('GET', '/contactlist/22/contact', null, function (data) { console.log(data); }) } actions.contact = function () { call('GET', '/contact/200', null, function (data) { console.log(data); }) } actions.field = function () { call('GET', '/field/30', null, function (data) { console.log(data); }) } actions.template = function () { call('GET', '/template', null, function (data) { console.log(data); }) } actions.templateId = function () { call('GET', '/template/3', null, function (data) { console.log(data); }) } actions.campaign = function () { call('GET', '/campaign', null, function (data) { console.log(data); }) } actions.campaignId = function () { call('GET', '/campaign/4', null, function (data) { console.log(data); }) } return actions })(); mktSuite.authentication(function() { mktSuite.getContactList() mktSuite.postContactList('teste') mktSuite.getContactListId('trocado') mktSuite.putContactListId() mktSuite.contactListFields() mktSuite.contactListContacts() mktSuite.contact() mktSuite.field() mktSuite.template() mktSuite.templateId() mktSuite.campaign() mktSuite.campaignId() })