소개
메타데이터를 사용하면 Dodo Payments의 객체에 대한 추가적인 구조화된 정보를 저장할 수 있습니다. 결제, 구독 등 대부분의 Dodo Payments 객체에 메타데이터를 첨부할 수 있습니다.개요
- Metadata 키는 최대 40자까지 사용할 수 있습니다
- Metadata 값은 문자열, 정수, 숫자 또는 불리언일 수 있으며, 문자열은 최대 500자까지 사용할 수 있습니다
- 객체, 배열 및
null은 Metadata 값으로 사용할 수 없습니다 - 객체당 최대 50개의 Metadata 키-값 쌍을 사용할 수 있습니다
- 키에는 영숫자, 대시 및 밑줄만 포함해야 합니다
- Metadata는 API를 사용하여 검색할 수 없지만 API 응답과 웹훅에 반환됩니다
사용 사례
메타데이터는 다음과 같은 용도로 유용합니다:- 외부 ID 또는 참조 저장
- 내부 주석 추가
- Dodo Payments 객체를 시스템에 연결
- 거래 분류
- 보고를 위한 사용자 정의 속성 추가
메타데이터 추가
API를 통해 객체를 생성하거나 업데이트할 때 메타데이터를 추가할 수 있습니다. 제품의 경우 대시보드 UI에서 직접 메타데이터를 추가할 수도 있습니다.API를 통한 추가
대시보드 UI를 통한 추가 (제품 전용)
제품의 경우 Dodo Payments 대시보드에서 제품을 생성하거나 편집할 때 메타데이터를 직접 추가할 수 있습니다. 메타데이터 섹션을 통해 코드를 작성하지 않고도 사용자 정의 키-값 쌍을 쉽게 추가할 수 있습니다.
메타데이터 검색
메타데이터는 객체를 검색할 때 API 응답에 포함됩니다:Checkout 세션(
GET /checkouts/{id})을 조회해도 metadata은 반환되지 않습니다. 세션 상태 응답에는 id, created_at, payment_id, payment_status, customer_email 및 customer_name만 포함됩니다. 세션 생성 시 연결한 Metadata는 대신 해당 세션에서 생성된 결제에서 읽어야 하며, 이때 해당 엔드포인트에서 반환된 payment_id을 사용합니다.검색 및 필터링
Metadata는 API를 통해 직접 검색할 수 없지만 다음 작업을 수행할 수 있습니다:- 중요한 식별자를 Metadata에 저장합니다
- 기본 ID를 사용하여 객체를 조회합니다
- 애플리케이션 코드에서 결과를 필터링합니다
모범 사례
권장 사항:
- Metadata 키에 일관된 명명 규칙을 사용합니다
- 내부적으로 Metadata 스키마를 문서화합니다
- 값을 짧고 의미 있게 유지합니다
- 정적 데이터에만 Metadata를 사용합니다
- 시스템마다 접두사를 사용하는 것을 고려합니다(예:
crm_id,inventory_sku)
권장하지 않는 사항:
- Metadata에 민감한 데이터를 저장하지 않습니다
- 자주 변경되는 값에 Metadata를 사용하지 않습니다
- 중요한 비즈니스 로직을 Metadata에 의존하지 않습니다
- 객체의 다른 위치에서 이미 제공되는 중복 정보를 저장하지 않습니다
- Metadata 키에 특수 문자를 사용하지 않습니다