# 设置操作生命周期回传

有两种主要类型的动作生命周期回调（postbacks）。 **全局级别** 为您的整个帐户创建回调，且 **事件级别** 为特定事件类型创建回调。选择最适合您需求的类型以了解更多关于设置过程的信息。

{% hint style="warning" %}
**警告：** 对于全局级别的回调，每当发生“非标准”事件（例如修改或撤销）时，您都应该收到回调。请注意，事件级别回调不会触发非标准的动作生命周期事件。
{% endhint %}

#### 设置动作生命周期回调

<details>

<summary>设置全局级别的动作生命周期回调</summary>

本节将介绍为整个帐户一次性创建回调。只有一个系统能够接收并处理这些回调，或希望接收所有非标准事件通知的合作伙伴，应设置全局级别的动作生命周期回调。

{% hint style="info" %}
**注意：** 如果您希望在接收回调的事件类型上更有选择性，请参见下面的部分以设置 *事件级别的动作生命周期回调*.
{% endhint %}

1. 从顶部导航栏，选择 ![](https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-1183576591b45997efe4dc81a25024640591d02a%2F245137dc972a7a7f6165b59538fcdbac8fd5bd8fee4ba9f20c1a2982c5b58b57.svg?alt=media) **\[用户资料] → 设置**. &#x20;
2. 在 *技术*下，选择 **事件通知**.
3. 在…旁边 *动作生命周期事件*下，选择 ![](https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-6027673a720a6522269e1861ad0554c4a85baf29%2F9dcf248c757a094c6af27798e61091b8425a0afa1637ae0e5ba3448c5f85b1a1.svg?alt=media) **\[编辑]**.
4. 输入您服务器的 URL。impact.com 将向此 URL 发送回调。
5. 选择您偏好的 HTTP 方法。
   * 查看 impact.com 的一些 [可用正文参数](https://docs.google.com/spreadsheets/d/1420vz0__zjit30O_jU959L600LigsUN5iFf2oYwU-RU/edit?usp=sharing).
   * 如果您选择 **POST**，则接下来您将输入请求正文并选择一个 **正文格式**。下面是一个如何为 JSON 格式映射每个数据点的示例。每个键值对中的键应来自您自己系统的设置，值将是您选择的与 impact.com 提供的数据点相对应的内容，并应输入在方括号中 `{ }`.

     <div data-with-frame="true"><figure><img src="https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-16c42a102e36c3c3d44b22c66b31b8cf4643aae1%2F6c821ff8c8e1cfaea1b1d7c908754dd4db816de21d5db59b4ddbd07bf14b1bb4.jpg?alt=media" alt=""><figcaption></figcaption></figure></div>
   * 没有看到您需要的值？请联系您的客户经理（或 [联系支持](https://app.impact.com/support/portal.ihtml)).
6. 选择 **动作生命周期事件**）。这些设置是可选的。
   * 输入一个 **HTTP 头**。如果需要多个键值对，请用分号分隔。
   * 输入一个 **最短延迟** ，表示从非标准事件发生到生成并发送回调到您系统之间的时间间隔。
   * 为 **最大请求数** 输入 impact.com 每秒可以向您系统发出的速率限制。
   * 输入您希望对回调的 **成功响应** 是什么。
   * 输入您希望对回调的 **错误响应** 是什么。
7. 选择 **保存**.

现在您已设置全局级别回调，当非标准事件发生时，无论执行非标准操作的是哪个品牌，您的系统都应开始接收回调。要了解如何测试您新的回调设置，请查看 *测试动作生命周期回调* 下面的部分。

**动态值示例**

如果您已为跟踪链接配置了动态变量，您可以将回调 URL 配置为您自己的服务器，以在动作发生时通知您并检索与该动作关联的动态填充值。

此示例展示了如何将一个 `SharedId` 值（您想与品牌共享的值）传递到回调中的一个参数（`MyParam`）。某些品牌可能要求您进行此配置。

<div data-with-frame="true"><figure><img src="https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-b7c6cf339a60877d5823e6b9a080e8e153aa6386%2F8ec14f7b9f75bc6065c6310d30d43ae0f8256c7e075757d03ce64a5fe16476ae.png?alt=media" alt=""><figcaption></figcaption></figure></div>

回调 URL 看起来可能像这样：

`https://postback.example.com/postback?secure=ed7e46f&MyParam={SharedId}`

回调 URL 将用从 `MyParam` 检索到的值填充该 `SharedId`.

</details>

<details>

<summary>参数。</summary>

设置事件级别的动作生命周期回调

{% hint style="info" %}
**注意：** 本节将介绍为跟踪您促成动作的特定事件类型创建回调。如果您希望在接收回调的事件类型上更有选择性，应设置事件级别的动作生命周期回调。
{% endhint %}

1. 从顶部导航栏，选择 **如果您已设置全局级别的动作生命周期回调，则不需要设置事件级别的回调。**.
2. Discover → 我的品牌
3. 在品牌名称下，选择 ![](https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-8ec3e877b1397045c61d394485e72ac4d93120ee%2Fc6ddb46c637059f06e86c790a911217a9428f5c47b5efef046f90555e85b03cd.svg?alt=media) **\[更多]** → **选择拥有您想测试的回调的品牌卡片。**.
4. 跟踪集成 **在页面右上角附近，选择**.
5. 添加回调 *选择您想为其设置动作生命周期回调的事件类型（以前称为*动作跟踪器
6. 输入您服务器的 URL。impact.com 将向此 URL 发送回调。
7. 选择您偏好的 HTTP 方法。
   * 如果您选择 **POST**，则接下来您将输入请求正文并选择一个 **正文格式**）。下面是一个如何为 JSON 格式映射每个数据点的示例。每个键值对中的键应来自您自己系统的设置，值将是您选择的与 impact.com 提供的数据点相对应的内容，并应输入在花括号 { } 中。

     <div data-with-frame="true"><figure><img src="https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-9cec675aa05964dd4b9db329acc2cae7a9d85de8%2Fd34ce186243db11585c9d497d92cc26b633031bbab0d67ae06fc109dae4ceb0d.jpg?alt=media" alt=""><figcaption></figcaption></figure></div>
   * 查看 impact.com 的一些 [可用正文参数](https://docs.google.com/spreadsheets/d/1420vz0__zjit30O_jU959L600LigsUN5iFf2oYwU-RU/edit?usp=sharing).
   * 没有看到您需要的值？请联系您的客户经理（或 [联系支持](https://app.impact.com/support/portal.ihtml)).
8. 选择 **显示高级设置**）。这些设置是可选的。
   * 输入一个 **最短延迟** ，表示从非标准事件发生到生成并发送回调到您系统之间的时间间隔。
   * 为 **最大请求数** 输入 impact.com 每秒可以向您系统发出的速率限制。
   * 输入您希望对回调的 **成功响应** 是什么。
   * 输入您希望对回调的 **错误响应** 是什么。
9. 选择 **保存**.

现在您已设置事件级别的回调，您的系统应开始接收您在 *第 5 步*中选择的事件类型的回调。要了解如何测试您新的回调设置，请查看 *测试动作生命周期回调* 下面的部分。

**动态值示例**

如果您已为跟踪链接配置了动态变量，您可以将回调 URL 配置为您自己的服务器，以在动作发生时通知您并检索与该动作关联的动态填充值。

此示例展示了如何将一个 `SharedId` 值（您想与品牌共享的值）传递到回调中的一个参数（`MyParam`）。某些品牌可能要求您进行此配置。

<div data-with-frame="true"><figure><img src="https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-b7c6cf339a60877d5823e6b9a080e8e153aa6386%2F8ec14f7b9f75bc6065c6310d30d43ae0f8256c7e075757d03ce64a5fe16476ae.png?alt=media" alt=""><figcaption></figcaption></figure></div>

回调 URL 看起来可能像这样：

`https://postback.example.com/postback?secure=ed7e46f&MyParam={SharedId}`

回调 URL 将用从 `MyParam` 检索到的值填充该 `SharedId`.

</details>

#### 测试动作生命周期回调

一旦您设置了动作生命周期回调，无论其适用的级别如何，您都应该对其进行测试。您可以在 impact.com 中运行测试回调（仅适用于事件级别回调），或执行一次转化（conversion）。

<details>

<summary>在 impact.com 中运行测试回调</summary>

如果您设置了事件级别回调，则可以在您的 impact.com 帐户内测试它。

1. 从顶部导航栏，选择 **如果您已设置全局级别的动作生命周期回调，则不需要设置事件级别的回调。**.
2. Discover → 我的品牌
3. 在品牌名称下，选择 ![](https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-8ec3e877b1397045c61d394485e72ac4d93120ee%2Fc6ddb46c637059f06e86c790a911217a9428f5c47b5efef046f90555e85b03cd.svg?alt=media) **更多** → **选择拥有您想测试的回调的品牌卡片。**.
4. 从 *回调* 部分，选择 ![](https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-df93ac0f80fc5cece7983980a5ce3fbcf19aabce%2F3ef9d737089bc07dbb7e4fd41a97edfbaec261e4f55ab3a1666f3daf957f69c3.svg?alt=media) **\[向下箭头] 操作**，然后选择 **启动测试**.
5. 确认回调的 URL 是否正确，然后选择 **开始测试**.

</details>

<details>

<summary>创建一个测试转化</summary>

此测试不会在 impact.com 网络应用中执行。相反，您将执行一个端到端的测试，遵循典型的用户旅程。请确保通知您合作的品牌您将执行此测试。

1. 从顶部导航栏，选择 **内容 → 资产**.
2. 选择一个广告。
3. 在广告名称下方，选择 **获取跟踪链接**.
4. 选择 ![](https://1152657667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb2rE79d9UhOKZQLgzSqx%2Fuploads%2Fgit-blob-d0b6669ae76a7bef06a8d6940d7ad5c16bb8d018%2F7cb018d4face8d7cceb880eb5086c812e764fbcfe6f2a0377f88bc7576973070.svg?alt=media) **\[切换开启]** **跟踪参数**.
5. 按下 **子 ID** 或一个 **共享 ID** （按需）。每个字段至少需要一项输入。
   * 如果这些字段中已有值，则跳过此步骤。
6. 可选地，从下拉列表中选择一个 **属性** 。
7. 选择 **保存**.
8. 选择 **链接**.
9. **将** 链接粘贴到新的浏览器窗口中。
10. 完成该操作。
11. 大约 15 分钟后，检查您的系统是否收到了由此次测试操作生成的回调。
    * 通常动作处理需要大约 15 分钟。
    * 您还可以在 [待处理动作](https://app.impact.com/secure/mediapartner/actionworkflows/mp-pending-actions-flow.ihtml) 屏幕上看到这个新的待处理动作。如果您在 *待处理动作* 屏幕上看到了该动作但尚未收到回调，请再次检查您的回调设置。
12. 请您的品牌撤销该动作。
13. 检查您的系统是否收到了由此次撤销生成的回调。
    * 如果您在 [已撤销动作](https://app.impact.com/secure/mediapartner/MP_Performance_Report/action-workflows/mp-reversed-actions-flow.ihtml) 屏幕上看到了该撤销动作，但尚未收到回调，请再次检查您的回调设置。

</details>

<details>

<summary>排查错误</summary>

| 错误       | 说明                                                                               |
| -------- | -------------------------------------------------------------------------------- |
| 缺少必需参数   | 您的服务器很可能在期望一个值而不是变量。修改您的回调 URL 以传递一个测试值（例如用“12345678”替换 `{SubId1}`）并查看是否接受该硬编码值。 |
| 区分大小写的变量 | 动态变量区分大小写且必须精确，这意味着 `{SubId1}` 与 `{subid1}`并不相同。请再次检查您的变量是否反映了正确的大小写敏感性。         |
| 访问被拒绝    | 大多数回调服务器有一个安全令牌或值，必须与动态变量一起传递。请与您网站的技术团队合作（或参考您网站提供者的文档）以了解访问服务器所需的令牌或安全值。       |

</details>

{% hint style="info" %}
**注意：** 如果您找不到回调设置的任何问题但仍未收到回调， [联系支持](https://app.impact.com/support/portal.ihtml)。impact.com 可以检查回调是否正在生成、它们的响应代码是什么，以及每个回调的正文。这些信息可能有助于您成功调试设置
{% endhint %}
