客户 API 搜索、富化与导出

使用带权限的密钥创建异步商家任务,轮询状态、分页读取结果并下载 CSV。数据接口始终需要认证。

OwnerClue · 更新于

认证和限制

在密钥设置创建密钥,明文只展示一次。位置、状态、结果、导出需要 leads:read;创建任务及操作需要 leads:write。同时读写的工作流应包含两项权限,旧密钥不会自动获得权限。

发送 Authorization: Bearer sk_YOUR_KEY。密钥保存在凭据库,不放进公开工作流和 URL。接口按账户隔离数据。生产 D1 API 每账户每分钟最多 60 请求,请求间隔至少 200 ms。搜索、campaign、富化共用最多三个活跃任务的并发预算。

创建任务使用 8–100 位字母、数字、下划线或短横线组成的 Idempotency-Key。同一请求重试复用键,新任务使用新键。HTTP 202 表示任务已创建,并不表示结果已完成。

获取真实位置代码

GET /api/v1/leads/locations?country=US&type=City&q=Phoenix,或使用 country=CA。用返回的 code 创建任务。支持 parentCode、type 等条件。位置目录返回数组,没有任务列表的分页包裹结构。以下示例中的 123456 是占位值,必须替换。

{"keyword":"plumber","locationCode":123456,"languageCode":"en","depth":20}

创建任务并轮询

向 /api/v1/leads/searches POST 上述 JSON,加认证与幂等头。成功 JSON 包含 code: 0、data.id。GET /api/v1/leads/searches/{id},直到 data.status 为 completed。queued、running 继续轮询,failed 查看错误。未完成时不要导出。

/api/v1/leads 下的路径 用途
GET /searches、/campaigns、/enrichments 当前账户任务列表
POST /searches keyword、locationCode、languageCode、depth,可选 exactCategory
POST /campaigns/preview 预览地区代码展开结果与最大数量
POST /campaigns keyword、locations 数组、languageCode、depth、maxLeads
POST /enrichments rows: [{domain,name?}] 或 csv 字符串,最多 100 行
GET /…/{id} 状态和任务信息
GET /…/{id}/results?limit=100&cursor=… 分页结果
GET /…/{id}/export?format=full 完成后的 CSV
POST /campaigns/{id}/pause、/resume、/stop 多城市任务控制
POST /enrichments/{id}/resume 恢复暂停的富化任务

搜索深度 1–700。Campaign 深度支持 20、50、100、300、500、700,选择 1–100 个地区代码,创建前先预览实际城市。详见多城市规则。

分页、筛选和导出

任务列表和结果在 data 中返回 items、nextCursor。整个分页过程保持相同 limit,原样传回游标,nextCursor 为 null 时停止。当前分页基于偏移量,运行中数据可能移动,建议完成后读取。位置目录为数组,是例外。

地图结果与导出共用 q、email=true、owner=true、websiteStatus、signal、phoneType、includeExcluded=true。Signal 支持 no_website、website_unreachable、booking_not_found、reviews_below_20。格式支持 basic、full、gohighlevel、instantly、1cw。域名结果按输入行返回,不使用地图名单筛选参数。

错误处理

202 保存 ID 并轮询。400 检查参数、幂等键、地区、额度与并发条件;401 补认证头;403 检查密钥、权限与导出状态;404 核对任务和账户;429 延后重试;503 等待功能恢复。记录 HTTP 状态和 JSON code,CSV 响应为 text/csv。

当前没有完成回调,使用n8n 轮询指南。额度规则同时适用于 API 和工作台。