Integrating your app: setting up

This section is an overview of the steps to integrate your app with Google Cloud Marketplace. At a high level, you integrate your app with Google Cloud in the following ways:

  • Backend integration

    You must integrate your app's backend with the following Google APIs and services:

    • Integrate with Pub/Sub to receive notifications from Google Cloud Marketplace, such as when a user signs up for your product. Your Partner Engineer creates a Pub/Sub topic that you must subscribe to for notifications.

      For information on subscribing to a Pub/Sub topic, see the Pub/Sub Subscriber Guide.

    • Integrate with the Partner Procurement API to create accounts for customers, and link these accounts with their Google Cloud Marketplace purchase. You must also use the Partner Procurement API to update the linked accounts when users change or cancel their subscription plans.

    • If you have chosen a usage-based pricing model, integrate with Service Control to report usage information.

    For detailed information on integrating your app's backend with Google Cloud Marketplace, see Integrating your app's backend.

    For an example of integrating the backend of a basic product with Google Cloud Marketplace and a walkthrough of the sample code, see the codelab for integrating a SaaS product.

  • Frontend integration

    In your app's frontend, you must set up the following integrations:

    • Create an activation page for new customers who are buying your product through Google Cloud Marketplace. When new customers are directed to this page, Google also sends a JSON Web Token (JWT), which contains the user's account ID. You can use this account ID to create a new account for the user, and link it to their Google account.

    • Integrate single sign-on (SSO), so that users can sign into your app using their Google accounts. To integrate SSO, your app must verify a JWT that contains the user's account ID. Your app must check the account ID with the user's linked account.

    For detailed information on integrating your app's frontend with Google Cloud Marketplace, see Integrating your app's frontend.

Before you begin

  • Verify that your Partner Engineer has enabled access to the Cloud Commerce Partner Procurement API.

Integrating with Google APIs

You can integrate your app with Google APIs using client libraries, which give you programmatic access to Google products. The client libraries are available for most popular development platforms, such as Java, Python, and .NET.

Install the client libraries for your platform from the API Client Libraries page.

With the client libraries, you can:

  • Connect to your Pub/Sub subscription, and handle incoming messages.

  • If you chose usage-based pricing, connect to the Service Control API to report usage data to Google.

To create linked accounts for customers, and to send and receive updates about user accounts, you must also integrate with the Partner Procurement API. Because the Partner Procurement API is restricted, you must build a new client library for the API.

To build a new client library, you need to install the Google client libraries, and build a new library from the API discovery document. The discovery document for the Partner Procurement API is at this URL:

https://cloudcommerceprocurement.googleapis.com/$discovery/rest?version=v1

For example, if you are building a Python client library for the Partner Procurement API, use the build() method. For sample code that builds a client library, see the codelab samples on GitHub.

Enabling the Partner Procurement API in Cloud Console

Producer Portal

If you are using Producer Portal, after your Partner Engineer has granted you access to the Partner Procurement API, you do not need to take any additional steps to enable the API in Cloud Console.

Partner Portal

If you are using Partner Portal, after your Partner Engineer has granted you access to the Partner Procurement API, to enable the API in Cloud Console, go to the following URL:

https://console.cloud.google.com/apis/api/cloudcommerceprocurement.googleapis.com/overview?project=YOUR_PROJECT_ID

where YOUR_PROJECT_ID is the project that hosts your solution, which you created when you set up your environment.