使用 BULK 或 REST API 2.0 全局取消订阅来自 eloqua 的联系人
Globally unsubscribe contact from eloqua with BULK or REST API 2.0
我只想知道 eloqua 中是否有任何 URI 可用于全局取消订阅所有 eloqua 组的电子邮件联系人,
现在我正在迭代组并一个一个取消订阅,
如果有任何方法比这更容易做到这一点,因为它太耗时了,还检查了新的参考页面 (https://secure.eloqua.com/api/docs/Dynamic/Rest/2.0/Reference.aspx) 也没有这个的 URI...
请帮助我,在此先感谢。
[找到了这个问题的答案,也许这会对其他人有所帮助。]
使用批量 API,我可以通过
设置 {{Contact.Email.IsSubscribed}} 字段。我不完全
确定这是否是正确的方法。但它工作正常!
这是 C# 示例代码:
// Define the list of fields that will be used in the data import
Dictionary<string, string> fields = new Dictionary<string, string>
{
{"C_EmailAddress", "{{Contact.Field(C_EmailAddress)}}"},
{"C_FirstName", "{{Contact.Field(C_FirstName)}}"},
{"C_LastName", "{{Contact.Field(C_LastName)}}"},
{"C_IsSubscribed", "{{Contact.Email.IsSubscribed}}"} // The Global Unsubscription field
};
// Create the definition (structure) of the import
var importUri = _contactImportHelper.CreateImportStructure(fields);
// Contact data to be imported
Dictionary<string, string> data1 = new Dictionary<string, string>
{
{"C_EmailAddress", "test1@test.com"},
{"C_FirstName", "Test1First"},
{"C_LastName", "Test1Last"},
{"C_IsSubscribed", "false"}
};
Dictionary<string, string> data2 = new Dictionary<string, string>
{
{"C_EmailAddress", "test2@test.com"},
{"C_FirstName", "Test2First"},
{"C_LastName", "Test2Last"},
{"C_IsSubscribed", "true"}
};
List<Dictionary<string, string>> list = new List<Dictionary<string, string>>
{
data1,
data2
};
Sync sync = _contactImportHelper.ImportData(importUri, list);
下面是Link:
https://community.oracle.com/thread/3655521
阅读 Seema menon 的回答。
这个端点
api/bulk/2.0/emailAddresses/imports
不会在 Eloqua 中创建联系人,但会全局取消订阅电子邮件地址。如果您以后使用此电子邮件地址创建联系人,则该联系人已经取消订阅。
定义如下:
{
"fields": {
"Email": "{{EmailAddress.Field(EmailAddress)}}"
},
"syncActions": [
{
"destination": "{{GlobalSubscribe}}",
"action": "setStatus",
"status": "unsubscribed"
}
],
"identifierFieldName": "Email",
"name": "Bulk Import",
"updateRule": "always"
}
或者,如果您希望创建联系人并全局取消订阅该联系人,您可以使用普通的 contacts/imports 端点。
我只想知道 eloqua 中是否有任何 URI 可用于全局取消订阅所有 eloqua 组的电子邮件联系人,
现在我正在迭代组并一个一个取消订阅,
如果有任何方法比这更容易做到这一点,因为它太耗时了,还检查了新的参考页面 (https://secure.eloqua.com/api/docs/Dynamic/Rest/2.0/Reference.aspx) 也没有这个的 URI...
请帮助我,在此先感谢。
[找到了这个问题的答案,也许这会对其他人有所帮助。]
使用批量 API,我可以通过 设置 {{Contact.Email.IsSubscribed}} 字段。我不完全 确定这是否是正确的方法。但它工作正常!
这是 C# 示例代码:
// Define the list of fields that will be used in the data import
Dictionary<string, string> fields = new Dictionary<string, string>
{
{"C_EmailAddress", "{{Contact.Field(C_EmailAddress)}}"},
{"C_FirstName", "{{Contact.Field(C_FirstName)}}"},
{"C_LastName", "{{Contact.Field(C_LastName)}}"},
{"C_IsSubscribed", "{{Contact.Email.IsSubscribed}}"} // The Global Unsubscription field
};
// Create the definition (structure) of the import
var importUri = _contactImportHelper.CreateImportStructure(fields);
// Contact data to be imported
Dictionary<string, string> data1 = new Dictionary<string, string>
{
{"C_EmailAddress", "test1@test.com"},
{"C_FirstName", "Test1First"},
{"C_LastName", "Test1Last"},
{"C_IsSubscribed", "false"}
};
Dictionary<string, string> data2 = new Dictionary<string, string>
{
{"C_EmailAddress", "test2@test.com"},
{"C_FirstName", "Test2First"},
{"C_LastName", "Test2Last"},
{"C_IsSubscribed", "true"}
};
List<Dictionary<string, string>> list = new List<Dictionary<string, string>>
{
data1,
data2
};
Sync sync = _contactImportHelper.ImportData(importUri, list);
下面是Link:
https://community.oracle.com/thread/3655521
阅读 Seema menon 的回答。
这个端点 api/bulk/2.0/emailAddresses/imports
不会在 Eloqua 中创建联系人,但会全局取消订阅电子邮件地址。如果您以后使用此电子邮件地址创建联系人,则该联系人已经取消订阅。
定义如下:
{
"fields": {
"Email": "{{EmailAddress.Field(EmailAddress)}}"
},
"syncActions": [
{
"destination": "{{GlobalSubscribe}}",
"action": "setStatus",
"status": "unsubscribed"
}
],
"identifierFieldName": "Email",
"name": "Bulk Import",
"updateRule": "always"
}
或者,如果您希望创建联系人并全局取消订阅该联系人,您可以使用普通的 contacts/imports 端点。