我们可以使用SAP Marketing Cloud提供的Contact create OData API在第三方应用里创建Contact主数据.

API地址:/sap/opu/odata/sap/CUAN_CONTACT_SRV/InteractionContacts

示例代码只有100多行:


import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import sun.misc.BASE64Encoder;public class SimpleContactCreator {private ConfigUtil mConfigUtil = new ConfigUtil();HttpClient m_httpClient;private String getBasicAuth(){final String text = mConfigUtil.getConfig("user") + ":" + mConfigUtil.getConfig("password");     BASE64Encoder encoder = new BASE64Encoder();String credentials = "basic " + encoder.encode(text.getBytes());return credentials;}private HttpClient getHttpClient() {if (this.m_httpClient == null) {this.m_httpClient = HttpClientBuilder.create().build();}return this.m_httpClient;}private String getCSRFToken(){String url = mConfigUtil.getConfig("tokenurl");System.out.println("fetch CSRF token via url: " + url);final HttpGet get = new HttpGet(url);get.setHeader("Authorization", getBasicAuth());get.setHeader("Cache-Control", "no-cache");get.setHeader("content-type", "application/json");get.setHeader("Accept", "application/json");get.setHeader("x-csrf-token", "fetch");HttpResponse response;String token = null;try {response = getHttpClient().execute(get);StatusLine statusLine = response.getStatusLine();int code = statusLine.getStatusCode();System.out.println("Status code: " + code);System.out.println("reason: " + statusLine.getReasonPhrase());token = response.getFirstHeader("x-csrf-token").getValue();System.out.println("token: " + token);} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException | UnsupportedOperationException e) {e.printStackTrace();}return token;}public void run(String body){String token = getCSRFToken();createContact(token, body);}private void createContact(String token, String body){final HttpPost post = new HttpPost(URI.create(mConfigUtil.getConfig("contactcreateurl")));post.setHeader("Authorization", getBasicAuth());post.setHeader("Content-Type", "application/json");post.setHeader("X-CSRF-Token", token);HttpEntity entity = null;try {entity = new StringEntity(body);} catch (UnsupportedEncodingException e) {e.printStackTrace();}post.setEntity(entity);HttpResponse response = null;try {response = getHttpClient().execute(post);} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}System.out.println("Response statusCode for Batch => "+ response.getStatusLine().getStatusCode());}public static void main(String[] args) {SimpleContactCreator tool = new SimpleContactCreator();String body = "{\"IsConsumer\":true," + "\"Filter\":{\"MarketingArea\":\"CXXGLOBAL\"}," + "\"__metadata\":{\"type\":\"CUAN_CONTACT_SRV.InteractionContact\"}," + "\"FirstName\":\"SAP Diablo\",\"LastName\":\"SAP Wang\",\"Country\":\"CN\"," + "\"EMailAddress\":\"seya@sap.com\",\"YY1_WECHATID_MPS\":\"i042416\"," + "\"YY1_FACEID_MPS\":\"d042416\"}";tool.run(body);}
}

上述代码里,我硬编码了一个Contact的姓为SAP Wang,名为SAP diablo,

执行之后, 打印出API消费成功的201代码。

硬编码的数据能够在Marketing Cloud里观察到。

上述源代码在我的github上也能看到:https://github.com/i042416/JavaTwoPlusTwoEquals5/blob/master/src/partner1/SimpleContactCreator.java
要获取更多Jerry的原创文章,请关注公众号"汪子熙":

如何用Java代码在SAP Marketing Cloud里创建contact数据相关推荐

  1. 使用Java代码在SAP Marketing Cloud上创建Contact数据

    源代码: package partner1;import java.io.IOException; import java.io.UnsupportedEncodingException; impor ...

  2. SAP Marketing Cloud里的contact main facet是什么意思

    界面如下: Basically, contact data for SAP Hybris Marketing can be loaded from various sources, such as a ...

  3. SAP Marketing Cloud里获取Contact Interaction的postman请求

    https://hybris.com/sap/opu/odata/sap/CUAN_CONTACT_SRV/$batch?sap-client=100 Content-type:multipart/m ...

  4. 使用postman删除Marketing Cloud里的contact数据

    postman界面: url:/sap/opu/odata/sap/CUAN_CONTACT_SRV/$batch?sap-client=100 HTTP头部: batch操作的正文: –batch_ ...

  5. 如何在Marketing Cloud里创建extension field扩展字段

    首先在Marketing Cloud里找到创建扩展字段的tile入口,搜索关键字extension: 这会进入Fiori应用"Custom fields",能看到系统里所有创建好的 ...

  6. 如何在Marketing Cloud里创建extension field扩展字

    首先在Marketing Cloud里找到创建扩展字段的tile入口,搜索关键字extension: 这会进入Fiori应用"Custom fields",能看到系统里所有创建好的 ...

  7. 使用nodejs实现OData的batch操作在Marketing Cloud里读取contact信息

    我们先来看看Marketing Cloud系统里的contact信息: 一共1218374条数据. 我们用如下的nodejs代码通过OData来获取这些数据: var request = requir ...

  8. SAP Marketing cloud里的campaign管理

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

  9. 批量删除Marketing Cloud里的contact

    基本思路就是使用Odata的batch操作,在一个batch容器里放入多个delete动作.一个典型的payload如下面所示: –batch_1e89-cb21-3cdd Content-Type: ...

最新文章

  1. JAVA删除临时文件
  2. define关键字的使用,以及宏函数的定义
  3. Python基础之:数字字符串和列表
  4. linux发送邮件的功能总结
  5. JACK——BOM Exercise2
  6. 2018可能大火的物联网应用
  7. 【Playable API】不用Animator如何播放动画?
  8. linux eth0 目录,教程 | Linux常用命令大全
  9. js table多层嵌套_只会console.log?8个高效调试js的console方法
  10. 目标检测——初始学习率设置的学习笔记
  11. 解决Jquery Kendo.xxx is not a function 的方法
  12. 一步一步学Ruby(五): Class, Module, Object,Kernel的关系
  13. DeNA/上海纵游通过使用AWS大量缩短新款游戏和服务的上线时间
  14. 苹果电脑上几款不错的图片浏览管理工具
  15. 每天写工作日志、周报你怎么看?
  16. 《从Paxos到Zookeeper分布式一致性原理与实践》读书笔记
  17. 手机上怎么录制斗鱼直播视频,直播视频怎么录制
  18. python的py、pyc、pyo、pyd文件区别
  19. Winsock编程接口实验:实现ipconfig
  20. 成都睿铂|超详细三维模型单体化技术流程与标准

热门文章

  1. ECMAScript 6入门 - 变量的解构赋值
  2. sqlserver迁移到mysql遇到的那些坑
  3. 字符识别(模板匹配BP神经网络训练)
  4. Cannot run program /opt/CI/android-sdk-linux/build-tools/26.0.0/aapt: error=13, Permission denied
  5. 文本挖掘(part6)--共现矩阵
  6. 文献学习(part33)--Clustering by fast search and find of density peaks
  7. Django(part52)--项目部署
  8. 第三次学JAVA再学不好就吃翔(part57)--StringBuffer和String的相互转换
  9. 第三次学JAVA再学不好就吃翔(part20)--面向对象
  10. windows编辑linux系统文件格式,DOS/Windows和Linux/Unix间的文件格式转换