Ces endpoints ne nécessitent aucune authentification — les headers
apiKey et apiId ne sont pas requis.POST /public/access_token
Authentifie un utilisateur et retourne un token d’accès JWT ainsi qu’un refresh token.Headers
| Header | Valeur |
|---|---|
Content-Type | application/json |
Corps de la requête
{
"username": "user@example.com",
"password": "motdepasse"
}
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
username | String | Oui | Identifiant du compte |
password | String | Oui | Mot de passe |
Exemples
curl -X POST https://api.remita.cm/public/access_token \
-H "Content-Type: application/json" \
-d '{
"username": "user@example.com",
"password": "motdepasse"
}'
String body = """
{
"username": "user@example.com",
"password": "motdepasse"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.remita.cm/public/access_token"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$ch = curl_init('https://api.remita.cm/public/access_token');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'username' => 'user@example.com',
'password' => 'motdepasse',
]),
]);
$response = curl_exec($ch);
curl_close($ch);
$token = json_decode($response, true);
echo "Access Token: " . $token['access_token'];
import requests
response = requests.post(
"https://api.remita.cm/public/access_token",
json={"username": "user@example.com", "password": "motdepasse"}
)
token_data = response.json()
access_token = token_data["access_token"]
print(f"Access Token: {access_token}")
Réponse (200)
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}
| Champ | Type | Description |
|---|---|---|
access_token | String | JWT à passer dans Authorization: Bearer ... |
refresh_token | String | Token de renouvellement |
token_type | String | Toujours Bearer |
expires_in | Number | Durée de validité en secondes |
Erreurs
| Code | Description |
|---|---|
400 | Corps de requête invalide |
401 | Identifiants incorrects |
500 | Erreur interne serveur |
POST /public/refresh_token
Renouvelle un token d’accès expiré à partir du refresh token.Corps de la requête
{
"refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
refreshToken | String | Oui | Le refresh token à renouveler |
Exemples
curl -X POST https://api.remita.cm/public/refresh_token \
-H "Content-Type: application/json" \
-d '{"refreshToken": "eyJhbGci..."}'
String body = "{\"refreshToken\": \"eyJhbGci...\"}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.remita.cm/public/refresh_token"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$ch = curl_init('https://api.remita.cm/public/refresh_token');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode(['refreshToken' => 'eyJhbGci...']),
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
import requests
response = requests.post(
"https://api.remita.cm/public/refresh_token",
json={"refreshToken": "eyJhbGci..."}
)
print(response.json())
Réponse (200)
Même structure que/public/access_token avec de nouveaux tokens.
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}
Erreurs
| Code | Description |
|---|---|
400 | Refresh token invalide ou expiré |
500 | Erreur interne serveur |
Stockez le
refresh_token de manière sécurisée et renouvelez votre access_token avant son expiration pour éviter toute interruption de service. Voici un exemple de renouvellement automatique :def make_request(url, access_token, refresh_token, **kwargs):
headers = {"Authorization": f"Bearer {access_token}", **kwargs.pop("headers", {})}
response = requests.request("GET", url, headers=headers, **kwargs)
if response.status_code == 401:
new_tokens = requests.post(
"https://api.remita.cm/public/refresh_token",
json={"refreshToken": refresh_token}
).json()
headers["Authorization"] = f"Bearer {new_tokens['access_token']}"
response = requests.request("GET", url, headers=headers, **kwargs)
return response