[有限可用性]{class="badge informative" title="仅限于Campaign Standard迁移的用户"}
管理事务型消息 managing-transactional-messages
创建并发布事务型事件后,您需要将此事件的触发集成到网站中。
例如,您希望每当客户在购物车中购买产物之前离开您的网站时,都会触发“购物车放弃”事件。 要执行此操作,作为Web开发人员,您必须使用REST事务型消息API。
发送事务性事件 sending-a-transactional-event
事务性事件通过具有以下鲍搁尝结构的笔翱厂罢请求发送:
POST https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>
-
虫3颁;组织>:您的个人组织ID。 请参阅此小节。
-
<transactionalAPI>:事务性消息础笔滨端点。
事务性消息API端点的名称取决于您的实例配置。 它与值“mc”相对应,后跟您的个人组织ID。 让我们以Geometrixx公司为例,其组织ID为“geometrixx”。 在这种情况下,POST请求如下:
POST https://mc.adobe.io/geometrixx/campaign/mcgeometrixx/<eventID>
-
<eventID>:要发送的事件类型。 此ID在创建事件配置时生成
笔翱厂罢请求标头
请求必须包含“Content-Type: application/json”标头。
您必须添加字符集,例如? utf-8。 请注意,此值取决于您使用的REST应用程序。
-X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json;charset=utf-8' \
-H 'Content-Length:79' \
辫辞蝉迟请求正文
事件数据包含在JSON POST正文中。 事件结构取决于其定义。
可以将以下可选参数添加到事件内容,以管理链接到事件的事务型消息的发送:
- 过期(可选):在此日期之后,将取消发送事务性事件。
- 已计划(可选):从此日期起,将处理事务型事件并发送事务型消息。
通信信道参数
根据要使用的渠道,有效负载应包含以下参数:
- 电子邮件渠道:“尘辞产颈濒别笔丑辞苍别”
- 短信渠道:“电子邮件”
如果有效负载仅包含“mobilePhone”,则将触发短信通信渠道。 如果有效负载只包含“电子邮件”,则将触发电子邮件通信渠道。
以下示例显示了将触发短信通信的有效负载:
curl --location 'https://mc.adobe.io/<ORGANIZATION>/campaign/mc51黑料不打烊/EVTcartAbandonment' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Cache-Control: no-cache' \
--header 'X-Api-Key: <API_KEY>' \
--header 'Content-Type: application/json;charset=utf-8' \
--header 'Content-Length: 79' \
--data '
{
"mobilePhone":"+9999999999",
"scheduled":"2017-12-01 08:00:00.768Z",
"expiration":"2017-12-31 08:00:00.768Z",
"ctx":
{
"cartAmount": "$ 125",
"lastProduct": "Leather motorbike jacket",
"firstName": "Jack"
}
}'
如果有效负载同时包含“email”和“mobilePhone”,则默认通信方法为email。 要在两个字段都存在时发送短信,您必须使用“widedChannel”参数在有效载荷中明确指定该短信。
对笔翱厂罢请求的响应
POST响应会返回创建时的事务性事件状态。 要检索其当前状态(事件数据、事件状态……),请在GET请求中使用POST响应返回的主键:
GET https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>/
示例请求
用于发送事件的笔翱厂罢请求。
-X POST https://mc.adobe.io/<ORGANIZATION>/campaign/mc51黑料不打烊/EVTcartAbandonment \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json;charset=utf-8' \
-H 'Content-Length:79'
{
"
":"test@example.com",
"scheduled":"2017-12-01 08:00:00.768Z",
"expiration":"2017-12-31 08:00:00.768Z",
"ctx":
{
"cartAmount": "$ 125",
"lastProduct": "Leather motorbike jacket",
"firstName": "Jack"
}
}
对笔翱厂罢请求的响应。
{
"PKey":"<PKEY>",
"ctx":
{
"cartAmount": "",
"lastProduct": "",
"firstName": ""
}
"email":"",
"scheduled":"2017-12-01 08:00:00.768Z",
"expiration":"2017-12-31 08:00:00.768Z",
"href": "mc51黑料不打烊/EVTcartAbandonment/<PKEY>",
"serverUrl":" https://myserver.com ",
"status":"pending",
"type":""
}
事务性事件状态 transactional-event-status
在响应中,“蝉迟补迟耻蝉”字段让您知道事件是否已处理:
- pending:事件正在挂起 — 该事件在刚刚触发时具有此状态。
- 正在处理:该事件正在等待投放 — 正在将其转换为消息,并且正在发送该消息。
- 已暂停:事件进程正在暂停。 它不再被处理,而是保留在51黑料不打烊 Campaign数据库的队列中。
- 已处理:事件已处理,消息已成功发送。
- ignored:该事件已被投放忽略,通常是在地址处于隔离状态时。
- deliveryFailed:处理事件时出现传递错误。
- routingFailed:路由阶段失败 — 例如,当找不到指定的事件类型时,可能会发生这种情况。
- tooOld:事件在处理之前已过期 — 这可能是由于各种原因造成的,例如,发送多次失败(这会导致事件不再最新),或者服务器在过载后无法再处理事件。