SaaS 契約製品を統合する - AWS Marketplace

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SaaS 契約製品を統合する

製品と AWS Marketplace との統合は、SaaS 製品の作成 における 1 つのステップです。Software as a Service (SaaS) 契約製品を AWS Marketplace と統合するには、コードを記述し、複数の顧客シナリオに問題なく対応できることを実証する必要があります。以下のセクションでは、これらのシナリオとその対応方法について説明し、統合テストの概要を説明します。

注記

開始する前に、AWS Marketplace で対象の Software as a Service (SaaS) 製品に適した料金モデルを選択していることを確認してください。詳細については、「SaaS 製品の計画」を参照してください。

シナリオ: サービスが新規顧客を検証する

顧客が製品をサブスクライブすると、登録 URL にリダイレクトされます。これは一時的な x-amzn-marketplace-token トークンを含む HTTP POST リクエストです。このリクエストには、次の方法で応答します。

  1. AWS Marketplace Metering Service ResolveCustomer API オペレーションを呼び出して、CustomerIdentifierCustomerAWSAccountIdProductCode のトークンを交換します。

  2. AWS Marketplace Entitlement Service で GetEntitlements API オペレーションを呼び出して、顧客がアクセスできるサブスクリプションと数量 (該当する場合) を確認します。

  3. CustomerIdentifierCustomerAWSAccountIdProductCode は、今後の呼び出しに備えてシステム内に残しておきます。顧客が有効なサブスクリプションを持っているかどうかと、顧客について必要な情報をすべて保存しておきます。

  4. リクエストへの対応として、ユーザーが初めて使用するときの操作を (サービスに応じて) 表示する必要があります。

シナリオ: サービスが顧客のリクエストを処理する

顧客がサービスにリクエストをしたら、次のシナリオに適切なアクションまたはメッセージで対応する必要があります。

  • 顧客のシステムには顧客 ID がありません。つまり、まだサブスクライブしていないということです。サブスクライブ方法をユーザーに伝える必要があります。

  • 顧客 ID があり、GetEntitlements API オペレーションによって適切なエンタイトルメントが返されます。このシナリオでは、リクエストに応答する必要があります。

  • 顧客 ID はあるが、GetEntitlements API オペレーションから返されるエンタイトルメントがないか、リクエストを満たすのに十分な数量がありません。このシナリオでは、アクセスの処理方法とユーザーエクスペリエンスの管理方法を決定する必要があります。

シナリオ: ユーザーサブスクリプションの変更を監視する

Amazon Simple Queue Service (Amazon SQS) キューを設定し、製品の Amazon SNS トピックをサブスクライブします。SNS トピック情報は、製品を作成したときに AWS Marketplace オペレーションチームから受信した E メールに記載されていたものです。詳細については、「SaaS 製品の作成」を参照してください。SNS トピックをサブスクライブすると、特定の顧客へのアクセス権の付与や取り消しなど、顧客エンタイトルメントの変更に関する通知が届きます。

注記

SNS トピックの Amazon リソースネーム (ARN) は arn:aws:sns:us-east-1:<account id>:aws-mp-entitlement-notification-<product code> のようになります。

返答が必要な通知は、以下のものだけです。

  • entitlement-updated - 顧客エンタイトルメントが変更されたため、GetEntitlements API オペレーションを呼び出して新しいステータスを確認する必要があります。カスタマーストアを更新し、該当する場合は (例えば、顧客の契約が失効している場合)、カスタマーリソース閉鎖のプラクティスに従い、リテンションポリシーを遵守します。

注記

詳細については、「使用権限の確認」を参照してください。

SaaS 契約製品統合のテスト

SaaS 契約製品を AWS Marketplace と統合した後は、統合が成功することを確認するために綿密なテストを実施する必要があります。次の手順では、製品統合を確認するステップを示します。

注記

自分のアカウントを使って製品をサブスクライブし、正常に統合できたことを確認します。料金を一時的に下げて、それらのアカウントで高額な料金を発生させずに購入フローをテストすることができます。価格を一時的に引き下げたり、追加のテストアカウントに製品へのアクセスを許可したりする方法について詳しくは、お問い合わせください

製品が発売された後も、サービスは新規顧客向けに引き続きこれらのシナリオに対応する必要があります。

  1. 許可したアカウントを使用して、製品を契約してカスタマーエクスペリエンスをテストします。

  2. アカウントで契約した後、アカウントが登録 URL にリダイレクトされることと、そのリダイレクトが一時トークンを含む POST リクエストであることを確認します。アプリケーションが今後の通話に備えて顧客 ID を保持し、顧客が持つエンタイトルメントを正しく処理するようにしてください。これは シナリオ: サービスが新規顧客を検証する の一部をテストします。

  3. 上記の手順でテストアカウントを検証したら、そのアカウントをアプリケーションにオンボードします。例えば、テスト用の顧客でフォームに入力して、新しいユーザーを作成することができます。または、SaaS アプリケーションにアクセスするための次の手順を別途用意します。これは シナリオ: サービスが新規顧客を検証する の一部をテストします。

  4. GetEntitlements API オペレーションからエンタイトルメントが返されない場合は、オンボーディング中または検証の進行中に、エンタイトルメントのないユーザーのアクセスとエクスペリエンスを管理する方法を決定します。これは シナリオ: サービスが顧客のリクエストを処理する をテストします。

  5. サブスクリプションの変更をテストします。サブスクリプション解除、サブスクリプション成功、サブスクリプション失敗のシナリオをアプリケーションが正しく処理することを確認します。これは シナリオ: ユーザーサブスクリプションの変更を監視する をテストします。

  6. 統合のすべての要件を満たし、ソリューションのテストが完了したら、AWS Marketplace Seller Operations チームに通知します。次に、GetEntitlements API オペレーションが正常に呼び出され、新規顧客が十分にオンボーディングされたことを確認して、ソリューションをテストします。

統合とテストが完了したら、最終レビューを行い、公開 AWS Marketplace に製品を掲載することができます。詳細については、「SaaS 製品の作成」を参照してください。返金リクエストフォームに記入して、テストサブスクリプションをキャンセルすることもできます。サブスクリプションのキャンセルの詳細については、「AWS Marketplace 製品の返金プロセス」を参照してください。