SAP Cloud for Customer通过增强方式与短信平台集成

SAP Cloud for Customer通过增强方式与短信平台集成

短信平台与C4C的集成

在SAP Cloud for Customer中,标准功能已经提供了短信平台的集成功能,本篇文档主要是介绍如何使用增强功能去实现与短信平台的集成。
配置SMS通道: 官方文档.

业务场景

Ticket在某个状态的时候,需要给对应的服务工程师发送短信提醒,及时的跟进Ticket的进度

具体实现

通信系统

1.创建通信系统(管理员–>常规设置–>集成–>通信系统–>添加通信系统)
注意:由于C4C端口的限制,官方默认开放的端口是443&80
SAP Cloud for Customer通过增强方式与短信平台集成

2.创建通信场景,基于通信场景创建通信安排
SAP Cloud for Customer通过增强方式与短信平台集成

代码实现

1.创建一个函数调用接口

/*
	Add your SAP Business ByDesign scripting language implementation for:
		Business Object: ServiceRequest
		Node: Root
		Action: SendSMS 
		
	Note: 
	  - To access the elements of the business object node, 
	    use path expressions, for example, this.<element name>. 
	  - To use code completion, press CTRL+J. 
	  - This script file is mass-enabled, i.e. the keyword "this" 
	    refers to a collection of node instances.
	   
*/

import ABSL;
import AP.FO.BusinessPartner.Global;
import AP.CRM.Global as crmGlobal;
foreach(var i in this)
{
	
	//参数定义
	var ScenarioName = "CS_CallQiruiSMSByRest";
	var ServiceName = "EWSI_SMS_qirui";
	var HttpMethod = "GET";
	var HttpResource = "";
	var ContentType = "";
	var HeaderParameter : collectionof NameAndValue;
	var URLParameter : collectionof NameAndValue;
	var Body = "";

	//初始化手机电话
	var mobilePhone = "";
	var address = i.Party.AddressSnapshot;
	foreach(var phone in address)
	{
		
		if(phone.IsSet() && phone.DefaultMobilePhone.IsSet())
		{
			mobilePhone = phone.DefaultMobilePhone.FormattedNumberDescription;
			if(mobilePhone != "")
			{
				break;
			}
		}
	}
	if(mobilePhone == "")
	{
		break;
	}
	//短信模版信息(基于短信平台的要求,信息模版需要进行urlencode编码)
	var smsMsg = "%E3%80%90%E9%B1%BC%E8%B7%83%E5%8C%BB%E7%96%97%E3%80%91%E7%BC%96%E5%8F%B7"
				+ i.ID.content.RemoveLeadingZeros()
				+ "%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%B7%A5%E5%8D%95%E5%B7%B2%E5%88%86%E9%85%8D%E7%BB%99%E6%82%A8%EF%BC%8C%E8%AF%B7%E5%B0%BD%E5%BF%AB%E6%8E%A5%E6%94%B6%E5%A4%84%E7%90%86%EF%BC%81";

	//拼接GET请求
	var URLParameterEntry : NameAndValue;
	//操作
	URLParameterEntry.Name = "action";
	URLParameterEntry.Value = "xxxx";
	URLParameter.Add(URLParameterEntry);
	//用户账号:员工@企业编码
	URLParameterEntry.Name = "ac";
	URLParameterEntry.Value = "xxxx";
	URLParameter.Add(URLParameterEntry);
	//认证
	URLParameterEntry.Name = "authkey";
	URLParameterEntry.Value = "xxxx";
	URLParameter.Add(URLParameterEntry);
	//短信模板
	URLParameterEntry.Name = "c";
	URLParameterEntry.Value = smsMsg;
	URLParameter.Add(URLParameterEntry);
	//电话
	URLParameterEntry.Name = "m";
	URLParameterEntry.Value = mobilePhone;
	URLParameter.Add(URLParameterEntry);

	
	//调用在外部Web服务集成方案中定义的REST Web服务。
	var ws_result = WebServiceUtilities.ExecuteRESTService(ScenarioName, ServiceName,
	HttpMethod, HttpResource, URLParameter, HeaderParameter, ContentType, Body);
	var res_ContentType = ws_result.ContentType;
	var res_Content = ws_result.Content;
	var res_Code = ws_result.Code;
};

2.调用接口
SAP Cloud for Customer通过增强方式与短信平台集成

注意

1.由于C4C端口的限制,官方默认开放的端口是443&80。
2.C4C不支持urlencode编码,需要对模版进行特殊处理

第一次发,有不正确的地方,欢迎指正