API permettant a un partenaire identifié d'obtenir des jetons permettant d'appeler les autres APIs Ciss.
Pour vous authentifier sur notre API, vous devez utiliser votre identifiant client et un jeton d'accès comme mot de passe.
Pour envoyer une requête d'authentification, vous devez inclure l'en-tête d'autorisation "Authorization" dans votre requête HTTP.
L'en-tête d'autorisation doit contenir le mot "Basic" suivi d'un espace et des identifiants d'authentification encodés en Base64.
Voici un exemple d'en-tête d'autorisation :
Authorization: Basic Mzg2MmRiMmUtNGNkYi00ZDQ1LWFiYzMtYWMwNjdlZWUyY2M5OiQyeSQxMCRWVmguTms4UmcyZzZNeVZQTldSVDUuS1MuQmhYaWxuc1JSaVVaZDNPVnVqWHlPRWlKdHNrYQ==
Voici un exemple d'implémentation utilisant PHP
<?php
// Remplacez YOUR_CLIENT_ID et YOUR_ACCESS_TOKEN par vos identifiants d'authentification
$username = 'YOUR_CLIENT_ID';
$password = 'YOUR_ACCESS_TOKEN';
// Créez la chaîne d'identifiants d'authentification encodée en Base64
$auth_string = $username . ':' . $password;
$auth_header = 'Authorization: Basic ' . base64_encode($auth_string);
// Créez un nouveau client Guzzle
$client = new GuzzleHttp\Client();
// Définissez les options de la requête
$options = [
'headers' => [
'Authorization' => $auth_header
]
];
// Envoyez la requête et récupérez la réponse
try {
$response = $client->get('https://authapi.ciss.fr/', $options);
// Traitez la réponse
echo 'Réponse : ' . $response->getBody();
} catch (GuzzleHttp\Exception\RequestException $e) {
// Gérez l'erreur
echo 'Erreur de requête : ' . $e->getMessage();
}
?>
Voici la liste des codes d'erreur
| Code | Description | Statut HTTP |
|---|---|---|
| AUTH-1 | Les identifiants fournis sont incorrect | 401 |
| AUTH-2 | Header “Authorization” manquant | 401 |
| AUTH-3 | Header “Authorization” mal formé | 401 |
| AUTH-6 | Un paramètre est manquant ou invalide dans le corps de la requête (ex: paramètre envoyé en string au lieu d'un integer) | 422 |
| AUTH-7 | L'un des scopes fournis n'est pas autorisé | 403 |
| AUTH-9 | Le token ne possède pas le bon type | 400 |
| AUTH-10 | Signature du token invalide | 400 |
| AUTH-11 | Token expiré | 400 |
| AUTH-12 | Token invalide | 404 |
Voici la liste des codes d'erreur internes, ces erreurs n'apparaissent que dans le cadre d'un statut HTTP 500.
| Code | Statut HTTP |
|---|---|
| AUTH-4 | 500 |
| AUTH-5 | 500 |
| AUTH-8 | 500 |
| scopes required | Array of strings non-empty Scopes à autoriser pour le token |
{- "accessToken": "string",
- "refreshToken": "string"
}| accessToken required | string Token obtenu lors de l'appel à la route de création d'un token |
{- "data": {
- "clientId": "string",
- "scopes": [
- "string"
]
}
}| apiName required | string Example: apiName=onboarding Le nom de l'api pour laquelle on veut les usages |
| startDate required | string Example: startDate=2025-01-01 La date de début des usages |
| endDate required | string Example: endDate=2025-01-01 La date de fin des usages |
{- "apiName": "string",
- "startDate": "string",
- "endDate": "string",
- "clients": [
- {
- "client_id": "string",
- "products": [
- {
- "product": "access",
- "label": "api onboarding access",
- "quantities": 200
}
]
}
]
}