Salesforce Marketing Cloud
借助 Salesforce Marketing Cloud 连接器,您可以对 Salesforce Marketing Cloud 数据集执行插入、删除、更新和读取操作。
准备工作
在使用 Salesforce Marketing Cloud 连接器之前,请完成以下任务:
- 在您的 Google Cloud 项目中:
- 向配置连接器的用户授予 roles/connectors.admin IAM 角色。
- 将以下 IAM 角色授予您要用其来使用连接器的服务账号:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
服务账号是一种特殊类型的 Google 账号,用于表示需要验证身份并获得授权以访问 Google API 数据的非人类用户。如果您没有服务账号,则必须创建一个服务账号。如需了解详情,请参阅创建服务账号。
- 启用以下服务:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
如需了解如何启用服务,请参阅启用服务。
如果之前没有为您的项目启用这些服务或权限,则在您配置连接器时,系统会提示您启用。
配置连接器
配置连接器时,您需要创建与数据源(即后端系统)的连接。一个连接需专用于一个数据源。这意味着,如果您有许多数据源,则必须为每个数据源创建单独的连接。如需创建连接,请执行以下步骤:
- 在 Cloud 控制台 中,进入 Integration Connectors > 连接页面,然后选择或创建一个 Google Cloud 项目。
- 点击 + 新建以打开创建连接页面。
- 在位置部分中,选择连接的位置。
- 区域:从下拉列表中选择一个位置。
如需查看所有受支持区域的列表,请参阅位置。
- 点击下一步。
- 区域:从下拉列表中选择一个位置。
- 在连接详情部分中,完成以下操作:
- 连接器:从可用连接器下拉列表中选择 Salesforce Marketing Cloud。
- 连接器版本:从可用版本的下拉列表中选择一个连接器版本。
- 在连接名称字段中,输入连接实例的名称。
连接名称必须符合以下条件:
- 连接名称可以使用字母、数字或连字符。
- 字母必须小写。
- 连接名称必须以字母开头,以字母或数字结尾。
- 连接名称不能超过 49 个字符。
- (可选)输入连接实例的说明。
- 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为
Error
。 - 服务账号:选择具有所需角色的服务账号。
- (可选)配置连接节点设置:
- 节点数下限:输入连接节点数下限。
- 节点数上限:输入连接节点数上限。
节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。
- API 集成类型:OAuth 流程的授权类型。接受的条目包括“服务器到服务器”和“Web-应用”。
- 账号 ID:目标业务部门的账号标识符(即 MID)。
- 显示子账号数据扩展:显示子账号的数据扩展(如果已设置)。
- 实例:使用的 Salesforce Marketing Cloud API 实例。
- 列出数据扩展:一个布尔值,用于确定是否应将数据扩展列为表。
- 查询所有账号:查询与事件相关的所有账号,包括父级账号和所有子账号。
- 架构:指定要连接的 Salesforce Marketing Cloud 服务器版本。
- 子网域:Salesforce Marketing Cloud API 的子网域。
- Use Legacy Authentication:一个布尔值,用于确定是否应使用旧版身份验证与 Salesforce Marketing Cloud REST API 建立连接。
- 使用代理:选中此复选框可为连接配置代理服务器并配置以下值:
-
代理身份验证方案:选择要通过代理服务器进行身份验证的身份验证类型。支持以下身份验证类型:
- 基本:基本 HTTP 身份验证。
- 摘要:摘要 HTTP 身份验证。
- 代理用户:用于向代理服务器进行身份验证的用户名。
- 代理密码:用户密码的 Secret Manager 密文。
-
代理 SSL 类型:连接到代理服务器时使用的 SSL 类型。支持以下身份验证类型:
- 自动:默认设置。如果网址是 HTTPS 网址,则使用“隧道”选项。如果网址是 HTTP 网址,则使用“永不”选项。
- 始终:连接始终启用 SSL。
- 永不:连接未启用 SSL。
- 隧道:连接通过隧道代理建立。代理服务器会打开与远程主机的连接,并且流量会流经该代理。
- 在代理服务器部分中,输入代理服务器的详细信息。
- (可选)点击 + 添加标签,以键值对的形式向连接添加标签。
- 点击下一步。
-
在 Authentication(身份验证)部分中,输入身份验证详细信息。
- 选择身份验证类型,然后输入相关详细信息。
Salesforce Marketing Cloud 连接支持以下身份验证类型:
- 用户名和密码
- 点击下一步。
如需了解如何配置这些身份验证类型,请参阅配置身份验证。
- 选择身份验证类型,然后输入相关详细信息。
- 查看:查看您的连接和身份验证详细信息。
- 点击创建。
配置身份验证
根据您要使用的身份验证输入详细信息。
-
用户名和密码
- 用户名:连接器的用户名
- 密码:包含与连接器关联的密码的 Secret Manager Secret。
实体、操作和动作
所有集成连接器都会为所连接应用的对象提供抽象层。您只能通过此抽象访问应用的对象。抽象作为实体、操作和动作向您展示。
- 实体:实体可以被视为连接的应用或服务中的对象或属性集合。不同连接器的实体定义也会有所不同。例如,在数据库连接器中,表是实体;在文件服务器连接器中,文件夹是实体;在消息传递系统连接器中,队列是实体。
但是,连接器可能不支持或不支持任何实体,在这种情况下, “
Entities
”列表将为空。 - 操作:操作是指您可以对实体执行的操作。您可以对实体执行以下任一操作:
从可用列表中选择一个实体,系统会生成该实体可用的操作列表。如需了解操作的详细说明,请参阅连接器任务的实体操作。但是,如果连接器不支持任何实体操作, 操作未在
Operations
列表中列出。 - 动作:动作是可通过连接器接口提供给集成的头等函数。动作可让您对一个或多个实体进行更改,并且动作因连接器而异。通常,操作有一些输入参数和一个输出
参数。但可能的情况是,连接器不支持任何动作,在这种情况下,
Actions
列表将为空。
系统限制
Salesforce Marketing Cloud 连接器每个节点每秒最多可处理 7 笔交易,并会对超出此限制的所有交易进行节流。默认情况下,集成连接器会为连接分配 2 个节点(以提高可用性)。
如需了解适用于集成连接器的限制,请参阅限制。
操作
本部分列出了 Salesforce Marketing Cloud 关联支持的所有操作。
GetJourneyPublicationStatus 操作
此操作用于获取历程发布的状态。
GetJourneyPublicationStatus 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
StatusId | 字符串 | True | 历程发布内容的状态 ID。 |
GetJourneyPublicationStatus 操作的输出参数
此操作会返回状态 200 (OK),并在响应正文中指明所有结果。
如需了解如何配置 GetJourneyPublicationStatus
操作,请参阅示例。
FireEntryEvent 操作
触发启动行程的进入事件。
FireEntryEvent 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
ContactKey | 字符串 | True | 唯一标识订阅者或联系人的 ID |
EventDefinitionKey | 字符串 | True | 创建并保存事件后,在“事件管理”中找到 EventDefinitionKey。 这适用于标准事件和自定义事件。请勿在事件定义键中添加英文句点。 |
数据 | 字符串 | 错误 | 事件的属性。仅在自定义事件中或由相应事件定义时才需要。 |
FireEntryEvent 操作的输出参数
此操作返回状态 200 (OK),响应正文会指明所有结果
如需了解如何配置 FireEntryEvent
操作,请参阅示例。
StopJourney 操作
停止正在进行的行程
StopJourney 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
JourneyId | 字符串 | True | 要停止的历程的 ID,采用 GUID (UUID) 的形式表示 |
JourneyVersion | 整数 | True | 要停止的历程的版本号 |
StopJourney 操作的输出参数
此操作会返回状态 200 (OK),并在响应正文中指明所有结果
例如,关于如何配置 StopJourney
操作,
请参阅示例。
PublishJourney 操作
PublishJourney 操作 - 异步发布历程版本
PublishJourney 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
JourneyId | 字符串 | True | 要停止的历程的 ID,采用 GUID (UUID) 的形式表示。 |
JourneyVersion | 整数 | True | 要停止的行程的版本号。 |
PublishJourney 操作的输出参数
此操作返回状态 200 (OK),响应正文会指明所有结果
例如,关于如何配置 PublishJourney
操作,
请参阅示例。
CreateTriggeredSend 操作
CreateTriggeredSend 操作创建一个触发的发送对象,该对象表示触发的电子邮件发送的特定实例
CreateTriggeredSend 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
键 | 字符串 | 错误 | 定义触发的发送关联的触发发送定义。此属性对应的是 分配给 Marketing Cloud 中的对象的外部键。 |
SendId | 字符串 | 错误 | 在创建 TriggeredSendDefinition.必须提供此参数或外部密钥。 |
FromAddress | 字符串 | 错误 | 显示为发件人的电子邮件地址。 |
FromName | 字符串 | 错误 | 发件人姓名 |
ToAddress | 字符串 | True | 邮件收件人的电子邮件地址。 |
SubscriberKey | 字符串 | True | 为消息收件人定义的唯一标识符。 |
SubscriberAttributes | 字符串 | 错误 | 为消息定义的订阅者属性的名称和值对。 |
RequestType | 字符串 | 错误 | 有效值为 ASYNC 和 SYNC。如果未定义,默认值为 ASYNC。确定是否异步处理请求。 |
CreateTriggeredSend 操作的输出参数
此操作会返回状态 200 (OK),并在响应正文中指明所有结果
如需了解如何配置 CreateTriggeredSend
操作,请参阅示例。
SendTransactionalMessageToRecipient 操作
SendTransactionalMessageToRecipient 操作通过发送定义向单个收件人发送邮件
SendTransactionalMessageToRecipient 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
MessageKey | 字符串 | True | 用户定义的消息标识符。 |
DefinitionKey | 字符串 | True | 定义的唯一标识符。 |
RecipientContactKey | 字符串 | True | Marketing Cloud 中订阅者的唯一标识符。每个请求都必须包含 contactKey。您可以使用现有的订阅者密钥,也可以在发送时使用收件人的电子邮件地址创建一个订阅者密钥 |
RecipientTo | 字符串 | 错误 | 接收者的频道地址。对于电子邮件,是收件人的电子邮件地址 |
属性 | 字符串 | 错误 | 用于为收件人量身定制消息的信息。以密钥对的形式编写。这些属性与配置文件属性、内容属性或触发式发送数据扩展属性匹配 |
SendTransactionalMessageToRecipient 操作的输出参数
此操作返回状态 200 (OK),响应正文会指明所有结果
如需了解如何配置 SendTransactionalMessageToRecipient
操作,请参阅示例。
示例
本部分介绍如何执行某些实体操作, 操作。
示例 - 获取历程发布内容的状态
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
GetJourneyPublicationStatus
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
connectorInputPayload
,然后在Default Value
字段:{ "StatusId": "3acf1f54-5c9e-4719-b7f7-bfc2e5caf10a" }
如果操作成功,连接器任务的 connectorOutputPayload
字段将具有类似于以下内容的值:
[{ "Status": "PublishCompleted", "Message": null }]
示例 - 触发条目事件以启动历程
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
FireEntryEvent
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
connectorInputPayload
,然后在Default Value
字段:{ "ContactKey": "Email", "EventDefinitionKey": "APIEvent-4d84e619-a629-6b17-945f-9a6e78a1982c", "Data": "{\"Email\": \"usr1@test.com\"}" }
如果操作成功,
连接器任务的 connectorOutputPayload
字段的值将类似于以下内容:
[{ "EventInstanceId": "0d6f6dd1-1aaa-4eec-9727-f99550ab68f9" }]
示例 - 停止正在运行的旅程
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
StopJourney
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
connectorInputPayload
,然后在Default Value
字段:{ "JourneyId": "37D2789E-2B1D-433E-8E18-8F47E4D8E865", "JourneyVersion": 1.0 }
如果操作成功,则连接器任务的 connectorOutputPayload
字段
将具有类似于以下内容的值:
[{ "Success": true }]
示例 - 发布历程版本
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
PublishJourney
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
connectorInputPayload
,然后在Default Value
字段中输入类似于以下内容的值:{ "JourneyId": "0868BF36-3107-460E-9EF1-09633A0592E8", "JourneyVersion": 1.0 }
如果操作成功,连接器任务的 connectorOutputPayload
字段将具有类似于以下内容的值:
[{ "StatusId": "acb1734d-483e-400a-97d7-0501b94f03b2" }]
示例:创建触发器以启动历程
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
CreateTriggeredSend
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
connectorInputPayload
,然后在Default Value
字段:{ "Key": "BU27_SendDefinition1", "ToAddress": "usr1@test.com", "SubscriberKey": "107", "SubscriberAttributes": "{\"FirstName\": \"John\", \"LastName\": \"P\"}" }
如果操作成功,则连接器任务的 connectorOutputPayload
字段
将具有类似于以下内容的值:
[{ "Success": "True", "RecipientSendId": "5d06edb1-d07c-48ad-a1f2-d6350eb863f8", "Messages": "Queued" }]
示例 - 向单个收件人发送消息
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
SendTransactionalMessageToRecipient
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
connectorInputPayload
,然后在Default Value
字段中输入类似于以下内容的值:{ "MessageKey": "T9999009", "DefinitionKey": "Send-Definition-SFMC-Demo-2", "RecipientContactKey": "107", "RecipientTo": "usr1@test.com", "Attributes": "FirstName :John" }
如果操作成功,连接器任务的 connectorOutputPayload
字段将具有类似于以下内容的值:
[{ "RequestId": "d8fb9e9e-3ae2-412f-b01e-d198433cfc16" }]
示例 - 列出实体中的记录
以下示例列出了 Assets
实体中的记录。
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择Assets
。 - 选择
LIST
操作,然后点击 完成。 - 在连接器任务的任务输入部分中,您可以根据需要设置 filterClause。
例如,将过滤条件子句设置为
Location='US' and region='us-east1'
后,系统只会列出位于美国位置且区域为 us-east1 的记录。
示例 - 从实体获取记录
此示例从 Assets
实体中提取单个记录。
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择Assets
。 - 选择
GET
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击 EntityId,然后在默认值字段中输入
49851
。其中,
49851
是Assets
实体的主键。
示例 - 从实体中删除记录
此示例会从 Assets
实体中删除一条记录。
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择Assets
。 - 选择
DELETE
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击 entityId 并
然后在 Default Value 字段中输入
49851
。
示例 - 在实体中创建记录
此示例在 DataExtensionObject_Custom
实体中创建了一条记录。
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择 DataExtensionObject_Custom。 - 选择
Create
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
connectorInputPayload
,然后在Default Value
字段:{ "StudentName":"John", "StudentID":"1", "Rank":"1"}
如果集成成功,连接器任务的
connectorOutputPayload
字段将具有类似于以下内容的值:{ "StudentID": 1 }
示例 - 更新实体中的记录
此示例将更新 Journeys
实体中的一条记录。
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择Journeys
。 - 选择
Update
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
connectorInputPayload
,然后在Default Value
字段中输入类似于以下内容的值:{ "Name": "SFMC_CRETAE_JOURNEY_V1" }
- 将实体 ID 设置为“历程”的实体。如需设置实体 ID,请点击 entityId,然后在默认值字段中输入
0868BF36-3107-460E-9EF1-09633A0592E8
。如果集成成功,连接器任务的
connectorOutputPayload
字段将具有类似于以下内容的值:{ "Id": "0868bf36-3107-460e-9ef1-09633a0592e8" }
使用 Terraform 创建连接
您可以使用 Terraform 资源创建新的连接。如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
如需查看用于创建连接的 Terraform 模板示例,请参阅示例模板。
使用 Terraform 创建此连接时,您必须在 Terraform 配置文件中设置以下变量:
参数名称 | 数据类型 | 必需 | 说明 |
---|---|---|---|
apiintegration_type | ENUM | 错误 | OAuth 流程的授权类型。接受的条目包括“服务器到服务器”和“Web-应用”。支持的值包括:Server-to-Server、Web-App |
架构 | ENUM | True | 指定要连接的 Salesforce Marketing Cloud API。支持的值包括:REST、SOAP |
account_id | STRING | 错误 | 目标业务部门的账号标识符 (MID)。 |
display_child_data_extensions | BOOLEAN | 错误 | 显示子账号的数据扩展(如果已设置)。 |
实例 | STRING | 错误 | 使用的 Salesforce Marketing Cloud API 实例。注意:如果实例大于 s10,则必须指定子网域。 |
list_data_extensions | BOOLEAN | 错误 | 一个布尔值,用于确定是否应将数据扩展列为表格。 |
query_all_accounts | BOOLEAN | 错误 | 查询有关事件的所有账号,包括父级账号和所有子账号。 |
详细程度 | STRING | 错误 | 连接的详细程度级别,介于 1 到 5 之间。较高的详尽级别将记录所有通信详情(请求、响应和 SSL 证书)。 |
子网域 | STRING | 错误 | Salesforce Marketing Cloud API 的子网域。 |
proxy_enabled | BOOLEAN | 错误 | 选中此复选框可为连接配置代理服务器。 |
proxy_auth_scheme | ENUM | 错误 | 用于向 ProxyServer 代理进行身份验证的身份验证类型。支持的值包括:BASIC、DIGEST、NONE |
proxy_user | STRING | 错误 | 用于向 ProxyServer 代理进行身份验证的用户名。 |
proxy_password | SECRET | 错误 | 用于向 ProxyServer 代理进行身份验证的密码。 |
proxy_ssltype | ENUM | 错误 | 连接到 ProxyServer 代理时使用的 SSL 类型。支持的值包括:AUTO、ALWAYS、NEVER、TUNNEL |
在集成中使用 Salesforce Marketing Cloud 连接
创建连接后,该连接便可在 Apigee Integration 和 Application Integration。您可以通过连接器任务在集成中使用该连接。