KamoCRM

실제 외부 캘린더 및 연락처 동기화 — Google, Microsoft 365, iCloud, CalDAV/CardDAV

FeatureEmailService
Shipped
2026년 11월 15일 오전 10:00 UTC
Author
Kamo
Commit
3b85588

설정 › 이메일 › CalDAV/CardDAV가 외부 연결을 저장하고 "마지막 연결"을 표시했습니다 아무것도 가져오지 않은 동기화에 대해 "synced" (DaemonService의 작업이 카운터를 충돌시켰습니다 모든 것을 IDLE 로 표시했고, 제공자 클래스는 TODO 였습니다) 그들을 실제로 동기화합니다 (그룹웨어/동기화): - CalDAV/CardDAV: 발견 (주소 → 주체 → 홈 세트 → 컬렉션, /.well-known 폴백, 붙여넣기 단일 캘린더 주소가 작동), CTag/sync-token 체크, 달력 쿼리 ETag 목록 (마지막 366 일), 변경 사항의 multiget, PUT/DELETE with If-Match/If-None-Match. iCloud는 기본 주소를 지정한다. - Google Calendar + 사람들, Microsoft 그래프 달력 + 연락처에 대한 보너스 /oauth 흐름 저장소; 새로 고침된 토큰(회전된 새로 고침 토큰은 유지됨) 새로 고침한 정확한 blob만을 대체하는 write. - IcsImportService.upsert (시리즈, 예외, EXDATEs)를 통해 이벤트 랜드 및 ContactService + ContactDetailStore를 통한 연락처 — 초대장 없음, 아니요 알림, 원시 테이블 쓰기가 없습니다. - 컬렉션 / 항목 당 부기 (새로운 groupware_sync_ * 테이블) 업데이트를 제공, 삭제 및 양방향: 먼저 당기기 (외부 복사본이 승리), 그 다음 푸시 Kamo 통합이 양방향이고 컬렉션이 있을 때 편집/생성/삭제 가드: 실패하거나 의심스럽게 빈 목록에서 아무것도 제거되지 않음, Kamo 가져오지 않은 아무것도, 창 밖으로 나이가 든 아무것도; 패스 거기에 있는 컬렉션의 대부분을 삭제하는 것은 거부됩니다. - 상태는 정직하다 : 실행하는 동안 동기화, IDLE + lastSyncedAt 전체 후에만 fetch, ERROR + plain-words errorMessage 그렇지 않으면; 열별로 작성되므로 컬렉션별 lastError와 카운트는 다음과 같습니다 설정 페이로드(syncSupported, calendarsSynced, eventsSynced, addressBooksSynced, contactsSynced, 컬렉션[]). - 스케줄링: **************** (DaemonService의 시계) 및 /integrations/{id} (daemon.sync.trigger를 통해 지금 동기화, 로컬 폴백 없음) NATS); 통합당 SingletonTaskRunner 임대로 팟이 두 번 실행되지 않습니다. - 테스트 연결이 이제 로그인하고 목록을 생성합니다. 회원 행은 그들의 조직을 기록합니다. 통합을 삭제하면 동기화된 것을 분리(유지)합니다. 외부 주소 공용 호스트로 https로 연결되어야 합니다(클러스터/SSRF 범위 제한); 자격 증명은 로그되지 않습니다. - 죽은 TODO 공급자 스탭과 사용되지 않는 새로 고침을 제거했습니다.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing