如何使用 GetLeadsByProgramID 端点获取程序中只有 1 个潜在客户的状态?

How to get status of only 1 lead in a program with GetLeadsByProgramID endpoint?

我正在使用 GetLeadsByProgramID REST API 端点在 Marketo 中的某个项目下获取具有状态的潜在客户。但是有什么方法可以让我获得一个项目只有 1 个潜在客户的状态?

先提个建议:
由于 Marketo 应用了一些 limits for accessing the API(最重要的是:每日配额、速率限制、并发限制),最好的做法是通过一次 API 调用获取尽可能多的记录并缓存结果。您可以随时循环并根据需要过滤掉结果集。

解决方法:
话虽如此,您仍然可以获取一个特定潜在客户的程序状态,但没有 GetLeadsByProgramID 端点。不幸的是,该端点不允许基于潜在客户 ID 进行过滤。

线索的程序状态变化也是一个activity,幸运的是有一个端点Get Lead Activities可以查询。拨打电话前您需要准备好四件事:

  • Get Paging Token 端点获得的寻呼令牌,它还定义了从中检索活动的最早日期时间。
  • “正在进行的更改状态”activity 类型的 ID,可以从 Get Activity Types 端点收集。在我的例子中是 104,但不能保证在所有情况下都相同。
  • 相关潜在客户对象的 ID。我想你已经记录在案了。
  • 您检查状态的程序的 ID。我想你也有记录。它也可以通过 API 获取,但当您单击实例中的程序时,它也会出现在 url 中。例如:如果您的 link 是 https://app-abc01.marketo.com/#ME1234A1,程序 ID 是 1234。

因此,掌握了所有这些信息后,您就可以按照 Activities Endpoint Reference 页面中的说明拨打电话。本质上这是你必须调用的url:

GET /rest/v1/activities.json?nextPageToken=<YOUR_NEXPAGE_TOKEN>&activityTypeIds=104&leadIds=<LEAD_ID>&assetIds=<PROGRAM_ID>

response 将包含 所有 给定日期时间后给定程序中潜在客户的程序状态更改。因此,如果有多个状态更改,您仍然可能需要执行循环。

您可以决定这一切是否值得付出努力。