Intégrer votre assistance

Cette page décrit le flux de travail d'assistance lorsque vous souhaitez fournir une assistance dans le cadre de votre solution.

Votre système doit être intégré à Google pour que vous puissiez fournir une assistance à vos clients ayant acheté vos solutions via Google. L'intégration est basée sur la fourniture des éléments suivants de la part de Google :

  • Une clé qui vous permettra de vérifier l'éligibilité à l'assistance d'un utilisateur dans le cadre du processus d'inscription.

  • Une API (l'API Subscriptions) à laquelle vous pouvez transmettre la clé pour interroger périodiquement l'état d'éligibilité à l'assistance d'un utilisateur.

Obtenir l'ID d'assistance de l'utilisateur

L'intégration de l'assistance s'articule autour d'un ID de compte externe, qui correspond à l'ID d'assistance de vos utilisateurs.

Les utilisateurs peuvent vous fournir leur ID d'assistance de plusieurs manières :

  • Vous créez un flux de travail pour l'assistance et spécifiez une URL au début de celui-ci. Google vous envoie ensuite l'ID de compte externe dans l'URL.
  • Lorsque vous créez votre solution dans le portail des Partner, vous pouvez sélectionner l'option pour afficher un bouton sur lequel les utilisateurs peuvent cliquer pour voir leur ID d'assistance. Ils peuvent ensuite copier et envoyer l'ID d'assistance par e-mail, le saisir dans un formulaire Web ou le lire à un représentant du support par téléphone.

Si vous mettez en œuvre un flux de travail pour l'assistance, celui-ci doit accepter l'ID de compte externe dans l'URL. L'ID de compte externe peut faire partie du chemin de l'URL, ou apparaître sous la forme d'une valeur de paramètre de requête, comme le montrent les exemples ci-dessous :

# External account ID in path
http://example.com/mysupportpage/{external_account_id}?someparameter=yes

# External account ID as a query parameter
http://example.com/mysupportpage?eid={external_account_id}&something_else

Le texte {external_account_id} de l'URL est remplacé par l'identifiant de compte externe. Si vous possédez plusieurs solutions dans Google Cloud Marketplace, vous pouvez inclure un paramètre de requête afin d'identifier la solution associée à l'URL.

Utiliser l'API d'abonnements

Après avoir obtenu l'ID de compte externe de l'utilisateur, vous pouvez à tout moment utiliser l'API d'abonnement fournie par Google pour vérifier l'éligibilité de l'utilisateur pour l'assistance. L'éligibilité est suivie en recherchant les entités appelées "abonnements".

Chaque abonnement possède un identifiant d'abonnement unique et un abonnement unique est créé pour chaque client et pour chaque solution répertoriée dans Cloud Marketplace. Vous pouvez donc également interroger un abonnement à l'aide d'un ID d'abonnement pour obtenir des informations supplémentaires sur l'historique d'un client avec votre solution, tel que la date de début de l'abonnement, la date de fin, etc.

Accès à l'API d'abonnements

L'API d'abonnements étant une API non publique, les développeurs et les projets nécessitant un accès doivent être ajoutés à la liste blanche.

Pour être ajouté à la liste blanche et pouvoir commencer, procédez comme suit :

  1. Envoyez une liste d'adresses e-mail pour les développeurs qui ont besoin d'accéder à la documentation de l'API à votre ingénieur partenaire Google Cloud Marketplace, ou à cloud-partner-onboarding@google.com. Il doit s'agir des adresses e-mail exactes que les développeurs utiliseront pour se connecter à http://console.developers.google.com. Ces développeurs seront ajoutés au groupe qui accorde l'autorisation d'accéder à la documentation de l'API d'abonnements.

  2. Envoyez l'ID du projet de votre solution à votre ingénieur partenaire Google Cloud Marketplace et demandez-lui l'autorisation d'appeler l'API. Vous pouvez ajouter plusieurs projets à la liste blanche si nécessaire.

  3. Activez l'API Cloud Billing en développant le menu dans le coin supérieur gauche de https://console.developers.google.com, en cliquant sur API et services, puis en recherchant et en activant l'API Cloud Billing.

  4. Créez un compte de service OAuth2 associé à votre projet et envoyez l'adresse e-mail de ce compte à votre ingénieur partenaire Google Cloud Marketplace. Cet utilisateur sera ajouté à la liste blanche et pourra consulter tous les abonnements pour vous. Il sera utilisé pour autoriser toutes les requêtes, à l'exception de celles qui ont été faites en demandant l'accord du client via une boîte de dialogue OAuth.

Comme l'API Subscriptions n'est pas une API publique, elle n'est pas comprise par défaut dans la bibliothèque cliente Python. Si vous envisagez d'utiliser la bibliothèque cliente Python avec cette API, vous devez également contacter votre ingénieur partenaire Google pour obtenir de l'aide concernant l'accès au fichier de découverte.

Dans l'exemple d'initialisation ci-dessous, le nom du fichier de découverte correspond au chemin vers lequel il a été téléchargé.

   # Load the local copy of the discovery document
   f = file(os.path.join(os.path.dirname(__file__),
         "cloudbilling-subscriptions_discovery.json"), "r")
   discovery = f.read()
   f.close()

   # Construct a service from the local documents
   service = build_from_document(discovery,
         base="https://www.googleapis.com/",
         http=http)

La bibliothèque cliente est également compatible avec l'authentification OAuth à l'aide des identifiants client et des comptes de service OAuth2. Pour en savoir plus, consultez la documentation OAuth 2.0 dans la bibliothèque cliente des API Google pour Python.

Interroger l'API des abonnements

Pour pouvoir accéder aux données d'abonnement, vous devez créer un compte de service OAuth2 et nous indiquer le compte avec lequel vous souhaitez autoriser les requêtes d'API. Google permettra ensuite à ce compte de service de consulter les abonnements de tous vos clients. Pour en savoir plus, reportez-vous à la page Utiliser OAuth 2.0 pour l'authentification serveur à serveur.

L'API est une API RESTful en lecture seule qui renvoie des ressources d'abonnement, qui peuvent être utilisées pour obtenir les informations suivantes :

  • name : identifiant associé à une seule ressource d'abonnement.
  • externalAccountId : identifiant associé à un seul compte de facturation.
  • version : numéro de version mis à jour à chaque modification de l'enregistrement. Cela permet de détecter facilement les modifications depuis la dernière lecture.
  • statut : correspond à l'une des valeurs suivantes :
    • ACTIVE : l'abonnement est actuellement actif et le client devrait pouvoir recevoir une assistance de votre part. Un abonnement est considéré comme actif si le compte a eu une machine virtuelle active au cours des 30 derniers jours.
    • COMPLETE : l'abonnement n'est plus actif, car le client ne dispose d'aucune machine virtuelle active en cours d'exécution avec votre solution et n'en a disposé d'aucune au cours des 30 derniers jours.

  • subscribedResources : liste des ressources couvertes par l'abonnement.
  • startDate : date à laquelle l'abonnement a commencé. Apparaît sous forme de chaîne au format RFC 3339.
  • endDate : date à laquelle l'abonnement a pris fin (s'il a pris fin), formatée sous forme de chaîne au format RFC 3339.
  • Étiquette du dernier horodatage de pulsation (avec clé) : la valeur de cette étiquette indique l'horodatage de la dernière pulsation de toute machine virtuelle exécutant la solution. Exemple : cloudmarketplacepartner.googleapis.com/last_heartbeat_us.

Lorsqu'un client clique sur le lien pour accéder à votre site à partir de Google Cloud Console, vous devez vérifier que le client est autorisé à utiliser le lien en effectuant les demandes suivantes :

  1. Répertoriez les abonnements associés à l'ID de compte externe
  2. Localisez l'abonnement actif pour la solution
  3. Obtenez les informations d'abonnement grâce à l'ID d'abonnement

Si le client est un utilisateur autorisé, la requête aboutit. Si ce n'est pas le cas, l'appel renvoie un code d'erreur non autorisé (HTTP 403).

Pour effectuer cette démarche, vous devez demander au client l'autorisation de consulter ses données d'abonnement lors du processus d'inscription à l'aide d'un flux de demande OAuth standard.

Les demandes ultérieures d'actualisation des données d'abonnement nécessitent l'utilisation de votre compte de service créé précédemment.

Flux d'enregistrement du service client

Une fois qu'un client a déployé votre solution via Cloud Marketplace ou via les API Compute Engine, Google Cloud Console affiche un lien vers votre site pour finaliser l'inscription à l'assistance. Le lien inclut l'ID de compte externe associé au compte.

Votre site doit permettre au client de créer un compte et comporter toutes les informations de contact nécessaires. Google ne vous fournit aucune information personnelle concernant le client. Il vous incombe également de maintenir un mappage entre le compte du client et l'ID de compte externe fourni par Google.