무엇을 동기화할 수 있나요?
우리의 데이터베이스 동기화 기능은 다음 Dodo Payments 엔티티를 데이터베이스에 동기화하는 것을 지원합니다:Payments
일회성 결제, 환불 및 결제 상태 업데이트를 포함한 모든 결제 거래를 동기화합니다.
Customers
고객 프로필, 연락처 정보, 메타데이터를 포함해 고객 데이터를 동기화 상태로 유지합니다.
Subscriptions
활성 구독, 청구 주기, 구독 상태 변경을 포함한 구독 데이터를 동기화합니다.
Licenses
라이선스 키, 활성화 및 라이선스 상태 업데이트를 포함한 라이선스 정보를 동기화합니다.
scopes 매개변수에 이러한 엔터티 중 원하는 조합을 지정하여 동기화할 수 있습니다. 모든 동기화 작업은 증분 방식이며 최적의 성능을 위해 새롭거나 업데이트된 레코드만 전송합니다.
데이터베이스 지원
현재 MongoDB, PostgreSQL, MySQL, 및 ClickHouse를 지원합니다. 우리는 다음에 대한 지원을 확장하기 위해 적극적으로 작업하고 있습니다:- 데이터베이스: Snowflake 및 기타.
- 파이프라인: ETL 파이프라인, 실시간 동기화.
시작하기
CLI를 통해 또는 코드에서 프로그래밍 방식으로 데이터베이스 동기화 기능을 사용할 수 있습니다. 두 방법 모두 동일한 기능을 제공하므로, 작업 흐름에 가장 적합한 방법을 선택하세요.CLI 사용하기
CLI 도구는 데이터베이스 동기화를 설정하고 실행하는 빠른 방법을 제공합니다. 어디서나 사용할 수 있도록 전역적으로 설치하세요:CLI 실행하기
CLI는 두 가지 모드를 지원합니다: 대화형 모드는 안내 설정을 위한 것이고, 수동 모드는 직접 구성을 위한 것입니다. 대화형 모드: 인수 없이 명령을 실행하여 대화형 설정 마법사를 시작하세요.CLI 인수
초 단위 동기화 간격입니다. 동기화 작업이 실행되는 빈도를 결정합니다. 이 옵션을 제공하지 않으면 동기화는 한 번 실행된 후 종료됩니다.
사용할 데이터베이스 유형입니다. 지원되는 값:
"mongodb", "postgres", "mysql" 또는 "clickhouse".데이터베이스 연결 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
동기화할 데이터 엔터티를 쉼표로 구분하여 나열합니다. 가능한 범위:
licences, payments, customers, subscriptions. 예시: "payments,customers".Dodo Payments API 키입니다. 라이브 모드는
dp_live_로 시작해야 하고 테스트 모드는 dp_test_로 시작해야 합니다.환경 대상입니다.
"live_mode" 또는 "test_mode" 중 하나여야 합니다. 이 설정은 어떤 Dodo Payments 환경에서 동기화를 수행할지를 결정합니다.초당 요청 제한입니다. Dodo Payments API에 과도한 요청이 전송되지 않도록 동기화 엔진이 API 요청을 수행하는 속도를 제어합니다.
코드에서 사용하기
프로그래밍 방식으로 제어하려면, 동기화 기능을 애플리케이션에 직접 통합하세요. 프로젝트에 종속성으로 설치하세요:자동 동기화 (간격 기반)
정기적으로 동기화가 지속적으로 실행되도록 하려면 자동 동기화를 사용하세요:수동 동기화
수동 동기화는 필요할 때 동기화 작업을 트리거하려는 경우에 사용하세요 (예: 크론 작업 또는 API 엔드포인트에서):PostgreSQL 예시
다음은 PostgreSQL에서dodo-sync를 사용하는 방법입니다:
MySQL 예시
다음은 MySQL에서dodo-sync를 사용하는 방법입니다:
ClickHouse 예시
다음은 ClickHouse에서dodo-sync를 사용하는 방법입니다:
생성자 옵션
사용할 데이터베이스 이름입니다. 지원되는 값:
"mongodb", "postgres", "mysql" 또는 "clickhouse".데이터베이스 연결 문자열:
- MongoDB:
mongodb://localhost:27017또는mongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
동기화할 엔터티 배열입니다. 가능한 옵션:
"licences", "payments", "customers", "subscriptions". 이들을 원하는 조합으로 포함할 수 있습니다.인증 및 환경 선택을 위한 Dodo Payments API 구성입니다. 전체 옵션은 TypeScript SDK 타입을 참조하세요.필수 속성:
bearerToken: Dodo Payments API 키environment:"test_mode"또는"live_mode"중 하나
자동 동기화에
.start()을 사용하는 경우 필요한 초 단위 간격입니다. 수동 동기화를 위해 .run()을 사용하는 경우에는 선택 사항입니다.초당 요청 수입니다. Dodo Payments API에 과도한 요청을 보내지 않도록 동기화 엔진이 API 요청을 수행하는 속도를 제어합니다.
중요 정보
동기화 엔진은 변경 사항을 추적하여 새롭거나 업데이트된 레코드만 동기화하므로 대용량 데이터셋에서도 이후 동기화가 효율적입니다.