Google script to update mailchimp member information gets Ok response from API but no info is updated










0















The goal is to update member's information on mailchimp when anything is updated here. I already have the onEdit function working. Mailchimp API Result is Ok, and it says "throttled = no" and response = n/a. Google console response is Ok too, so I'm going mad with this code:



 function sendToMailChimp(id_customer,id_shop,id_gender,fn,ln,em,optin,date_add,last_order,num_pedidos,aov,good_experience)
var API_KEY = 'xxxxxxxx-us10';
var mc_base_url = 'https://us10.api.mailchimp.com/3.0';
var mc_list_id = 'xxxxxxxxxxxx';

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('');
//Header of PUT request
var headers =
'Authorization': 'Basic ' + Utilities.base64Encode('username' + ':' + API_KEY, Utilities.Charset.UTF_8),

;

//MailChimp API requires MD5 hash of email to identify a subscriber
function md5(str)
return Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, str).reduce(function(str,chr)
chr = (chr < 0 ? chr + 256 : chr).toString(16);
return str + (chr.length==1?'0':'') + chr;
,'');

var emHash = md5(em.toString().toLowerCase());

//Body of PUT request
var payload = JSON.stringify(
"status_if_new": "subscribed",
"email_address": em,
"merge_fields":
"id_customer": id_customer,
"id_shop": id_shop,
"id_gender": id_gender,
"optin": optin,
"date_add": date_add,
"last_order": last_order,
"num_pedidos": num_pedidos,
"aov": aov,
"firstname": fn,
"lastname": ln,
"good_experience": good_experience

);

//put the above variables together into 'options'
var options =
"headers" : headers,
"payload": payload,
"method" : "put",
"muteHttpExceptions" : true
;
//PUT request to specific subscriber in Mailchimp
var response = UrlFetchApp.fetch(mc_base_url + '/lists/' + mc_list_id + '/members/' + emHash,options);
if( response.getResponseCode() == 200 )
console.info( "SUCCESS to PROD for " + em + payload);
else
console.log(response);











share|improve this question


























    0















    The goal is to update member's information on mailchimp when anything is updated here. I already have the onEdit function working. Mailchimp API Result is Ok, and it says "throttled = no" and response = n/a. Google console response is Ok too, so I'm going mad with this code:



     function sendToMailChimp(id_customer,id_shop,id_gender,fn,ln,em,optin,date_add,last_order,num_pedidos,aov,good_experience)
    var API_KEY = 'xxxxxxxx-us10';
    var mc_base_url = 'https://us10.api.mailchimp.com/3.0';
    var mc_list_id = 'xxxxxxxxxxxx';

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName('');
    //Header of PUT request
    var headers =
    'Authorization': 'Basic ' + Utilities.base64Encode('username' + ':' + API_KEY, Utilities.Charset.UTF_8),

    ;

    //MailChimp API requires MD5 hash of email to identify a subscriber
    function md5(str)
    return Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, str).reduce(function(str,chr)
    chr = (chr < 0 ? chr + 256 : chr).toString(16);
    return str + (chr.length==1?'0':'') + chr;
    ,'');

    var emHash = md5(em.toString().toLowerCase());

    //Body of PUT request
    var payload = JSON.stringify(
    "status_if_new": "subscribed",
    "email_address": em,
    "merge_fields":
    "id_customer": id_customer,
    "id_shop": id_shop,
    "id_gender": id_gender,
    "optin": optin,
    "date_add": date_add,
    "last_order": last_order,
    "num_pedidos": num_pedidos,
    "aov": aov,
    "firstname": fn,
    "lastname": ln,
    "good_experience": good_experience

    );

    //put the above variables together into 'options'
    var options =
    "headers" : headers,
    "payload": payload,
    "method" : "put",
    "muteHttpExceptions" : true
    ;
    //PUT request to specific subscriber in Mailchimp
    var response = UrlFetchApp.fetch(mc_base_url + '/lists/' + mc_list_id + '/members/' + emHash,options);
    if( response.getResponseCode() == 200 )
    console.info( "SUCCESS to PROD for " + em + payload);
    else
    console.log(response);











    share|improve this question
























      0












      0








      0








      The goal is to update member's information on mailchimp when anything is updated here. I already have the onEdit function working. Mailchimp API Result is Ok, and it says "throttled = no" and response = n/a. Google console response is Ok too, so I'm going mad with this code:



       function sendToMailChimp(id_customer,id_shop,id_gender,fn,ln,em,optin,date_add,last_order,num_pedidos,aov,good_experience)
      var API_KEY = 'xxxxxxxx-us10';
      var mc_base_url = 'https://us10.api.mailchimp.com/3.0';
      var mc_list_id = 'xxxxxxxxxxxx';

      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName('');
      //Header of PUT request
      var headers =
      'Authorization': 'Basic ' + Utilities.base64Encode('username' + ':' + API_KEY, Utilities.Charset.UTF_8),

      ;

      //MailChimp API requires MD5 hash of email to identify a subscriber
      function md5(str)
      return Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, str).reduce(function(str,chr)
      chr = (chr < 0 ? chr + 256 : chr).toString(16);
      return str + (chr.length==1?'0':'') + chr;
      ,'');

      var emHash = md5(em.toString().toLowerCase());

      //Body of PUT request
      var payload = JSON.stringify(
      "status_if_new": "subscribed",
      "email_address": em,
      "merge_fields":
      "id_customer": id_customer,
      "id_shop": id_shop,
      "id_gender": id_gender,
      "optin": optin,
      "date_add": date_add,
      "last_order": last_order,
      "num_pedidos": num_pedidos,
      "aov": aov,
      "firstname": fn,
      "lastname": ln,
      "good_experience": good_experience

      );

      //put the above variables together into 'options'
      var options =
      "headers" : headers,
      "payload": payload,
      "method" : "put",
      "muteHttpExceptions" : true
      ;
      //PUT request to specific subscriber in Mailchimp
      var response = UrlFetchApp.fetch(mc_base_url + '/lists/' + mc_list_id + '/members/' + emHash,options);
      if( response.getResponseCode() == 200 )
      console.info( "SUCCESS to PROD for " + em + payload);
      else
      console.log(response);











      share|improve this question














      The goal is to update member's information on mailchimp when anything is updated here. I already have the onEdit function working. Mailchimp API Result is Ok, and it says "throttled = no" and response = n/a. Google console response is Ok too, so I'm going mad with this code:



       function sendToMailChimp(id_customer,id_shop,id_gender,fn,ln,em,optin,date_add,last_order,num_pedidos,aov,good_experience)
      var API_KEY = 'xxxxxxxx-us10';
      var mc_base_url = 'https://us10.api.mailchimp.com/3.0';
      var mc_list_id = 'xxxxxxxxxxxx';

      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName('');
      //Header of PUT request
      var headers =
      'Authorization': 'Basic ' + Utilities.base64Encode('username' + ':' + API_KEY, Utilities.Charset.UTF_8),

      ;

      //MailChimp API requires MD5 hash of email to identify a subscriber
      function md5(str)
      return Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, str).reduce(function(str,chr)
      chr = (chr < 0 ? chr + 256 : chr).toString(16);
      return str + (chr.length==1?'0':'') + chr;
      ,'');

      var emHash = md5(em.toString().toLowerCase());

      //Body of PUT request
      var payload = JSON.stringify(
      "status_if_new": "subscribed",
      "email_address": em,
      "merge_fields":
      "id_customer": id_customer,
      "id_shop": id_shop,
      "id_gender": id_gender,
      "optin": optin,
      "date_add": date_add,
      "last_order": last_order,
      "num_pedidos": num_pedidos,
      "aov": aov,
      "firstname": fn,
      "lastname": ln,
      "good_experience": good_experience

      );

      //put the above variables together into 'options'
      var options =
      "headers" : headers,
      "payload": payload,
      "method" : "put",
      "muteHttpExceptions" : true
      ;
      //PUT request to specific subscriber in Mailchimp
      var response = UrlFetchApp.fetch(mc_base_url + '/lists/' + mc_list_id + '/members/' + emHash,options);
      if( response.getResponseCode() == 200 )
      console.info( "SUCCESS to PROD for " + em + payload);
      else
      console.log(response);








      mailchimp mailchimp-api-v3.0






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 11 '18 at 6:20









      jotaceejotacee

      13




      13






















          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246359%2fgoogle-script-to-update-mailchimp-member-information-gets-ok-response-from-api-b%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246359%2fgoogle-script-to-update-mailchimp-member-information-gets-ok-response-from-api-b%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

          How do I collapse sections of code in Visual Studio Code for Windows?

          ャフサォクコ ケウ,コ,ワ メ,ロスョノ゙,クネ,フムカヤヲニ,エコ゚ツ ウイオン゙ケワサネォキモュキォウイノンコチ゚メヌナイゥフュ,カヒウネェ ネ,ホノケ,ムュキ ッボーミュハ,チ ツス ィ メウイマヤ,゙ウチ ヅ ロ,ォジヌェ ャヌット ェ,マャ,チナエヒネソキツテ トホヲヲミーァ