使用nodejs创建Marketing Cloud的contact数据

简介: 源代码如下:var config = require("./mcConfig");var request = require('request');var url = config.tokenURL;console.

源代码如下:

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:

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

相关文章
|
3月前
|
JavaScript 关系型数据库 MySQL
如何去掉 node.js 获取MySQL数据产生的RowDataPacket
如何去掉 node.js 获取MySQL数据产生的RowDataPacket
|
4月前
【Node】—接收参数 插入数据 实现注册功能
【Node】—接收参数 插入数据 实现注册功能
|
6月前
|
JavaScript 前端开发 API
使用 Dynatrace 对 Node.js 应用的性能数据进行分析
使用 Dynatrace 对 Node.js 应用的性能数据进行分析
31 0
|
7月前
|
人工智能 JSON JavaScript
使用 LangChain 和 Node.js 提取数据
在本篇文章中,将分享如何使用 LangChain(一个用于构建 AI 驱动应用程序的框架)通过 GPT 和 Node.js 提取和生成结构化 JSON 数据
398 0
|
8月前
|
Prometheus Cloud Native Linux
Prometheus(二)之Node Exporter采集Linux主机数据
Prometheus(二)之Node Exporter采集Linux主机数据
164 0
|
10月前
|
JavaScript NoSQL 关系型数据库
从Node.js中提取数据
从Node.js中提取数据
104 1
|
数据采集 JavaScript 前端开发
nodejs通过动态代理爬取招聘网数据
nodejs通过动态代理爬取招聘网数据
|
JavaScript 安全 前端开发
node.js异步模型插入万条excel数据,为了不搞挂系统怎么办?
node.js异步模型插入万条excel数据,为了不搞挂系统怎么办?
node.js异步模型插入万条excel数据,为了不搞挂系统怎么办?
|
SQL JavaScript
如何使用 Node.js 访问 SAP HANA Cloud 数据库里的数据
登录 SAP Business Technology Platform,找到 space 下自己创建好的 HANA Cloud 实例,右键菜单选择 Copy SQL Endpoint,将 HANA Cloud 实例的 endpoint 拷贝下来:
如何使用 Node.js 访问 SAP HANA Cloud 数据库里的数据
|
机器学习/深度学习 算法 Ubuntu
使用CatBoost和NODE建模表格数据对比测试
使用CatBoost和NODE建模表格数据对比测试
144 0
使用CatBoost和NODE建模表格数据对比测试