Souscrire et gérer des abonnements à des produits d'API à l'aide de l'API

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

Si vous souhaitez créer votre propre portail personnalisé ou gérer le processus d'achat manuellement, les sections suivantes décrivent comment souscrire et gérer des abonnements à des produits d'API à l'aide de l'API. Ces exemples décrivent comment gérer les abonnements pour les développeurs d'applications et les groupes d'applications.

Consultez également la section Intégrer la monétisation Apigee dans votre portail des développeurs basé sur Drupal.

Gestion des abonnements pour les développeurs d'applications

Développeur d'applications : souscrire des abonnements à des produits d'API à l'aide de l'API

Pour souscrire un abonnement à un produit d'API, envoyez une requête POST à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

Configurez la demande d'abonnement à un produit d'API en transmettant les champs obligatoires dans le corps de la requête, comme décrit dans la section Ressource : Abonnements.

Par exemple, l'appel d'API suivant permet de souscrire un abonnement au produit d'API HelloworldProduct pour le développeur spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{"apiproduct":"HelloworldProduct"}'

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse. startTime est défini sur l'heure actuelle.

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

Pour en savoir plus, consultez la section API Souscrire un abonnement à un produit d'API.

Développeur d'applications : faire expirer immédiatement un abonnement à un produit d'API

Pour faire expirer immédiatement un abonnement à un produit d'API, envoyez une requête POST à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION:expire

Par exemple, l'appel d'API suivant fait expirer l'abonnement au produit d'API portant le nom 69f8bb42-a8e4-4a2c-b932-d82b51d37b72 pour le développeur spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72:expire" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse. endTime est défini sur l'heure actuelle.

{
  "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
  "apiproduct": "WeatherReport",
  "startTime": "1613494852000",
  "endTime" : "1617894954000",
  "createdAt": "1613494852000",
  "lastModifiedAt": "1613494852000"
}

Développeur d'applications : répertorier tous les abonnements à des produits d'API pour un développeur

Pour répertorier tous les abonnements à des produits d'API pour un développeur, envoyez une requête GET à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

Vous pouvez éventuellement transmettre les champs suivants pour accepter la pagination :

  • startKey pour spécifier le nom de l'abonnement au produit d'API à partir duquel il faut démarrer l'affichage de la liste des abonnements. En cas d'omission, la liste commence à partir du premier élément. Utilisez cette option avec count pour obtenir un filtrage plus précis. Par exemple, pour afficher les abonnements aux produits d'API de 51 à 150, définissez la valeur startKey sur le nom du 51e abonnement et la valeur count sur 100.
  • count pour spécifier le nombre de plans tarifaires à renvoyer dans l'appel d'API. Utilisez cette option avec startKey pour obtenir un filtrage plus précis. La limite maximale est 1 000. La valeur par défaut est 100.

Par exemple, l'appel d'API suivant répertorie tous les abonnements à des produits d'API pour le développeur spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse :

{
  "developerSubscriptions": [
    {
      "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
      "apiproduct": "HelloworldProduct",
      "startTime": "1615987132000",
      "createdAt": "1615903252000",
      "lastModifiedAt": "1615903252000"
    },
    {
      "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
      "apiproduct": "WeatherReport",
      "startTime": "1614124552000",
      "createdAt": "1613494852000",
      "lastModifiedAt": "1613494852000"
    }
  ]
}

Pour en savoir plus, consultez la section API Répertorier les abonnements à des produits d'API.

Développeur d'applications : afficher les détails d'un abonnement à un produit d'API

Pour afficher les détails d'un abonnement à un produit d'API pour un développeur, envoyez une requête GET à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION

Par exemple, l'appel d'API suivant récupère des informations sur un abonnement à un produit d'API pour le développeur spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse :

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

Pour en savoir plus, consultez la section API Obtenir un abonnement à un produit d'API.

Gestion des abonnements AppGroup

Cette section fournit des exemples de gestion des abonnements aux produits d'API pour les groupes d'applications. Pour en savoir plus sur les API utilisées pour gérer les abonnements AppGroup, consultez Ressource : Abonnements.

AppGroup : souscrire des abonnements à des produits d'API à l'aide de l'API

Pour en savoir plus sur les conditions requises pour utiliser les groupes d'applications avec les abonnements à des produits d'API, consultez Utiliser des groupes d'applications pour gérer les abonnements à des produits d'API.

Pour souscrire un abonnement à un produit d'API, envoyez une requête POST à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions.

Configurez la demande d'abonnement à un produit d'API en transmettant les champs obligatoires dans le corps de la requête, comme décrit dans la section Ressource : Abonnements.

Par exemple, l'appel d'API suivant permet de souscrire un abonnement au produit d'API HelloworldProduct pour le groupe d'applications spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{"apiproduct":"HelloworldProduct"}'

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse. startTime est défini sur l'heure actuelle.

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

Pour en savoir plus, consultez la section API Souscrire un abonnement à un produit d'API.

AppGroup : faire expirer immédiatement un abonnement à un produit d'API

Pour faire expirer immédiatement un abonnement à un produit d'API, envoyez une requête POST à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions/$SUBSCRIPTION:expire

Par exemple, l'appel d'API suivant fait expirer l'abonnement au produit d'API portant le nom 69f8bb42-a8e4-4a2c-b932-d82b51d37b72 pour le groupe d'applications spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72:expire" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse. endTime est défini sur l'heure actuelle.

{
  "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
  "apiproduct": "WeatherReport",
  "startTime": "1613494852000",
  "endTime" : "1617894954000",
  "createdAt": "1613494852000",
  "lastModifiedAt": "1613494852000"
}

AppGroup : lister tous les abonnements à des produits d'API

Pour répertorier tous les abonnements à des produits d'API pour un AppGroup, envoyez une requête GET à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions

Vous pouvez éventuellement transmettre les champs suivants pour accepter la pagination :

  • startKey pour spécifier le nom de l'abonnement au produit d'API à partir duquel il faut démarrer l'affichage de la liste des abonnements. En cas d'omission, la liste commence à partir du premier élément. Utilisez cette option avec count pour obtenir un filtrage plus précis. Par exemple, pour afficher les abonnements aux produits d'API de 51 à 150, définissez la valeur startKey sur le nom du 51e abonnement et la valeur count sur 100.
  • count pour spécifier le nombre de plans tarifaires à renvoyer dans l'appel d'API. Utilisez cette option avec startKey pour obtenir un filtrage plus précis. La limite maximale est 1 000. La valeur par défaut est 100.

Par exemple, l'appel d'API suivant répertorie tous les abonnements à des produits d'API pour le groupe d'applications spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse :

{
  "appGroupSubscriptions": [
    {
      "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
      "apiproduct": "HelloworldProduct",
      "startTime": "1615987132000",
      "createdAt": "1615903252000",
      "lastModifiedAt": "1615903252000"
    },
    {
      "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
      "apiproduct": "WeatherReport",
      "startTime": "1614124552000",
      "createdAt": "1613494852000",
      "lastModifiedAt": "1613494852000"
    }
  ]
}

Pour en savoir plus, consultez la section API Répertorier les abonnements à des produits d'API.

AppGroup: View details about an API product subscription

Pour afficher les détails d'un abonnement à un produit d'API pour un AppGroup, envoyez une requête GET à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions/$SUBSCRIPTION

Par exemple, l'appel d'API suivant liste les informations d'un abonnement à un produit d'API pour un AppGroup spécifié :

curl "https://apigee.googleapis.com/v1/organizations/$ORG/appgroups/APPGROUP_ID/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement que vous pouvez utiliser, consultez Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de résultat de réponse :

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

Pour en savoir plus, consultez la section API Obtenir un abonnement à un produit d'API.