Package: npm의 dodo-sync | Source: GitHub
무엇을 동기화할 수 있나요?
다음 entity를 원하는 조합으로 선택하세요:Payments
일회성 결제, 환불 및 상태 업데이트를 포함한 모든 결제 거래입니다.
Customers
고객 프로필, 연락처 정보 및 메타데이터입니다.
Subscriptions
구독 데이터, 결제 주기 및 상태 변경입니다.
Licenses
라이선스 키, 활성화 및 상태 업데이트입니다.
scopes parameter를 사용하여 동기화할 entity를 지정합니다. 각 실행은 선택한 scope의 모든 레코드를 가져와 ID별로 기록하므로 기존 행이 중복되지 않고 제자리에서 업데이트됩니다. MongoDB에서는 라이선스 키가 subscription ID별로 저장되므로, 여러 라이선스 키가 있는 subscription은 그중 하나만 유지합니다.
데이터베이스 지원
Dodo Sync는 MongoDB, PostgreSQL, MySQL 및 ClickHouse를 지원합니다. Snowflake 및 기타 데이터베이스, ETL pipeline, realtime sync에 대한 지원은 개발 중입니다. 새로운 데이터베이스 통합을 추가하려면 GitHub repository에 pull request를 제출하세요.시작하기
빠르게 설정하려면 CLI를 통해 Dodo Sync를 사용하고, 애플리케이션에 통합하려면 코드에서 programmatically 사용하세요. 두 방법 모두 동일한 기능을 제공합니다.CLI 사용
어디서나 실행할 수 있도록 CLI를 전역으로 설치하세요:CLI 실행
CLI는 두 가지 모드를 지원합니다. 안내에 따른 설정을 위한 interactive 모드와 직접 구성을 위한 manual 모드입니다. Interactive mode: 인수 없이 실행하여 설정 wizard를 시작합니다.CLI 인수
string
필수
데이터베이스 type:
"mongodb", "postgres", "mysql" 또는 "clickhouse"입니다.string
필수
데이터베이스의 connection URI입니다:
- MongoDB:
mongodb://localhost:27017또는mongodb+srv://user:pass@cluster.mongodb.net/ - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
string
필수
동기화할 entity의 쉼표로 구분된 목록입니다:
licences, payments, customers, subscriptions. 예시: "payments,customers".string
필수
Developer → API Keys에서 확인할 수 있는 Dodo Payments API key입니다.
--env와 동일한 mode의 key를 사용하세요.string
필수
Environment:
"live_mode" 또는 "test_mode"입니다.number
초당 requests 단위의 rate limit입니다. sync engine이 API requests를 수행하는 속도를 제어합니다. 기본값은
10이며, 100 이상의 값은 throttling을 해제합니다.코드에서 사용
sync 기능을 애플리케이션에 직접 통합합니다. dependency로 설치하세요:Automatic Sync (Interval-based)
일정한 interval로 sync를 계속 실행합니다:Manual Sync
cron job 또는 API endpoint 등에서 필요할 때 sync operation을 trigger합니다:PostgreSQL 예시
MySQL 예시
ClickHouse 예시
Constructor Options
string
필수
데이터베이스 type:
"mongodb", "postgres", "mysql" 또는 "clickhouse"입니다.string
필수
데이터베이스의 connection string입니다:
- MongoDB:
mongodb://localhost:27017또는mongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
string[]
필수
동기화할 entity의 array입니다:
"licences", "payments", "customers", "subscriptions". 원하는 조합을 포함하세요.object
필수
Dodo Payments API configuration입니다. 전체 option은 TypeScript SDK types를 참조하세요.필수 properties:
bearerToken: Dodo Payments API keyenvironment:"test_mode"또는"live_mode"
number
automatic sync 사이의 초 단위 시간입니다.
.start()에는 필요하고, .run()에는 선택 사항입니다.number
초당 requests 단위의 rate limit입니다. 기본값은
10이며, 100 이상의 값은 throttling을 해제합니다.중요 정보
추가 리소스
GitHub Repository
소스 코드를 확인하고, issue를 보고하거나 개선 사항에 기여하세요
npm Package
package 세부 정보와 설치 안내를 확인하세요