🔌 Documentation API SedVeral
Intégrez SedVeral à vos applications et services
TRANSFERT (SUITE)
Confirmer un transfert (paiement)
POST /api/v1/transfert/confirmer
Headers : Authorization: Bearer {token}
Note : Cette endpoint est appelée après le paiement pour finaliser le transfert.
{
"transfert_id": 456,
"reference_paiement": "OM123456789"
}
| Réponse | |
|---|---|
| success | true/false |
| certificat_url | URL du certificat PDF |
| message | Message de confirmation |
{
"success": true,
"certificat_url": "https://sedveral.com/wp-content/plugins/sedveral-core/uploads/certificats/certificat_456_20240315.pdf",
"message": "Transfert effectué avec succès"
}
CONTESTATIONS
Soumettre une contestation
POST /api/v1/contestations
Headers : Authorization: Bearer {token}
Content-Type : multipart/form-data
| Champ | Type | Description |
|---|---|---|
| chassis | string | Numéro de châssis du bien contesté |
| type_contestation | string | propriete, information, autre |
| description | string | Description détaillée |
| preuves[] | file | Plusieurs fichiers (images, PDF) |
{
"chassis": "JH2DC1704MK123456",
"type_contestation": "propriete",
"description": "Ce bien m'appartient, voici les preuves..."
}
Lister mes contestations
GET /api/v1/contestations
Headers : Authorization: Bearer {token}
[
{
"id": 78,
"bien_id": 123,
"type_contestation": "propriete",
"description": "Ce bien m'appartient",
"statut": "en_attente",
"date_contestation": "2024-03-15 14:30:00",
"admin_comment": null,
"preuves": ["/uploads/contestation/preuve1.jpg"]
}
]
Détail d'une contestation
GET /api/v1/contestations/{id}
Headers : Authorization: Bearer {token}
MARCHÉ / ANNONCES
Lister les annonces (public)
GET /api/v1/annonces
| Paramètre | Optionnel | Description |
|---|---|---|
| type | oui | moto, moto_3_roues, voiture, groupe_electrogene |
| prix_min | oui | Prix minimum en FC |
| prix_max | oui | Prix maximum en FC |
| page | oui | Numéro de page (pagination) |
[
{
"id": 45,
"bien_id": 123,
"marque": "Honda",
"modele": "CB 125",
"type_bien": "moto",
"prix": 1500000,
"description": "Moto en bon état",
"photo_bien": "/uploads/123/bien.jpg",
"vendeur": {
"nom": "Jean Kabasele",
"photo": "/uploads/profil/123.jpg",
"telephone": "243812345678"
}
}
]
Créer une annonce
POST /api/v1/annonces
Headers : Authorization: Bearer {token}
| Champ | Type | Description |
|---|---|---|
| bien_id | int | ID du bien à vendre |
| prix | int | Prix en FC |
| description | string | Description de l'annonce |
| mise_en_avant | boolean | true/false |
{
"bien_id": 123,
"prix": 1500000,
"description": "Moto Honda CB 125, très bon état",
"mise_en_avant": false
}
Contacter un vendeur (génère un lien WhatsApp)
GET /api/v1/annonces/{id}/contact
{
"vendeur_nom": "Jean Kabasele",
"vendeur_tel": "243812345678",
"message": "Bonjour, je suis intéressé par votre annonce...",
"lien_whatsapp": "https://wa.me/243812345678?text=Bonjour%20..."
}
SERVICE CLIENT
Créer un ticket
POST /api/v1/support/ticket
Headers : Authorization: Bearer {token}
| Champ | Type | Description |
|---|---|---|
| sujet | string | Titre du ticket |
| message | string | Description du problème |
| piece_jointe | file | Optionnel |
{
"sujet": "Problème de connexion",
"message": "Je n'arrive pas à me connecter..."
}
Lister mes tickets
GET /api/v1/support/tickets
Headers : Authorization: Bearer {token}
[
{
"id": 12,
"sujet": "Problème de connexion",
"statut": "ouvert",
"date_creation": "2024-03-15 14:30:00",
"dernier_message": "2024-03-15 15:00:00"
}
]
Voir les messages d'un ticket
GET /api/v1/support/ticket/{id}
Headers : Authorization: Bearer {token}
{
"ticket_id": 12,
"sujet": "Problème de connexion",
"statut": "en_cours",
"messages": [
{
"expediteur": "user",
"message": "Je n'arrive pas à me connecter",
"date": "2024-03-15 14:30:00",
"piece_jointe": null
},
{
"expediteur": "support",
"message": "Bonjour, pouvez-vous vider votre cache ?",
"date": "2024-03-15 15:00:00",
"piece_jointe": null
}
]
}
Répondre à un ticket
POST /api/v1/support/ticket/{id}/repondre
Headers : Authorization: Bearer {token}
| Champ | Type | Description |
|---|---|---|
| message | string | Votre réponse |
| piece_jointe | file | Optionnel |
{
"message": "J'ai vidé le cache, ça marche mieux maintenant !"
}
STATISTIQUES ET DONNÉES
Statistiques utilisateur
GET /api/v1/stats
Headers : Authorization: Bearer {token}
{
"total_biens": 5,
"biens_valides": 3,
"biens_en_attente": 1,
"biens_voles": 1,
"total_contacts": 8,
"total_contestations": 2,
"total_transferts": 3
}
WEBHOOKS
⚠️ Important : Les webhooks sont en cours de développement.
Webhook de paiement
Recevez des notifications lorsque le statut d'un paiement change.
POST /api/v1/webhook/paiement (à configurer dans votre dashboard)
{
"event": "payment.success",
"paiement_id": 789,
"user_id": 123,
"montant": 13000,
"reference": "OM123456789",
"date": "2024-03-15T14:30:00Z"
}
Webhook de validation
Recevez des notifications lorsqu'un bien est validé par l'administrateur.
{
"event": "bien.valide",
"bien_id": 456,
"user_id": 123,
"type_bien": "moto",
"identifiant": "JH2DC1704MK123456",
"date": "2024-03-15T15:00:00Z"
}
CODES D'ERREUR
| Code | Message | Description |
|---|---|---|
| 400 | Bad Request | Paramètres manquants ou invalides |
| 401 | Unauthorized | Token manquant ou expiré |
| 403 | Forbidden | Accès non autorisé à cette ressource |
| 404 | Not Found | Ressource introuvable |
| 409 | Conflict | Conflit (ex: numéro de châssis déjà existant) |
| 422 | Unprocessable Entity | Erreur de validation |
| 429 | Too Many Requests | Trop de requêtes, attendez |
| 500 | Internal Server Error | Erreur serveur |
{
"error": {
"code": 401,
"message": "Token invalide ou expiré",
"details": "Veuillez vous reconnecter"
}
}
📌 Pour les développeurs :
- Base URL :
- Toutes les requêtes doivent être en HTTPS
- Le token doit être envoyé dans le header :
- Pour les tests, utilisez l'environnement sandbox :
- Base URL :
https://sedveral.com/api/v1- Toutes les requêtes doivent être en HTTPS
- Le token doit être envoyé dans le header :
Authorization: Bearer {token}- Pour les tests, utilisez l'environnement sandbox :
https://sandbox.sedveral.com/api/v1
Une question sur l'API ?
📞 Contacter le support technique