KamoCRM

真正的外部日历和联系人同步 — Google , Microsoft 365 , iCloud , CalDAV/CardDAV

FeatureEmailService
已发运
2026年11月15日 10:00 UTC
作者
Kamo
承诺
3b85588

设置 › 电子邮件 › CalDAV/CardDAV 保存了外部连接并显示"最后一次 synced " , 表示同步没有提取任何内容(DaemonService 的作业碰撞了计数器) 并将所有内容标记为 IDLE;提供程序类是 TODO 类 ) 同步它们真正的 (groupware/sync ) : - CalDAV/CardDAV:发现(地址 → 主体 → 主设置 → 集合,与 / . well-known fallback,粘贴的单一日历地址可行 ) , CTag/sync-token check, calendar-query ETag 列表(过去 366 天 ) , 变更内容的 multiget, 使用 If-Match/If-None-Match 的 PUT/DELETE。 iCloud 默认地址。 - Google Calendar + 人, Microsoft 图表日历 + 联系人授予 /oauth 流量存储;刷新令牌(并保留旋转刷新令牌) 只替换它刷新的确切 blob 的写入。 - 通过 IcsImportService.upsert 登陆事件(系列、例外、EXDATE)和 联系人通过ContactService + ContactDetailStore — 没有邀请,没有 提醒,没有原始表写入。 - 按收藏/项目的记账(新的groupware_sync_ * 表)提供更新, 删除和双向:先拉(外部副本赢得平局 ) , 然后推 Kamo 当集成是双向的,并且集合 Guards:在失败或可疑的空列表中不删除任何内容, Kamo 没有进口的东西,没有什么东西只会老化出窗口;一个通道 会删除大部分收藏的请求被拒绝。 - 状态是诚实的:运行时同步,IDLE + lastSyncedAt 只有在一个完整的 fetch, ERROR + 纯文字 errorMessage 否则; 逐列写入 每个集合的 lastError 和计数都在 设置有效载荷(syncSupported、calendarsSynced、eventsSynced、 addressBooksSynced, contactsSynced, 集合 [ ] ) 。 - 调度 : **************** (DaemonService 的时钟)和 /integrations/{id } ( 通过 daemon.sync.trigger 立即同步,无需本地备份) NATS ) ; 每个集成 SingletonTaskRunner 租赁,以便 pods 永远不会重复运行。 - 测试连接现在登录和列表;成员行记录他们的组织; 删除集成脱离(保留)同步内容;外部地址 必须是 https 到公共主机(无群集/SSRF 范围 ) ; 凭据永远不会记录。 - 删除了已死亡的 TODO 提供商 stubs 及其未使用的刷新器。

所有变动

“你看见了什么 ? ”

所有这些都会自动到达您的工作空间。 开始使用免费计划,一个月后再阅读此页面。

开始免费永远查看定价