Récupérer et mettre à jour les informations de compte d'un client

Pour récupérer et mettre à jour les informations d'un client à l'aide de l'API Reseller, vous pouvez rechercher votre client de deux manières :

  • Identifiant unique du client (par exemple, C0123456)
  • Nom de domaine du client (par exemple, example.com)

Récupérer les informations du compte d'un client

Pour récupérer les informations de compte d'un client, utilisez la requête GET suivante et incluez le jeton d'autorisation :

GET https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID

Remplacez CUSTOMER_ID par l'identifiant unique ou le nom de domaine de votre client.

Retours de réponse

Lorsque vous récupérez les informations du compte d'un client, vous pouvez recevoir l'une des réponses suivantes :

  • Renvoie l'ensemble des paramètres client. Le client fait partie de vos clients existants. L'API Reseller vous permet de gérer les paramètres de compte et d'abonnement de ce client.

  • Renvoie les informations minimales du compte client. Si la réponse ne renvoie que customerId, customerDomain et customerType, cela signifie que Google ou un autre revendeur gère le client. Vous ne pouvez pas créer un autre client dont l'adresse e-mail est validée pour ce client. Pour gérer ce client, procédez comme suit :

    1. Récupérez tous les abonnements transférables du client pour savoir si l'abonnement peut être transféré et connaître le nombre minimal de licences utilisateur pour le transfert.
    2. Transférez l'abonnement.
  • Renvoie Multiple teams exist on this domain. Ce domaine est associé à un ou plusieurs clients d'équipe. Pour ajouter une autre équipe à ce domaine, procédez comme suit :

    1. Commandez un compte client.
    2. Pour créer un client validé pour le domaine, demandez-lui d'acheter un abonnement direct via Google et de valider son domaine, de reprendre les équipes existantes, puis de transférer l'abonnement vers votre compte.
  • Renvoie une erreur HTTP 404. Le client est nouveau sur Google et ne possède pas de compte. Pour gérer ce client, procédez comme suit :

    1. Vérifiez que vos enregistrements client ne contiennent pas d'anciennes données client avec un éventuel décalage entre le nom de domaine principal d'un client et l'identifiant client Google unique. Lorsqu'un compte Google précédemment supprimé est rétabli, il est traité comme un nouveau compte et possède une nouvelle valeur customerId, même si le compte peut conserver la même valeur customerDomain.
    2. Commandez un nouveau compte client.
    3. Créez un abonnement pour ce nouveau compte client.

Modifier les paramètres d'un client

Vous ne pouvez pas mettre à jour customerType à l'aide de l'API Reseller, mais vous pouvez valider le domaine d'un client team et devenir un client domain.

Pour mettre à jour les paramètres d'un client, utilisez la requête PUT suivante et incluez l'identifiant unique de votre client :

PUT https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID

Le corps de la requête JSON met à jour les paramètres client suivants :

{
  "customerId": "C0CUSTOMER_ID123456",
  "customerDomain": "DOMAIN_NAME",
  "postalAddress": {
    "contactName": "NAME",
    "organizationName": "ORGANIZATION_NAME",
    "postalCode": "POSTAL_CODE",
    "countryCode": "COUNTRY_CODE"
  },
  "alternateEmail": "EMAIL_ADDRESS"
}

Remplacez les éléments suivants :

  • DOMAIN_NAME : domaine de votre client (par exemple, example.com)
  • NAME : nom de votre client, par exemple Alex Cruz.
  • ORGANIZATION_NAME : nom de l'organisation de votre client, par exemple Example Organization.
  • POSTAL_CODE : code postal de votre client, par exemple 94043.
  • COUNTRY_CODE : code pays ISO à deux caractères de votre client.
  • EMAIL_ADDRESS : adresse e-mail de votre client, par exemple cruz@example.com.

Une réponse JSON réussie renvoie un code d'état HTTP 200 et les paramètres client mis à jour :

{
  "kind": "reseller#customer",
  "customerId": "CUSTOMER_ID",
  "customerDomain": "DOMAIN_NAME",
  "postalAddress": {
    "kind": "customers#address",
    "contactName": "NAME",
    "organizationName": "ORGANIZATION_NAME",
    "postalCode": "POSTAL_CODE",
    "countryCode": "COUNTRY_CODE",
  },
  "alternateEmail": "EMAIL_ADDRESS"
}