layout注意事项
In the post, we will look at how you can orchestrate real-time customer journeys with Adobe’s Journey Orchestration and deliver these experiences through Adobe Campaign Classic.
在本文中,我们将探讨如何使用Adobe的Journey Orchestration安排实时的客户旅程,以及如何通过Adobe Campaign Classic提供这些体验 。
In today’s digital-first environment, customers expect consistent messages across all digital and physical touchpoints. However, businesses struggle to leverage their existing investment in Marketing Technology solutions to cater to these evolving needs of their customers. Some of these challenges are:
在当今的数字优先环境中,客户期望所有数字和物理接触点上的消息一致。 但是,企业难以利用其在营销技术解决方案方面的现有投资来满足客户不断变化的需求。 其中一些挑战是:
- Data needs to be transferred for one system to the other, causing latencies and the inability for Marketers to orchestrate Realtime customer journeys. 数据需要从一个系统传输到另一个系统,从而导致延迟以及营销人员无法编排实时客户旅程。
- Legacy solutions talk in different languages (JSON, XML, etc.), needing custom integration to be built. 传统解决方案使用不同的语言(JSON,XML等)进行对话,需要构建自定义集成。
- Point solutions and in-house built custom integrations increase technical debt and fragility to the Marketing Technology architecture. 点解决方案和内部构建的自定义集成增加了营销技术体系结构的技术负担和脆弱性。
In the rest of this blog, we will discuss how Adobe solutions can help elevate these challenges. We will be looking at :
在本博客的其余部分,我们将讨论Adobe解决方案如何帮助提升这些挑战。 我们将关注:
How to use Adobe Journey Orchestration, Adobe’s real-time orchestration engine that allows businesses to build and execute customer journeys improved by contextual data from events on any channel and system.
如何使用Adobe Journey Orchestration (Adobe的实时业务流程引擎),该业务流程使企业可以通过来自任何渠道和系统上的事件的上下文数据来构建和执行客户旅程。
- How businesses can leverage existing omnichannel messages built on Adobe Campaign Classic with Journey Orchestration to automate marketing and customer communication processes in real-time. 企业如何利用基于Journey Orchestration的Adobe Campaign Classic构建的现有全渠道消息来实时自动化营销和客户沟通流程。
How Adobe I/O Runtime, a serverless platform offering by Adobe, allows businesses to deploy custom code right in the cloud quickly, all in an auto-scaling, no server set-up.
Adobe I / O Runtime是Adobe提供的无服务器平台,它如何使企业能够在云中快速部署自定义代码,而无需自动设置即可自动扩展。
注意事项 (Considerations)
Before we proceed, there are specific considerations/callouts to be aware of. These vary based on the customer ACC implementation architecture, consider the following discovery questions:
在继续之前,需要注意一些特定的注意事项/说明。 这些根据客户ACC实施体系结构而有所不同,请考虑以下发现问题:
- Does the customer have more than one Message Centers provisioned? Your implementation of the middleware will be based on how many message center instances are provisioned and in use. 客户是否设置了多个消息中心? 中间件的实现将基于已配置和正在使用的消息中心实例的数量。
- Is the customer using a load-balanced instance to distribute the load between multiple message center instance? The authentication method used to let Journey Orchestration/middleware trigger ACC messages center templates will depend on whether a load balancer is used. 客户是否正在使用负载平衡的实例在多个消息中心实例之间分配负载? 用于使Journey Orchestration /中间件触发ACC消息中心模板的身份验证方法将取决于是否使用负载均衡器。
- How is the customer triggering message center messages? Is the operator access restricted based on static IP addresses? Actions in JO and Adobe I/O Runtime cannot be restricted based on static IP addresses. Consult with your customer to check whether static IP whitelisting can be lifted for this integration. 客户如何触发消息中心消息? 是否基于静态IP地址来限制操作员访问? 不能基于静态IP地址限制JO和Adobe I / O运行时中的操作。 请咨询您的客户,以检查是否可以取消此集成的静态IP白名单。
Below is a table summarizing these considerations:
下表总结了这些注意事项:
解决方案 (Solutions)
This is a step by step guide how to implement the solution
这是逐步指南,介绍如何实施解决方案
1. Adobe Campaign Classic (1. Adobe Campaign Classic)
- Create a message center only operator 创建仅消息中心操作员
- Make sure to select public network under security settings 确保在安全设置下选择公共网络
Warning: we cannot use Private network users. Adobe I/O Runtime is serverless and as such does not use static IPs
警告:我们不能使用专用网络用户。 Adobe I / O运行时是无服务器的,因此不使用静态IP
2. Adobe I / O运行时 (2. Adobe I/O Runtime)
Adobe I/O Runtime is a server-less platform available to Adobe customers. Adobe Experience Cloud Customer can request access by filling out a form here: https://adobeio.typeform.com/to/RWhT8Y
Adobe I / O运行时是Adobe客户可以使用的无服务器平台。 Adobe Experience Cloud客户可以通过在此处填写表单来请求访问权限: https : //adobeio.typeform.com/to/RWhT8Y
Two actions deployed on Adobe I/O Runtime are detailed below. The code for these actions can be found here: https://github.com/PulkitXChadha/acc4jo
下面详细介绍了在Adobe I / O运行时上部署的两个操作。 这些操作的代码可以在这里找到: https : //github.com/PulkitXChadha/acc4jo
Serverless Functions/Actions
无服务器功能/动作
acc4jo-0.0.1 / getACCSessionToken (acc4jo-0.0.1/getACCSessionToken)
- This is an Authenticated endpoint that returns a session token. 这是一个返回会话令牌的Authenticated端点。
- The Deployment of the action reuses the basic authentication mechanism; this data is base64 encoded to avoid the need to transfer credentials in plain text. 动作的部署重用了基本的身份验证机制; 此数据经过base64编码,以避免需要以纯文本格式传输凭据。
- The instance URL is a query parameter. 实例URL是一个查询参数。
acc4jo-0.0.1 / sendMessageCenterEmail (acc4jo-0.0.1/sendMessageCenterEmail)
- Deploy ACC send transaction Email actions 部署ACC发送交易电子邮件操作
- This action is required to transform the JSON payload received and translate it into SOAP API body 转换接收到的JSON有效负载并将其转换为SOAP API主体时,需要执行此操作
- The response of this call will be the XML response from ACC 该调用的响应将是来自ACC的XML响应
- The Deployment of the action reuses the basic authentication mechanism used by ACC SOAP API calls 动作的部署重用了ACC SOAP API调用使用的基本身份验证机制
- The instance URL, eventType and email are required fields in the body 实例URL,eventType和email是正文中的必填字段
- The CTX object can contain as many attributed for personalization as needed. CTX对象可以包含所需数量的个性化属性。
3. Adobe Journey业务流程 (3. Adobe Journey Orchestration)
Actions
动作
Adobe Campaign Classic Message Center Email Action (i.e. sendMessageCenterEmail)
Adobe Campaign经典消息中心电子邮件操作(即sendMessageCenterEmail)
URL: This is the Adobe I/O Runtime API endpoint to trigger the ACC message center email.
URL :这是触发ACC消息中心电子邮件的Adobe I / O运行时API端点。
For example, the runtime API endpoint deployed for one of the instances is:
例如,为实例之一部署的运行时API端点为:
https://<<Adobe I/O Namespace>>.adobeioruntime.net/api/v1/web/acc4jo-0.0.1/sendMessageCenterEmail
https:// << Adobe I / O命名空间>>。adobeioruntime.net/api/v1/web/acc4jo-0.0.1/sendMessageCenterEmail
Method: This method for this Action call is going to be a POST.
方法 :此Action调用的此方法将是POST。
Headers: There are no additional header parameters required for this API call.
标头 :此API调用不需要其他标头参数。
Authentication: We have two options to authenticate with the ACC message center instance.
身份验证:我们有两个选项可用于对ACC消息中心实例进行身份验证。
- Persisted Session Token — This the recommended method as the sessionToken can be persisted for up to 24 hrs. resulting in fewer authentication calls to ACC. Below are details on how to leverage this method while connecting Adobe Campaign Classic message center with JO: 持久会话令牌-这是推荐的方法,因为sessionToken可以保留最多24小时。 从而减少了对ACC的身份验证调用。 下面是有关在将Adobe Campaign Classic消息中心与JO连接时如何利用此方法的详细信息:
2. Select Custom Authentication
2.选择自定义身份验证
- The custom authentication payload to be used is below. Note: update the runtime endpoint, the username and passwords for your instance and the instance URL 下面是要使用的自定义身份验证有效负载。 注意:更新运行时终结点,实例的用户名和密码以及实例URL
{
{
“type”: “customAuthorization”,
“ type”:“ customAuthorization”,
“authorizationType”: “Bearer”,
“ authorizationType”:“ Bearer”,
“endpoint”: “https://<<ORG_TENANT_ID>>.adobeioruntime.net/api/v1/web/acc4jo-0.0.1/getACCSessionToken”,
“端点”:“ https:// << ORG_TENANT_ID >> .adobeioruntime.net / api / v1 / web / acc4jo-0.0.1 / getACCSessionToken”,
“method”: “POST”,
“方法”:“发布”,
“headers”: {
“标题”:{
“Authorization”:”Basic EncodeBase64(<<User Name of MC Operator>>:<<Password of MC Operator>>)”
“授权”:“ Basic EncodeBase64(<< MC操作员的用户名>>:<< MC操作员的密码>>)”
},
},
“body”: {
“身体”: {
“bodyType”: “form”,
“ bodyType”:“ form”,
“bodyParams”: {
“ bodyParams”:{
“accIntanceURL”:”<<ACC MC Instance URL>>”
“ accIntanceURL”:“ << ACC MC实例URL >>”
}
}
},
},
“tokenInResponse”:”json://sessionToken”,
“ tokenInResponse”:“ json:// sessionToken”,
“tokenTarget”: “sessionToken”,
“ tokenTarget”:“ sessionToken”,
“cacheDuration”: {
“ cacheDuration”:{
“duration”:86399,
“持续时间”:86399,
“timeUnit”:”seconds”
“ timeUnit”:“秒”
}
}
}
}
- As soon as you save, Journey Orchestration will send a test API call. If the authentication were successful, you would get a Successful Test message like below 保存后,Journey Orchestration将发送一个测试API调用。 如果身份验证成功,您将收到如下所示的“成功测试”消息
- Basic Username and password — While session token is recommended, if the customer has a load balancer to distribute the incoming requests on multiple message center instance, the session token authentication method cannot be used. In this case, the basic username and password methods are used. Below are details on how to leverage this method when connecting ACC message center with JO: 基本用户名和密码-尽管建议使用会话令牌,但如果客户具有负载均衡器来在多个消息中心实例上分配传入的请求,则不能使用会话令牌身份验证方法。 在这种情况下,将使用基本的用户名和密码方法。 下面是有关在将ACC消息中心与JO连接时如何利用此方法的详细信息:
- Select Basic authentication 选择基本身份验证
- Input the Username and password of the message center execution operator 输入消息中心执行操作员的用户名和密码
Message Parameters: the values may depend on your use case. Below is an example. Note accInstanceURL is just the domain of the message center server, i.e. “adobeamericas91.adobedemo.com”
消息参数:值可能取决于您的用例。 下面是一个例子。 注意 accInstanceURL只是消息中心服务器的域,即“ adobeamericas91.adobedemo.com ”
{
{
“accIntanceURL”: “<<ACC Message Center URL>>”,
“ accIntanceURL”:“ << ACC邮件中心URL >>”,
“eventType”: {
“事件类型”: {
“toBeMapped”: true,
“ toBeMapped”:是的,
“dataType”: “string”,
“ dataType”:“ string”,
“label”: “ACC Event Type”
“标签”:“ ACC事件类型”
},
},
“email”: {
“电子邮件”:{
“toBeMapped”: true,
“ toBeMapped”:是的,
“dataType”: “string”,
“ dataType”:“ string”,
“label”: “Email Address”
“标签”:“电子邮件地址”
},
},
“externalId”: {
“ externalId”:{
“toBeMapped”: true,
“ toBeMapped”:是的,
“dataType”: “string”,
“ dataType”:“ string”,
“label”: “Recipient ID”
“ label”:“收件人ID”
},
},
“ctx”: {
“ ctx”:{
“firstName”: {
“名字”: {
“toBeMapped”: true,
“ toBeMapped”:是的,
“dataType”: “string”,
“ dataType”:“ string”,
“label”: “First Name”
“标签”:“名字”
},
},
“lastName”: {
“姓”: {
“toBeMapped”: true,
“ toBeMapped”:是的,
“dataType”: “string”,
“ dataType”:“ string”,
“label”: “Last Name”
“标签”:“姓氏”
}
}
}
}
}
}
- Authentication, eventType, and email address are required fields. 身份验证,eventType和电子邮件地址是必填字段。
ExternalID — This is an optional field mapping. When supplied, this will allow for the reconciliation of a known recipient in ACC’s marketing instance. We have chosen to use CRM ID as our externalID.
ExternalID —这是一个可选的字段映射。 提供后,这将允许与ACC营销实例中的已知收件人进行对帐。 我们选择使用CRM ID作为我们的externalID。
CTX object: in the parameter can have as many key-value pairs as needed to the personalization of the email. Note, the key-value pairs within the ctx object will vary based on your implementation and the number of personalization columns you want to use.
CTX对象:参数中的键-值对可以根据电子邮件的个性化需要而定。 请注意,ctx对象中的键值对将根据您的实现和要使用的个性化列的数量而有所不同。
- To use the action in a Journey drag and drop the action and map the message parameters 要在“旅程”中使用动作,请拖放动作并映射消息参数
旅程 (Journey)
Website Sign Up Journey
网站注册旅程
- For our use case, we will be going throw a welcome journey. 对于我们的用例,我们将进行一次欢迎的旅程。
- Drag the event that will trigger the journey 拖动将触发旅程的事件
- Drag a Condition activity and condition on the use case, we will be using a high likelihood to subscribe score to send new registration emails to profiles. 在用例上拖动一个条件活动和条件,我们将极有可能使用订阅分数来向配置文件发送新的注册电子邮件。
- Drag and drop the accMCEmail action we created. 拖放我们创建的accMCEmail操作。
Map all of the personalization fields needed on the action payload. Note: email address and eventType are required fields to send a transactional email.
映射动作有效负载上所需的所有个性化字段。 注意 :电子邮件地址和eventType是发送交易电子邮件的必填字段。
- Finally, the action call will look something like this. 最后,动作调用看起来像这样。
- The Final journey will look like this 最终旅程将如下所示
局限性 (Limitations)
- This is not a data connector. Disposition data captured in ACC from these transactional messages do not get shared back to AEP with this solution. You will need to set up the BroadLog and TrackingLog exports. 这不是数据连接器。 从这些事务性消息在ACC中捕获的处置数据不会通过此解决方案共享回AEP。 您将需要设置BroadLog和TrackingLog导出。
Depending on your Adobe Campaign Classic sizing, you might be limited to the number of API call you can make. For more details check: https://helpx.adobe.com/legal/product-descriptions/adobe-campaign-classic---product-description.html
根据Adobe Campaign Classic的大小,可能会限制您可以进行的API调用次数。 有关更多详细信息,请检查: https : //helpx.adobe.com/legal/product-descriptions/adobe-campaign-classic---product-description.html
The send message actions in Journey Orchestration can be set up to cap at this limit. For more details check:
可以将“旅程编排”中的“发送消息”操作设置为上限。 有关更多详细信息,请检查:
https://docs.adobe.com/content/help/en/journeys/using/working-with-apis/capping.html
https://docs.adobe.com/content/help/zh-CN/journeys/using/working-with-apis/capping.html
- Adobe I/O Runtime does not have support for static IP’s as such operator in ACC will need to be set to Public. Adobe I / O运行时不支持静态IP,因为ACC中的此类运算符需要设置为Public。
Adobe I/O Runtime Systems limitation are detailed here: https://adobedocs.github.io/adobeio-runtime/guides/system_settings.html
此处详细介绍了Adobe I / O运行时系统限制: https : //adobedocs.github.io/adobeio-runtime/guides/system_settings.html
Adobe I/O Runtime Systems limitation are detailed here: https://adobedocs.github.io/adobeio-runtime/guides/system_settings.html
此处详细介绍了Adobe I / O运行时系统限制: https : //adobedocs.github.io/adobeio-runtime/guides/system_settings.html
资源资源 (Resources)
Adobe I/O Runtime:https://www.adobe.io/apis/experienceplatform/runtime/docs.html
Adobe I / O运行时: https : //www.adobe.io/apis/experienceplatform/runtime/docs.html
Adobe I/O Runtime Quick Start: https://www.adobe.io/apis/experienceplatform/runtime/docs.html#!adobedocs/adobeio-runtime/master/quickstart.md
Adobe I / O运行时快速入门: https : //www.adobe.io/apis/experienceplatform/runtime/docs.html#!adobedocs /adobeio-runtime/master/ quickstart.md
Adobe Journey Orchestration: https://www.adobe.com/experience-platform/journey-orchestration.html
Adobe Journey Orchestration: https : //www.adobe.com/experience-platform/journey-orchestration.html
Adobe Journey Orchestration Quick Start Guide: https://docs.adobe.com/content/help/en/journeys/using/starting-with-journeys/get-started.html
Adobe Journey Orchestration快速入门指南: https : //docs.adobe.com/content/help/zh-CN/journeys/using/starting-with-journeys/get-started.html
Adobe Journey Orchestration Capping API:https://docs.adobe.com/content/help/en/journeys/using/working-with-apis/capping.html
Adobe Journey Orchestration封顶API: https : //docs.adobe.com/content/help/zh-CN/journeys/using/working-with-apis/capping.html
Adobe Journey Orchestration Custom Action Limitations:https://docs.adobe.com/content/help/en/journeys/using/action-journeys/action-third-party/custom-action-limitations.html
Adobe Journey Orchestration自定义操作限制: https : //docs.adobe.com/content/help/zh-CN/journeys/using/action-journeys/action-third-party/custom-action-limitations.html
Note: Your Adobe Campaign Architect and Implementation Team will need to consider your specific architecture and address any IP Allowed List requirements for this solution. As stated above, Adobe I/O Runtime and Journey Orchestration don’t have static IP addresses and, as such, will need Adobe Campaign Classic to allow list a wide range of IP addresses.
注意:您的Adobe Campaign Architect和实施团队将需要考虑您的特定体系结构,并解决此解决方案的任何IP允许列表要求。 如上所述,Adobe I / O运行时和Journey Orchestration没有静态IP地址,因此,需要Adobe Campaign Classic才能列出广泛的IP地址。
layout注意事项