Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
This page guides you through the usage of the AGILITY API to help you get started quickly.
...
Prerequisites
Please ensure that you have the necessary credentials and permissions to access the API (login ID and password) from your administrator.
Overview
The AGILITY API is designed for system integrators and developers to enable advanced analysis on network traces, specializing in root cause analysis for call flows. The API supports file formats such as Cette page vous guide dans l'utilisation de l'API AGILITY pour vous aider à démarrer rapidement.
Vous apprendrez comment intégrer et utiliser l'API AGILITY pour analyser facilement les traces réseau.
Prérequis
Assurez-vous d'avoir les identifiants et les autorisations nécessaires pour accéder à l'API (identifiant de connexion et mot de passe) auprès de votre administrateur.
Aperçu
L'API AGILITY est conçue pour les intégrateurs système et les développeurs afin de permettre une analyse avancée des traces réseau, en se spécialisant dans l'analyse des causes profondes des flux d'appels. L'API prend en charge les formats de fichier tels que .PCAP, .PCAPNG, .CAP , and et .ZIP.
API base URL
...
URL de base de l'API
Utilisez l'URL de base pour accéder à la documentation OpenAPI :
http(s)://<YOUR_PUBLIC_DN>/cv/api/public/docs
(exampleexemple: https://cv-dev.b-yond.com/cv/api/public/docs ).
Authentication
...
Authentification
Utilisez le flux OAuth2 Password pour demander un id_token
.
Request the token
...
Demander le jeton
Point d'accès
POST /cv/auth/realms/agility/protocol/openid-connect/token
Provide your Fournissez votre username
, password
, and the client_id
(which is public and provided as d0d8b0d806f9
) in your request.
...
[nom d'utilisateur, votre mot de passe et l'identifiant du client]
(qui est public et fourni sous la forme de d0d8b0d806f9) dans votre demande
Headers (En-têtes)
Content-Type:
application/x-www-form-urlencoded
Body (Corps)
grant_type
:password
client_id
:d0d8b0d806f9
username
: Your registered user nameVotre nom d'utilisateur enregistré.password
: Your passwordVotre mot de passe.scope
:openid
...
Exemple de requête cURL
...
Code Block | ||
---|---|---|
| ||
curl -X POST https://cv-dev.b-yond.com/cv/auth/realms/agility/protocol/openid-connect/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=password&client_id=d0d8b0d806f9&username=YOUR_USERNAME&password=YOUR_PASSWORD&scope=openid" |
Replace RemplacezYOUR_USERNAME
and etYOUR_PASSWORD
with your credentials par vos informations d'identification.
Response
Upon successful authentication, you'll receive a JSON response containing the id_token
among other tokens.
...
Réponse
Lors d'une authentification réussie, vous recevrez une réponse JSON contenant l'id_token parmi d'autres jetons.
Utilisez la valeur de
YOUR_ID_TOKEN
in your subsequent API requests as a Bearer Token to authenticate your actions.Use the dans vos requêtes API ultérieures en tant que jeton Bearer pour authentifier vos actions.Utilisez la valeur
REFRESH_TOKEN_VALUE
to obtain a new token as described in the next section pour obtenir un nouveau jeton, comme décrit dans la section suivante.
Code Block | ||
---|---|---|
| ||
{ "access_token": "ACCESS_TOKEN_VALUE", "expires_in": 300, "refresh_expires_in": 1800, "refresh_token": "REFRESH_TOKEN_VALUE", "id_token": "YOUR_ID_TOKEN", ... } |
In the example above, the token expires in 300 second (5 min) while the refresh_token is valid for 1800 second (30 minDans l'exemple ci-dessus, le jeton expire en 300 secondes (5 minutes) tandis que le refresh_token est valide pendant 1800 secondes (30 minutes).
Info |
---|
Note: Always keep your Remarque: Conservez toujours votre |
Handling expired tokens
When an access token expires, AGILITY API will no longer accept incoming request and will redirect you to the login page. We recommend that you request a new id_token using the refresh token request if it still valid or just re-authenticate.
Use these steps to handle expired tokens and ensure continuous access to the AGILITY API without requiring users to re-authenticate.
To refresh an expired token, follow these steps:
Make a refresh token request: Send a POST request to the token URL with the required parameters to refresh the token. Use the refresh token received during the initial authentication.
...
de manière sécurisée. Ne les exposez pas dans des scripts côté client ou d'autres emplacements non sécurisés. |
Gestion des jetons expirés
Lorsqu'un jeton d'accès expire, l'API AGILITY n'acceptera plus de demandes entrantes et vous redirigera vers la page de connexion. Nous vous recommandons de demander un nouveau id_token en utilisant la demande de rafraîchissement du jeton si celui-ci est toujours valide, ou de vous réauthentifier.
Utilisez ces étapes pour gérer les jetons expirés et garantir un accès continu à l'API AGILITY sans obliger les utilisateurs à se réauthentifier.
Pour rafraîchir un jeton expiré, suivez ces étapes :
Effectuez une demande de jeton de rafraîchissement : Envoyez une requête POST à l'URL du jeton avec les paramètres requis pour rafraîchir le jeton. Utilisez le jeton de rafraîchissement reçu lors de l'authentification initiale.
Exemple de demande :
Code Block language bash POST /cv/auth/realms/agility/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=refresh_token &refresh_token=[Your Refresh Token] &client_id=d0d8b0d806f9
Receive a new Recevez un nouveau id_token : If the refresh token is valid, AGILITY will respond with a new access token and potentially a new refresh token.Example ResponseSi le jeton de rafraîchissement est valide, AGILITY répondra avec un nouveau jeton d'accès et éventuellement un nouveau jeton de rafraîchissement.
Exemple de réponse :
Code Block language bash HTTP/1.1 200 OK Content-Type: application/json { "access_token": "[New Access Token]", "expires_in": 300, "token_type": "Bearer", "refresh_token": "[New Refresh Token]", "refresh_expires_in": 1800, "id_token": "[New Id Token]", // ... other token information }
Update your authorization: Use the new access token in your request headers for subsequent API requestsMettez à jour votre autorisation : Utilisez le nouveau jeton d'accès dans les en-têtes de votre demande pour les requêtes API ultérieures.
Info |
---|
Note: Remember to securely store and manage the refresh token, as it provides long-term access to the API and should be protected from unauthorized access. |
AGILITY API endpoints
Retrieve supported services
...
N'oubliez pas de stocker et de gérer de manière sécurisée le jeton de rafraîchissement, car il permet un accès à long terme à l'API et doit être protégé contre un accès non autorisé. |
Points d'API AGILITY
Récupérer les services pris en charge
Point d'accès
GET /cv/api/v1/services/
Use this endpoint to fetch a list of supported services.
Parameters
...
Utilisez ce point d'accès pour récupérer une liste des services pris en charge.
Paramètres
page
: Spécifiez le numéro de page. (Par défaut : 1)size
: Specify the number of results per Spécifiez le nombre de résultats par page. (DefaultPar défaut : 50 ; Maximum : 100)
...
Exemple de requête
Code Block | ||
---|---|---|
| ||
curl -X 'GET' \ 'https://cv-dev.b-yond.com/cv/api/v1/services/?page=1&size=50' \ -H 'accept: application/json' \ -H 'Authorization: Bearer YOUR_ID_TOKEN' |
Start a new analysis
...
Démarrer une nouvelle analyse
Point d'accès
POST /cv/api/v1/analysis/file
This endpoint allows you to initiate an analysis using a supported network trace file.
Request body
...
Ce point d'accès vous permet de lancer une analyse en utilisant un fichier de trace réseau pris en charge.
Corps de la requête
uploadFile
: Téléchargez votre fichier de trace réseau ici (le fichier doit être disponible localement).serviceKeys
: (Optional) List of service keys for the analysis. If you're unsure, leave this empty for service auto-discovery.
...
Facultatif) Liste des clés de service pour l'analyse. Si vous n'êtes pas sûr, laissez ceci vide pour la découverte automatique des services.
Exemple de requête
Code Block | ||
---|---|---|
| ||
curl -X 'POST' \ 'https://cv-dev.b-yond.com/cv/api/v1/analysis/file' \ -H 'accept: application/json' \ -H 'Authorization: Bearer YOUR_ID_TOKEN' \ -H 'Content-Type: multipart/form-data' \ -F 'uploadFile=@myfile.pcap' \ -F 'serviceKeys=volte' |
Fetch analysis results
...
Récupérer les résultats de l'analyse
Point d'accès
GET /cv/api/v1/analysis/{analysis_id}/summary
After initiating an analysis, use this endpoint to retrieve the results.
...
Après avoir lancé une analyse, utilisez ce point d'accès pour récupérer les résultats.
Paramètres
analysis_id
: The ID of the analysis (received from the previous stepL'ID de l'analyse (reçu de l'étape précédente).page
: (Optional) Specify the page number. (DefaultFacultatif) Spécifiez le numéro de page. (Par défaut : 1)size
: (Optional) Specify the number of results per Facultatif) Spécifiez le nombre de résultats par page. (DefaultPar défaut : 50 ; Maximum : 1000)
...
Exemple de requête
Code Block |
---|
curl -X 'GET' \ 'https://cv-dev.b-yond.com/cv/api/v1/analysis/8599e936-19ee-4b13-a9ad-44fecadad9fe/summary?page=1&size=50' \ -H 'accept: application/json' \ -H 'Authorization: Bearer YOUR_ID_TOKEN' |
...