Les API Connect API REST

Comment démarrer avec les API Connect API REST

LeAPI Connect Les API REST peuvent être utilisées pour les actions suivantes :

  • Automatisez l'administration deAPI Connect .
  • Implémentation de scripts et d'outils pour prendre en charge un environnement d'intégration continue pour le développement et la publication d'API.
  • Gestion des catalogues d'API et de leurs abonnés.
  • Afficher les données analytiques.

Documentation de référence complète pour leAPI Connect Les API REST sont disponibles ici :API Connect Documentation API REST .

Prérequis

Pour utiliser les API Connect API REST, vous devez remplir les conditions préalables suivantes :

  • Avoir unAPI Connect utilisateur qui est membre d’un fournisseur ou d’une organisation de consommateurs.
  • Informations d'identification de l'application : un client_id et un client_secret. Ces informations d'identification peuvent être obtenues auprès du Gestionnaire d'API UI, ou qui vous est fourni par votreAPI Connect administrateur.

Pour obtenir les URL des points de terminaison de l'API et les informations d'identification de l'application, procédez comme suit :

  1. Dans le Gestionnaire d'API Page d'accueil de l'interface utilisateur, cliquez sur le bouton Télécharger la boîte à outils tuile.
  2. Téléchargez le Identifiants de la boîte à outils (vous n'avez pas besoin de télécharger la CLI ou l'API Designer).
  3. Ouvrez le fichier téléchargécredentials.json pour voir les points de terminaison de la plate-forme et du consommateur, ainsi que les informations d'identification pour appeler les API sur ces points de terminaison :
    {
      "cloud_id": "e8fcdec3-bfb9-44bd-bf90-03d8639c4916",
      "toolkit": {
        "endpoint": "https://example-platform-api.ibm.com/api",
        "client_id": "7ad7b6c5-fa07-4222-808d-8de7266dcd1a",
        "client_secret": "b7127e44-4811-48be-be9d-6591302de04a"
      },
      "consumer_toolkit": {
        "endpoint": "https://example-consumser-api.ibm.com/consumer-api",
        "client_id": "3b10e0db-1cd4-4aa8-af02-51a83e334f1c",
        "client_secret": "a5a672b7-e3b2-4d2b-984b-4059ea82ae65"
      },
      "governance": {
        "endpoint": "https://example-governance.ibm.com/governance",
        "client_id": "ba48537c-7a6e-4232-92b6-ae67ad764933",
        "client_secret": "790d8a6d-e323-46bd-a05c-3d212e93d794"
      },
      "discovery": {
        "endpoint": "https://example-discovery.ibm.com/discovery",
        "client_id": "d872a2f4-bc6e-4e91-b187-bbb5b99d4605",
        "client_secret": "c0b5ddf9-58e6-4246-88de-243ce217731a"
      }
    }
    Les points de terminaison et les informations d'identification contenus dans lecredentials.json le fichier est
    1. toolkit : le point de terminaison de l'API de la plateforme. Utilisez-le pour les appels d’API étendus à l’organisation du fournisseur.
    2. consumer_toolkit : le point de terminaison de l'API consommateur. Utilisez-le pour les appels d'API à l'échelle d'une organisation de consommateurs, tels que la création d'une application dans une organisation de consommateurs.
    3. governance: Voir le Gouvernance des API fonctionnalité.
    4. discovery: Voir le Découverte d'API fonctionnalité.
Note: TonAPI Connect L'administrateur cloud peut vous fournir différentes informations d'identification d'application à utiliser. Dans ce cas, n'utilisez pas les informations d'identification qui se trouvent dans lecredentials.json déposer.

Obtention d'un jeton bearer

Chaque appel aux API REST doit être authentifié par un jeton de porteur dans l'en-tête HTTP Authorization . Créez une clé d'interface de programmation. Pour plus d'informations sur la création d'une clé API, voir Gestion des clés API REST de la plateforme.

Utilisez les informations d'identification de votre application pour obtenir un jeton porteur :
curl -v -k -X POST -d '{"api_key": "<api_key>", "client_id": "<client_id>", "client_secret": "<client_secret>", "grant_type": "api_key"}' -H 'Content-Type: application/json' -H 'Accept: application/json' https://<management_server_platform_api_endpoint>/api/token
Où :
  • <api-key> est la clé API que vous avez générée.
  • <client_id> est l'identifiant du client figurant dans la section "toolkit" du fichier credentials.json , ou tel que fourni par l'administrateur du nuage API Connect.
  • <client_secret> est le secret client de la section "toolkit" du fichier credentials.json , ou tel que fourni par votre administrateur API Connect.
  • provider/default-idp-2pour les membres des organisations prestataires.
  • consommateur : <provider org>:<catalog>/<catalog>-idp pour les membres des organisations de consommateurs.

Le jeton au porteur est restitué dans leaccess_token propriété:

{
    "access_token": "<bearer_token>",
    "token_type": "Bearer",
    "expires_in": 28800
}
Note: Leexpires_in La valeur est le nombre de secondes avant l'expiration du jeton. Après expiration, vous devez demander un nouveau jeton au porteur.

Effectuer des appels d'API REST

Utilisez votre jeton de porteur lorsque vous effectuez des appels à l'API REST :
curl -k -X <HTTP Method> --url 'https://<rest api endpoint>/<api path> -H 'Authorization: Bearer <bearer_token>'
Si vous effectuez des appels à l'API grand public, vous devez inclure un en-tête supplémentaire qui spécifie l'organisation du fournisseur et le catalogue :
-H 'X-IBM-Consumer-Context: <provider org>.<catalog>'

Exemples d'appels d'API REST

Obtenez une liste des organisations prestataires
Utilisez un jeton de porteur créé avec les informations d'identification du membre de l'organisation fournisseur et spécifiez le point de terminaison de l'API de la plateforme :
curl -k -X GET --url 'https://<platform api endpoint>/api/orgs' -H 'Authorization: Bearer <bearer_token>'
Obtenir une liste des applications dans un catalogue
Utilisez un jeton de support créé avec les informations d'identification du membre de l'organisation consommatrice, spécifiez le point de terminaison de l'API du consommateur et incluez leX-IBM-Consumer-Context entête:
curl -k -X GET --url 'https://<consumer api endpoint>/consumer-api/orgs/<consumer org>/apps' -H 'X-IBM-Consumer-Context: <provider org>.<catalog>' -H 'Authorization: Bearer <bearer_token>'
Obtenez les données d'événement de l'API d'analyse pour un catalogue :
curl -k -X GET --url 'https://<platform api endpoint>/analytics/<analytics service>/orgs/<provider org>/events' -H 'Authorization: Bearer <bearer_token>'

Pour les données analytiques étendues à l'organisation du fournisseur, utilisez <point de terminaison de l'API de la plateforme>.

Pour les données analytiques à l'échelle d'une organisation de consommateurs, utilisez <point de terminaison de l'API consommateur>, et/consumer-analytics au lieu de/analytics . Incluez également leX-IBM-Consumer-Context entête. Par exemple :
curl -k -X GET --url 'https://<consumer api endpoint>/consumer-analytics/orgs/<consumer org>/dashboard' -H 'X-IBM-Consumer-Context: <provider org>.<catalog>' -H 'Authorization: Bearer <bearer_token>'

Pour plus d'informations sur l'interrogation des données d'analyse avec l'API REST, consultez Utilisation de l'API REST d'analyse.

Documentation de référence pour les API REST de API Connect : API Connect Documentation sur les API REST.

Dépannage des appels d'API REST ayant échoué

Le code de retour et le message d'erreur d' HTTP s fournissent des informations sur les causes possibles de l'échec :

  • HTTP 403 : Interdit. Vérifiez que votre jeton de porteur a été créé avec les informations d'identification correctes pour l'appel API.
  • HTTP 404 : Non trouvé. Vérifiez que l' URL s et le chemin de votre point de terminaison API sont corrects. Effectuez-vous un appel d'API grand public sur le point de terminaison de l'API de la plateforme ?
  • HTTP 401 : Non autorisé. Vérifiez que votre jeton au porteur est correct et n'est pas expiré. Si ceci est renvoyé lorsque vous demandez un jeton au porteur, vérifiez que leusername ,password ,realm ,client_id , etclient_secret sont corrects.