Delcore

Delcore는 Delino 서비스를 위한 공유 테넌트, 접근 제어, 결제 기능을 제공합니다. 공식 API 서버는 https://delcore.api.delino.io입니다. 이 페이지는 서비스 개발자를 위한 테넌트 상태 확인 방법을 설명합니다.

테넌트 상태 확인

등록된 서비스는 Delcore에 테넌트가 활성, 차단 또는 삭제 상태인지 물어볼 수 있습니다. 프로젝트 API 키로 호출하는 경우처럼 서비스가 테넌트의 데이터를 저장하지만 요청마다 Delino 사용자가 없을 때 이 확인을 사용하세요.

테넌트 ID 1개에서 100개를 담아 delcore.v1.DelcoreService/GetTenantStates를 호출합니다. 각 ID는 소문자 UUID 버전 7이어야 합니다. 서비스의 Logto 머신 간(M2M) 애플리케이션 액세스 토큰으로 인증합니다. 서비스는 Delcore에 등록되어 있어야 하고 authorize 범위를 가져야 합니다. 사용자 토큰, 등록되지 않은 서비스, 이 범위가 없는 서비스는 테넌트 상태를 읽을 수 없습니다.

응답은 요청한 각 테넌트 ID를 보낸 순서대로 반복하고, ID마다 상태 하나를 담습니다.

상태의미
TENANT_STATE_ACTIVE테넌트가 존재하며 차단되거나 삭제 중이 아닙니다.
TENANT_STATE_BLOCKED플랫폼 운영자가 테넌트를 차단했습니다.
TENANT_STATE_DELETING삭제가 진행 중입니다.
TENANT_STATE_DELETED삭제가 최종 완료되었습니다.
TENANT_STATE_UNKNOWNDelcore에 이 ID의 테넌트가 없습니다.

여러 조건이 동시에 적용되면 DELETED가 DELETING보다, DELETING이 BLOCKED보다, BLOCKED가 ACTIVE보다 우선합니다.

이 상태는 결제와 무관합니다. 구독 만료, 갱신 실패, 분쟁, 잔액 부족은 테넌트를 BLOCKED로 만들지 않습니다. 사용자가 유료 작업을 실행할 수 있는지 판단하려면 Authorize를 사용하세요. 이 확인은 데이터를 읽기만 합니다. 테넌트를 변경하거나 유료 사용을 승인하거나 결제 제공자에 연결하지 않으며, 테넌트 이름, 사용자 정보, 결제 정보를 반환하지 않습니다.

결과와 실패 처리

  • TENANT_STATE_ACTIVE일 때만 접근을 허용하세요. 차단되거나 삭제 중인 테넌트에 대한 소유자나 관리자 접근을 서비스에서 문서로 정의한 경우에만 예외로 허용할 수 있습니다.
  • TENANT_STATE_UNKNOWN, 요청 오류, 시간 초과, Delcore를 사용할 수 없는 상태는 접근 불가로 처리하세요. 이 경우 데이터를 삭제하지 마세요.
  • 명시적인 TENANT_STATE_DELETED를 받은 후에만 보관 중인 테넌트 데이터를 자동으로 삭제하세요. BLOCKED와 DELETING은 자동 삭제를 허용하지 않습니다.
  • 잘못된 ID, 빈 요청, 100개를 초과하는 ID는 invalid-argument 오류를 반환합니다. 누락, 만료 또는 유효하지 않은 자격 증명은 unauthenticated 오류를 반환합니다. 테넌트 상태를 읽을 권한이 없는 호출자는 permission-denied 오류를 받습니다. 그 밖의 실패는 상관관계 ID가 포함된 오류를 반환합니다. 지원을 요청할 때 오류 세부 정보와 X-Delcore-Correlation-Id 헤더에 있는 이 ID를 함께 알려 주세요.
  • 실패한 요청은 나중에 다시 시도하세요. 실패한 요청은 테넌트가 활성이거나 삭제되었다는 뜻이 아닙니다.