乐趣区

使用nodejs创建Marketing-Cloud的contact数据

源代码如下:

var config = require("./mcConfig");
var request = require('request');

var url = config.tokenURL;

console.log("user:" + config.user + "password:" + config.password); 
var getTokenOptions = {
        url: url,
        method: "GET",
        json:true,     
        headers: {'Authorization': 'Basic' + new Buffer(config.user + ":" + config.password).toString('base64'),
            "content-type": "application/json",
            "x-csrf-token" :"fetch"
        }
};

function getToken() {return new Promise(function(resolve,reject){var requestC = request.defaults({jar: true});
      console.log("Step1: get csrf token via url:" + url);

      requestC(getTokenOptions,function(error,response,body){var csrfToken = response.headers['x-csrf-token'];
       if(!csrfToken){reject({message:"token fetch error:" + error});
          return;
       }
       console.log("Step1: csrf token got:" + csrfToken);
       resolve(csrfToken);
      }); 
     });
}

function createContact(token){return new Promise(function(resolve, reject){
        var oPostData = {"CountryCode":"CN",
                    "City":"Chengdu",
                    "FirstName":"Jerry4",
                    "LastName":"Wang2",
                    "PostalCode":"610093",
                    "RegionCode":"","Street":" 天府软件园 ","HouseNumber":" 天府软件园 ","DateofBirth":null,"ContactPersonFacets":[
                      {"Id":"jerry1@sap.com",
                       "IdOrigin":"EMAIL",
                       "Obsolete":false,
                       "Invalid":false},
                       {"Id":"","IdOrigin":"PHONE","Obsolete":false,"Invalid":false},
                       {"Id":"","IdOrigin":"MOBILE","Obsolete":false,"Invalid":false},
                       {"Id":"","IdOrigin":"FAX","Obsolete":false,"Invalid":false}
                       ],
                       "IsConsumer":true,
                       "Filter":{"MarketingAreaId":"CXXGLOBAL"}
                    };
        var requestC = request.defaults({jar: true});
        var createOptions = {
              url: config.createContactURL,
              method: "POST",
              json:true,
              headers: {
                  "content-type": "application/json",
                  'x-csrf-token': token
              },
              body:oPostData
        };
        requestC(createOptions,function(error,response,data){if(error){reject(error.message);
            }else {
               var oCreatedContact = data;
               console.log("created contact ID:" + oCreatedContact.d.ContactPersonId);
               resolve(data);
            }
        });
    });
}

getToken().then(createContact).catch((error) =>{console.log("error:" + error.message);
});

这里我把创建的 contact 的名称字段硬编码成 Jerry4:

使用 nodejs 执行这个 js 文件,输出成功创建的 contact guid:

在 Marketing Cloud UI 上看到这个创建成功的 contact:

要获取更多 Jerry 的原创文章,请关注公众号 ” 汪子熙 ”:

退出移动版