@useairfoil/producer-salesforce

中文文档
0.0.3发布于 2026/11/03TypeScriptES Module构建来源已验证

从一个组织同步Salesforce记录:标准对象、自定义对象、字段历史和字段定义。它回填每个表,然后每10分钟轮询业务对象,每小时设置对象。Salesforce没有签名的webhook,所以

中文使用文档
文档目录6 节
  1. 配置
  2. 设置
  3. API版本
  4. 数据
  5. 演示数据
  6. 限制

Salesforce生产商

从一个组织同步Salesforce记录:标准对象、自定义对象、字段 历史和字段定义。它回填每个表,然后轮询业务 对象每10分钟一次,设置对象每小时一次。Salesforce没有签名 webhook,所以没有。

资源什么
accounts, account_contact_relations, account_team_members, contacts, leads, opportunities, opportunity_line_items, opportunity_contact_roles, opportunity_competitors, opportunity_team_members, opportunity_splits, partners, forecasting_quotas销售
quotes, quote_line_items, contracts, contract_contact_roles, orders, order_items报价和订单
products, pricebooks, pricebook_entries, assets, asset_relationships目录和资产
campaigns, campaign_members, campaign_member_statuses, individuals, contact_point_emails, contact_point_phones市场营销
cases, case_comments, case_contact_roles, case_team_members, entitlements, service_contracts, contract_line_items, solutions, email_messages, email_message_relations, live_chat_transcripts, messaging_sessions, macros, quick_texts服务
work_orders, work_order_line_items, service_appointments, service_resources, service_territories, assigned_resources, resource_absences, locations, product_items现场服务
tasks, task_relations, events, event_relations, notes, attachments, feed_items, feed_comments, topics, topic_assignments活动
account_history, contact_history, lead_history, case_history, opportunity_history, opportunity_field_history领域的历史
users, user_roles, profiles, permission_sets, permission_set_assignments, groups, group_members, collaboration_groups, collaboration_group_members, record_types, business_hours, holidays, periods, organization, folders, documents用户和设置
duplicate_record_sets, duplicate_record_items重复的规则
custom_objects每个自定义对象的记录(*__c)
object_fields字段定义,以命名 fields 键

配置

变量要求默认的
SALESFORCE_DOMAIN是无
SALESFORCE_CLIENT_ID是无
SALESFORCE_CLIENT_SECRET是无

SALESFORCE_DOMAIN 是该组织的“我的域名”主机,例如 acme.my.salesforce.com。沙盒也很有效。

设置

  1. 选择连接器运行时的用户。使用Salesforce Integration的用户 许可工作。让它启用API,读取同步对象的访问权限,然后 查看所有数据。如果没有“查看所有数据”,则其共享之外的记录将被删除 错过了。
  2. 在Setup中打开 外部客户端应用管理器→新的外部客户端应用. 打开OAuth api 范围和 启用客户端凭证流. 没有使用回调URL。
  3. 在应用程序中 Policies→OAuth Policies,打开客户端凭据 流程和设置 运行 到步骤1中的用户。
  4. 下 设置→OAuth设置→消费者密钥和秘密,复制密钥 秘密是 SALESFORCE_CLIENT_ID 和 SALESFORCE_CLIENT_SECRET.

一个应用程序和域名读取一个组织,所以每个组织运行一个连接器。

API版本

连接器使用REST API v68.0 (冬天的27)。

数据

  • 对象表保存用户可以读取的所有非空字段 fields,按API 名称,作为字符串:文本原样,数字和布尔值作为JSON文本,日期作为 Salesforce发送它们。新的自定义字段会自动显示。 object_fields 具有每个字段的标签、类型和选择列表值。
  • 地址和位置字段被省略,因为它们的部分(如 BillingCity)也是字段。二进制字段也是如此,例如attachment 的身体。
  • created_at 是 CreatedDate 和 updated_at 是 SystemModstamp。两者都是 对没有它们的对象(如历史对象)为空。
  • custom_objects 保存每个自定义对象。 object 表示which,例如 Invoice__c.
  • 已删除或合并的记录得到 _deleted。修复的记录来了 回来。
  • 联系人,线索,用户,个人,联络点,案例,电子邮件,聊天和 消息传递记录、提要项、笔记、任务和事件都包含名称, 电子邮件、电话号码、地址和消息正文。把他们当作顾客对待 数据。

演示数据

pnpm demo --size 128MiB 在没有Salesforce的情况下写入编造的Salesforce数据 凭证。有关标志和变量,请参阅Connector Kit README 的需求。

每个帐户都有产品、报价、历史和联系方式、机会 分割,并且,一旦赢得,合同,订单,资产,服务合同 中的授权、安装访问和入职项目 custom_objects. 客户通过评论、电子邮件和聊天打开案例。账户也有任务, 事件,笔记,聊天帖子,还有一条线索。组织设置写入一次,然后 不随规模增长:用户,角色,配置文件,权限,组,等等 目录和价格书,活动,服务资源,和 object_fields.

限制

  • Salesforce列出最近30天的更改和最近15天的删除。 一个连接器停止超过15天就会失效,这些表需要一个新的 回填。
  • 读取其他记录的公式字段仅在记录更改时在行中更改 本身的变化。
  • permission_sets, permission_set_assignments, collaboration_groups 不能复制,所以每小时全部读取一次,然后删除行 留下来。
  • 没有引号或字段服务等特性的组织,或者没有 访问,使表出错。其他表保持同步。
  • 每个表每次轮询至少需要2个API调用。每张桌子都开着,那是 每天大约有23000个电话。开发者版org有15000个,所以只打开 你需要的桌子在那里。

版本与发布记录

@useairfoil/producer-salesforce 共发布 4 个版本,首次发布于 2026/10/29;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.3latest2026/11/03今天
0.0.22026/10/295 天前
0.0.12026/10/295 天前
0.0.0-stage2026/10/295 天前

关于 @useairfoil/producer-salesforce 的常见问题

@useairfoil/producer-salesforce 是什么?

从一个组织同步Salesforce记录:标准对象、自定义对象、字段历史和字段定义。它回填每个表,然后每10分钟轮询业务对象,每小时设置对象。Salesforce没有签名的webhook,所以

如何安装 @useairfoil/producer-salesforce?

在项目目录运行 npm install @useairfoil/producer-salesforce,或使用 pnpm add / yarn add / bun add。

@useairfoil/producer-salesforce 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@useairfoil/producer-salesforce 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@useairfoil/producer-salesforce 可以商用吗?

@useairfoil/producer-salesforce 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@useairfoil/producer-salesforce 还在维护吗?

最新版本 0.0.3 发布于 2026/11/03(今天);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/10/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。