Documentation menu

联系人、商机与旅程 API

这些端点让你自己的代码、Zapier 或 n8n 可以操作你的账户:添加联系人、创建和移动商机、把联系人加入旅程,以及读取这些调用所需的 ID。它们使用与发送 API 相同的 API 密钥。

Authorization: Bearer mia_live_...

每组端点每个密钥每分钟最多 60 次请求,超过会返回 429。错误以 4xx 状态码和 {"error": "…"} 返回。包含所有响应格式的完整规范见 OpenAPI 规范。

联系人

创建或更新

POST /api/v1/contacts 把地址添加到联系人列表;如果已存在,则更新:

{
  "listId": "list_abc123",
  "email": "[email protected]",
  "fields": { "first_name": "Ada", "company": "Analytical Engines" }
}

新联系人返回 201,更新返回 200,并附带保存后的联系人。要一次发送最多 500 个,改用 {"listId": "…", "contacts": [{"email": "…", "first_name": "…"}, …]},响应会返回数量统计。

每个地址在保存时都会被验证。API 从不记录同意答案,所以这些联系人和以前一样会收到邮件。如果单个联系人会让列表超出套餐的联系人上限,返回 409。

查找

GET /api/v1/[email protected] 返回该地址在每个列表中的联系人,按从新到旧排序。加上 &listId= 只在一个列表中查找。每次查找都会像在控制台查看联系人一样,记录到账户的个人数据访问日志中。

列表

GET /api/v1/lists 返回每个联系人列表的 id、name、fields 和 rowCount,不含任何联系人数据。

商机

创建

POST /api/v1/deals:

{
  "email": "[email protected]",
  "title": "Annual plan",
  "value": 8000,
  "currency": "CNY"
}

用 email,或者 listId 加 rowId 指定联系人。只提供邮箱时,商机会放在包含该地址、最近更新的那个列表上。不提供 pipelineId 和 stageId 时,商机进入默认管道的第一个进行中阶段。currency 默认为 USD。

发送 Idempotency-Key 请求头(例如订单号)可让重试变得安全。使用相同的键重复请求,会返回 200 和 "created": false,而不会创建第二个商机。

更新或移动

PATCH /api/v1/deals/{id} 接受 title、value、currency 和 stageId。移到赢单或丢单阶段会结束商机。整个请求体会先校验,因此未知的阶段不会造成任何改动。移动会触发旅程触发器 商机阶段变化 和 Webhook deal.stage_changed,与在看板上移动相同。

管道

GET /api/v1/pipelines 返回你的管道(默认管道在前),每个管道附带其阶段(id、name、kind)。用它查找要把商机移到的 stageId。

旅程

GET /api/v1/journeys 列出你的旅程,包括 ID、名称、触发器以及是否开启。?trigger=api 只返回你的代码可以加入联系人的旅程。

POST /api/v1/journeys/{id}/trigger 配合 {"email": "…", "listId": "…"},把联系人加入触发器为 API 调用 的旅程。参见旅程。

示例事件

GET /api/v1/events/sample?type=deal.stage_changed 返回 {"events": [ … ]},其中是该类型的一个 Webhook 信封示例;不带 type 时返回每种类型各一个。自动化工具用它在真实事件到来之前向你展示字段。

Webhook

GET、POST /api/v1/webhooks 和 DELETE /api/v1/webhooks/{id} 用于管理事件订阅。参见 Webhook 与事件。