SAP Cloud for Customer通过增强方式与短信平台集成
短信平台与C4C的集成
在SAP Cloud for Customer中,标准功能已经提供了短信平台的集成功能,本篇文档主要是介绍如何使用增强功能去实现与短信平台的集成。
配置SMS通道: 官方文档.
业务场景
Ticket在某个状态的时候,需要给对应的服务工程师发送短信提醒,及时的跟进Ticket的进度
具体实现
通信系统
1.创建通信系统(管理员–>常规设置–>集成–>通信系统–>添加通信系统)
注意:由于C4C端口的限制,官方默认开放的端口是443&80
2.创建通信场景,基于通信场景创建通信安排
代码实现
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.调用接口
注意
1.由于C4C端口的限制,官方默认开放的端口是443&80。
2.C4C不支持urlencode编码,需要对模版进行特殊处理
第一次发,有不正确的地方,欢迎指正