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 :
- Dans le Gestionnaire d'API Page d'accueil de l'interface utilisateur, cliquez sur le bouton Télécharger la boîte à outils tuile.
- 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).
- 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 esttoolkit
: le point de terminaison de l'API de la plateforme. Utilisez-le pour les appels d’API étendus à l’organisation du fournisseur.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.governance
: Voir le Gouvernance des API fonctionnalité.discovery
: Voir le Découverte d'API fonctionnalité.
credentials.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.
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
<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 fichiercredentials.json
, ou tel que fourni par l'administrateur du nuage API Connect.<client_secret>
est le secret client de la section "toolkit" du fichiercredentials.json
, ou tel que fourni par votre administrateur API Connect.provider/default-idp-2
pour 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
}
expires_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
curl -k -X <HTTP Method> --url 'https://<rest api endpoint>/<api path> -H 'Authorization: Bearer <bearer_token>'
-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 le
X-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.