RevorRevor

开始使用

Revor AI API v2 提供 Connect 账号查询、单条触达、积分余额查询、Target 目标公司发现、企业研究和海关贸易数据查询。耗时操作采用异步任务,客户端提交后使用统一任务接口查询结果。

Base URL

https://revor.ai/api/v2

API v1 的 Connect 和 Outreach 接口暂时保留兼容。两个版本可以使用同一套 API Key,但新接入应使用 v2 路径,并确保 Key 具有对应接口权限。

鉴权

推荐使用 Authorization: Bearer header:

cURL
curl "https://revor.ai/api/v2/credits" \
  -H "Authorization: Bearer sk-revor-REPLACE_ME"

也可以使用 x-api-key

cURL
curl "https://revor.ai/api/v2/credits" \
  -H "x-api-key: sk-revor-REPLACE_ME"

不要把 API Key 放在 URL、前端代码、公开仓库或日志中。

通用返回结构

成功响应包含 ok: truerequest_id。列表通常返回 items,单个资源和异步任务通常返回 item

JSON
{
  "ok": true,
  "request_id": "req_xxx",
  "item": {}
}

错误响应包含稳定的公开错误码。联系支持或排查问题时请保留 request_id

JSON
{
  "ok": false,
  "error": {
    "code": "invalid_request",
    "message": "invalid_request",
    "request_id": "req_xxx"
  }
}

幂等键

Idempotency-Key 是可选的可靠重试能力。普通请求可以不发送;如果调用方可能在网络超时后自动重试,建议为同一次业务操作生成一个唯一值:

Http
Idempotency-Key: 2d1ed06a-4e63-4e36-9e88-53784bb61b0b
  • 同一路径、同一 Key、相同请求体:返回第一次请求的结果,不重复创建任务。
  • 同一路径、同一 Key、不同请求体:返回 409
  • 一次新的真实操作应生成新的幂等键;网络超时重试应复用原键。
  • 不发送 Key:每次 POST 都视为独立操作;相同请求被重复提交时会创建多个任务,并可能分别执行和计费。

异步任务与 Prefer wait

研究和海关接口通常返回 HTTP 202 Accepted。保存 item.id,然后轮询:

Http
GET /api/v2/jobs/{id}

如果调用方愿意短暂等待,可以在创建请求中加入:

Http
Prefer: wait=20

任务在等待时间内结束时,创建接口返回 HTTP 200 和终态任务;否则仍返回 HTTP 202。超时不代表任务失败,继续使用任务 ID 轮询即可。

接口列表

能力方法与路径说明
ConnectGET /api/v2/connect/accounts查询可用于触达的已连接账号。
OutreachPOST /api/v2/outreach/dispatches创建 Email、LinkedIn 或 WhatsApp 单条触达任务。
OutreachPOST /api/v2/outreach/linkedin/post-likes点赞目标用户的一条相关 LinkedIn 帖子。
积分GET /api/v2/credits查询当前可用积分。
TargetGET /api/v2/websets分页查询 Target。
TargetPOST /api/v2/websets创建包含 25 家企业的 Target。
TargetGET /api/v2/websets/{id}查询目标公司发现进度。
TargetGET /api/v2/websets/{id}/items分页读取符合条件的企业。
任务GET /api/v2/jobs/{id}查询触达、研究、海关或 Target 启动任务。
企业研究POST /api/v2/research/public-web搜索公开网页资料。
企业研究POST /api/v2/research/contacts按企业域名搜索联系人。
海关数据POST /api/v2/customs/company-candidates查找可查询的企业名称候选。
海关数据POST /api/v2/customs/trade-reports一次生成完整贸易报告。
海关数据POST /api/v2/customs/counterparties查询主要交易对手。
海关数据POST /api/v2/customs/categories查询主要商品类别。
海关数据POST /api/v2/customs/trends查询贸易趋势。
海关数据POST /api/v2/customs/countries查询贸易国家分布。

详细草稿:

推荐流程

单条触达

  1. GET /connect/accounts?can_send=true 取得可发送账号的 account_id
  2. 调用 POST /outreach/dispatches 或 LinkedIn 点赞接口;需要安全重试时可发送 Idempotency-Key
  3. 保存响应中的 item.id,轮询 GET /jobs/{id}
  4. 状态为 succeeded 时读取 item.result;状态为 failed 时读取 item.error.code

Target 目标公司发现

  1. GET /credits 确认可用积分。
  2. POST /websets 创建 Target,保存响应中的 webset.id
  3. 轮询 GET /websets/{id},直到 completedfailedcancelled
  4. 使用 GET /websets/{id}/items?detail=compact&limit=10 分页读取结果。

preparation_job.id 只用于确认 Target 是否成功启动,不代表目标公司发现已经完成。

研究和海关任务

  1. 提交创建请求;需要安全重试时可发送 Idempotency-Key
  2. 读取响应中的 item.id
  3. 如果 item.status 不是终态,轮询 GET /jobs/{id}
  4. 当状态为 succeeded 时读取 item.resultitem.billing

常见错误

HTTPCode说明
400invalid_request / 参数专用错误码请求参数无效。
401api_key_missing未提供 API Key。
401api_key_invalidAPI Key 无效。
401api_key_expiredAPI Key 已过期。
401api_key_revokedAPI Key 已撤销。
403permission_deniedAPI Key 权限不足。
404task_not_found / webset_not_found资源不存在或不属于当前用户。
409idempotency_key_reused_with_different_request幂等键被用于不同请求体。
409idempotency_key_in_progress相同幂等请求仍在创建中。
413request_payload_too_large请求体超过接口限制。
429api_rate_limit_exceeded触发账号级限流。
429api_key_rate_limit_exceeded触发 API Key 级限流。
503task_unavailable任务服务暂时不可用。