Conventions pour les réponses réussies, les erreurs et les métadonnées.
L'API Oquira suit des conventions de réponse cohérentes sur tous les endpoints. Comprendre ces patterns vous aidera à intégrer plus efficacement.
Toutes les réponses réussies incluent un indicateur success défini à true et un payload data contenant les informations demandées.
Lors de la récupération d'une seule ressource :
{
"success": true,
"data": {
"id": "srv_7k92m1",
"name": "Service Client",
"status": "active",
"createdAt": "2024-01-15T08:00:00Z",
"updatedAt": "2024-03-20T10:00:00Z"
}
}Lors de la récupération de plusieurs ressources, la réponse inclut des métadonnées de pagination :
{
"success": true,
"data": [
{ "id": "srv_7k92m1", "name": "Service Client" },
{ "id": "srv_8n3p5q", "name": "Support Technique" }
],
"meta": {
"total": 45,
"page": 1,
"limit": 10,
"hasMore": true
}
}Quand aucune ressource ne correspond à la requête :
{
"success": true,
"data": [],
"meta": {
"total": 0,
"page": 1,
"limit": 10,
"hasMore": false
}
}Pour les endpoints de liste, utilisez ces paramètres de requête pour paginer :
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
page | number | 1 | Numéro de page (indexé à partir de 1) |
limit | number | 10 | Nombre d'éléments par page (max : 100) |
offset | number | 0 | Alternative : nombre d'éléments à ignorer |
curl -X GET "https://api.oquira.com/v1/business/services?page=2&limit=20" \
-H "X-API-Key: votre_cle_api"| Champ | Type | Description |
|---|---|---|
total | number | Nombre total de ressources correspondantes |
page | number | Numéro de page actuel |
limit | number | Éléments par page |
hasMore | boolean | Indique si d'autres pages sont disponibles |
Lorsqu'une erreur survient, la réponse inclut success: false et un objet error avec les détails :
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Les données fournies sont invalides",
"details": {
"field": "email",
"reason": "Doit être une adresse email valide"
},
"timestamp": "2024-03-20T10:00:00.000Z",
"requestId": "req_5f2b8c9d1e"
}
}| Champ | Type | Description |
|---|---|---|
code | string | Code d'erreur lisible par machine |
message | string | Description d'erreur lisible par un humain |
details | object | Contexte additionnel (varie selon le type d'erreur) |
timestamp | string | Moment où l'erreur s'est produite (ISO 8601) |
requestId | string | Identifiant unique pour cette requête |
Chaque requête API se voit attribuer un requestId unique. Cet identifiant est inclus dans :
X-Request-IDVous pouvez fournir votre propre identifiant de requête pour suivre les requêtes à travers vos systèmes :
curl -X GET "https://api.oquira.com/v1/business/services" \
-H "X-API-Key: votre_cle_api" \
-H "X-Request-ID: votre-id-personnalise-123"L'API renverra votre ID dans la réponse et les logs, facilitant la corrélation des requêtes.
Conseil : Loggez toujours le
requestIdlors de vos appels API. Cela aide notre équipe de support à diagnostiquer les problèmes rapidement.
Toutes les réponses API incluent ces en-têtes :
| En-tête | Description |
|---|---|
Content-Type | Toujours application/json |
X-Request-ID | Identifiant unique pour la requête |
X-RateLimit-* | Informations de limitation de taux (voir Limites) |
Cache-Control | Directives de mise en cache |
Tous les horodatages dans l'API suivent le format ISO 8601 en UTC :
2024-03-20T10:30:00.000ZLors de l'envoi de dates dans les requêtes :
2024-03-20T10:30:00Z2024-03-20null explicitement effacera le champ[] vide plutôt que null