0

Ampscript 帖子没有返回有效用户。有什么想法吗?这是一个企业帐户,确切的目标不是很有帮助。我创建了一个 api 调用并尝试了服务器端 js,但返回的响应更差。

%%[

var @emailaddr
SET @emailaddr = 'email@gmail.com'
SET @ts = CreateObject("TriggeredSend")
SET @tsDef = CreateObject("TriggeredSendDefinition")
SET @ts_subkey = 'email@gmail.com'

SetObjectProperty(@tsDef, "CustomerKey", "ET_Support_LS")
SetObjectProperty(@ts, "TriggeredSendDefinition", @tsDef)

SET @ts_sub = CreateObject("Subscriber")
SetObjectProperty(@ts_sub, "EmailAddress", @emailaddr)  
SetObjectProperty(@ts_sub, "SubscriberKey", @ts_subkey)

SET @ts_attr = CreateObject("Attribute")
SetObjectProperty(@ts_attr, "Name", "Subscriber Key")
SetObjectProperty(@ts_attr, "Value", @ts_subkey)
AddObjectArrayItem(@ts_sub, "Attributes", @ts_attr)

AddObjectArrayItem(@ts, "Subscribers", @ts_sub)
SET @ts_statusCode = InvokeCreate(@ts, @ts_statusMsg, @errorCode)
 ]%%
4

1 回答 1

3

ExactTarget 中的企业帐户具有称为“代表您的”帐户的子帐户。每当订阅者被添加到帐户或使用 TriggeredSend 发送电子邮件时,都需要传递一个值来指定它们与哪个子帐户相关。使用 TriggeredSend,这可以通过在订阅者的属性中设置 ChannelMemberID 字段来完成。可以在 ExactTarget UI 中找到子帐户列表,方法是转到“管理”选项卡,然后转到“企业管理”,然后转到“组织结构图”。

需要添加的代码:

SET @attr = CreateObject("Attribute")
SetObjectProperty(@attr, "Name", "ChannelMemberID")
SetObjectProperty(@attr, "Value", "PUT THE NUMERIC VALUE FOR AN OYB ACCOUNT HERE")
AddObjectArrayItem(@ts_sub, "Attributes", @attr)

完整示例:%%[

var @emailaddr
SET @emailaddr = 'email@gmail.com'
SET @ts = CreateObject("TriggeredSend")
SET @tsDef = CreateObject("TriggeredSendDefinition")
SET @ts_subkey = 'email@gmail.com'

SetObjectProperty(@tsDef, "CustomerKey", "ET_Support_LS")
SetObjectProperty(@ts, "TriggeredSendDefinition", @tsDef)

SET @ts_sub = CreateObject("Subscriber")
SetObjectProperty(@ts_sub, "EmailAddress", @emailaddr)  
SetObjectProperty(@ts_sub, "SubscriberKey", @ts_subkey)  

SET @attr = CreateObject("Attribute")
SetObjectProperty(@attr, "Name", "ChannelMemberID")
SetObjectProperty(@attr, "Value", "PUT THE NUMERIC VALUE FOR AN OYB ACCOUNT HERE")
AddObjectArrayItem(@ts_sub, "Attributes", @attr)

AddObjectArrayItem(@ts, "Subscribers", @ts_sub)
SET @ts_statusCode = InvokeCreate(@ts, @ts_statusMsg, @errorCode)
 ]%%

此外,不需要两次传递订阅者密钥值,因此从示例中删除了以下部分:

SET @ts_attr = CreateObject("Attribute")
SetObjectProperty(@ts_attr, "Name", "Subscriber Key")
SetObjectProperty(@ts_attr, "Value", @ts_subkey)
AddObjectArrayItem(@ts_sub, "Attributes", @ts_attr)

对于 ExactTarget 的具体问题,请查看https://code.exacttarget.com/questions/newest上的 Code@ Q&A 部分

于 2013-04-08T18:59:56.907 回答