프라이빗 오퍼를 위한 SaaS 앱의 백엔드 통합

이 페이지에서는 Producer Portal에서 사용할 수 있는 프라이빗 오퍼, 버전 2용 SaaS 제품 백엔드를 통합하는 방법을 설명합니다.

VM 제품에는 이 단계가 필요하지 않습니다. 자격을 사용하여 사용량을 추적하는 추가적인 방법은 앱의 백엔드 통합 문서를 참조하세요.

시작하기 전에

  • 제품은 Google Cloud Marketplace에 통합되어 목록에 등록되어야 합니다. 적어도 하나 이상의 요금제가 공개적으로 제공되어야 합니다.

  • Producer Portal에 제품을 온보딩하고 오퍼에 사용하는 요금제를 위해 앱의 백엔드를 통합해야 합니다. 단계를 보려면 앱 백엔드 통합을 참조하세요.

자격 관리

고객이 프라이빗 오퍼를 구매하면 Google에서 고객이 Google Cloud Marketplace에서 오퍼를 구매했음을 나타내는 자격을 만듭니다. 이 섹션에서는 Partner Procurement API를 사용하여 프라이빗 오퍼의 자격을 관리하는 방법을 검토합니다.

프라이빗 오퍼에 Partner Procurement API를 사용하는 방법에 대한 자세한 내용은 참조 문서를 확인하세요.

Producer Portal에서 오퍼 목록을 볼 때 자격 승인과 같은 일부 관리 작업을 수행할 수 있습니다.

자격 승인 또는 거부

고객이 프라이빗 오퍼를 구매하면 Google Cloud Marketplace가 자격을 만들고 앱에 다음 Pub/Sub 메시지를 보냅니다.

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_CREATION_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "updateTime": "...",
  "newOfferDuration": "P1Y6M", // Contract duration for the offer
  "newOfferEndTime": "", // Ending time for the offer
  },
}

여기서 ENTITLEMENT_ID는 Google Cloud Marketplace에서 만든 ID입니다.

기간과 함께 오퍼가 생성된 경우 메시지에 기간이 연도 및 월로 표시되고 newOfferEndTime 필드가 비어 있습니다. 종료 시간이 지정되어 오퍼가 생성된 경우 메시지에 오퍼의 종료 시간이 표시되고 newOfferDuration 필드가 비어 있습니다.

시스템에서 사용자가 오퍼를 구매한 것을 반영하도록 사용자 계정을 업데이트합니다. 그런 다음 자격을 승인하기 위해 Partner Procurement API에 대해 HTTP POST 요청을 실행하고 승인 중인 ENTITLEMENT_ID를 보냅니다.

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approve

자격을 거부하려면 HTTP POST 요청에 reject 메서드를 대신 사용합니다.

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:reject

활성 오퍼 교체

프라이빗 오퍼를 설정하는 방법에 따라 고객이 오퍼를 대체할 수 있습니다. 고객이 새로운 프라이빗 오퍼를 선택하면 다음 형식의 Pub/Sub 메시지가 수신됩니다.

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_PLAN_CHANGE_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "newPlan": "ultimate",   // New plan for the offer,
  "newOffer": "OFFER2",    // New offer,
  "updateTime": "...",
  "newOfferDuration": "P2Y",   // Contract duration for the new offer
  },
}

여기서 OFFER2는 대체 오퍼이고 ENTITLEMENT_ID는 Google Cloud Marketplace에서 만든 ID입니다. 오퍼 기간은 년 및 월 단위로 제공됩니다.

오퍼 교체를 승인하려면 Partner Procurement API에 다음 HTTP POST 요청을 수행합니다.

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approvePlanChange

요청 본문에는 승인 중인 오퍼에 대한 요금제가 있어야 합니다.

{
  "pendingPlanName": PLAN_NAME
}

변경이 승인된 후에는 변경이 적용될 때 또 다른 Pub/Sub 메시지가 수신됩니다. 메시지에서 eventType 필드가 ENTITLEMENT_PLAN_CHANGED로 변경됩니다. 요금제 상태를 확인하려면 Partner Procurement API에 다음 HTTP GET 요청을 수행합니다.

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

응답은 다음과 비슷하게 표시됩니다. 여기서 state 필드는 새 오퍼가 활성화되었는지 아니면 오퍼 변경이 아직 보류 중인지를 나타냅니다.

{
  "name": "providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID",
  "provider": "YOUR_PARTNER_ID",
  "account": "USER_ACCOUNT_ID",
  "product": "example-server",
  "Offer":   "OFFER1",
  "plan": "pro",
  "state": "ENTITLEMENT_PENDING_PLAN_CHANGE",
  "newPendingOffer": "OFFER2",
  "newPendingPlan": "ultimate",
  "newOfferDuration": "P2Y",
  "newOfferEndTime": "",
  ...
}

다른 자격 작업 완료

다른 자격 작업은 Google Cloud Marketplace 공개 문서를 참조하세요.

프라이빗 오퍼 계정 작업의 이벤트 유형 목록

다음 표에는 프라이빗 오퍼를 위해 Pub/Sub 메시지에서 앱이 수신할 수 있는 eventType가 포함되어 있습니다.

전체 목록은 계정 작업의 이벤트 유형 목록을 참조하세요.

eventType 설명
ENTITLEMENT_OFFER_ENDED 고객의 프라이빗 오퍼가 종료되었음을 나타냅니다. 이 오퍼는 ENTITLEMENT_CANCELLED 이벤트를 트리거하거나 할인되지 않은 가격으로 활성 상태로 유지됩니다.