跳到主要内容
版本:Next

Http-Intercom

Intercom 源连接器

描述​

通过 Intercom REST API(GET /contacts)读取联系人。基于 connector-http-base 构建,仅支持批处理模式。 第一版只读取联系人,不支持会话、工单、公司、搜索、OAuth 和自定义属性。

主要特性​

  • 批处理
  • 流处理
  • 精确一次
  • 列投影
  • 并行度

选项​

名称类型必填默认值描述
api_keyString是-Intercom 访问令牌(原始令牌,不带 Bearer 前缀)。
base_urlString否https://api.intercom.ioEU 或 AU 区域的工作区请使用 https://api.eu.intercom.io 或 https://api.au.intercom.io。
api_versionString否2.17作为 Intercom-Version 请求头发送,避免工作区默认版本变化导致响应结构改变。
per_pageInt否150每页联系人数量,范围 1 到 150。
retryInt否3HTTP 429 和 5xx 的最大重试次数。
retry_backoff_multiplier_msInt否100退避倍数(毫秒)。
retry_backoff_max_msInt否10000最大退避时间(毫秒)。

api_key​

只会通过 Authorization: Bearer <token> 请求头发送。连接器不会在日志中输出请求头或配置,也不会 持久化任何状态,因此该令牌不会进入检查点。引擎在打印作业配置时是否对 api_key 做脱敏处理, 不在本连接器的控制范围内。

retry​

HTTP 429 和 5xx 的最大重试次数(基础 HTTP 客户端中还包括 IOException)。退避时间从 retry_backoff_multiplier_ms 开始翻倍,直到 retry_backoff_max_ms。不会遵循 Retry-After 响应头。 Intercom 的默认限流为每个应用每分钟 10,000 次调用(每个工作区 25,000 次),按 10 秒窗口执行限制。

输出列​

id、role、email、name、phone、external_id(均为 STRING,后三者可为 null), 以及 created_at、updated_at(BIGINT,Unix 秒级时间戳)。

示例​

env {
parallelism = 1
job.mode = BATCH
}

source {
Intercom {
api_key = "<ACCESS_TOKEN>"
plugin_output = "intercom_contacts"
}
}

sink {
Console {
plugin_input = "intercom_contacts"
}
}

注意事项​

每次运行都是联系人的有界快照,从第一页开始沿 pages.next.starting_after 游标读取。列表接口没有“按更新时间过滤”,因此没有增量模式。 作业失败后重启会从头读取,可能重复发送已发送的行,读取期间新建或合并的联系人也可能在分页之间出现或消失。 每行都包含联系人 id,下游可据此去重或 upsert,但连接器不提供投递保证。

ChangeCommitVersion
[Feature][connector-http-intercom] Add Intercom source connectorhttps://github.com/apache/seatunneldev