Signalement
Un signalement permet à un utilisateur de notifier un problème de couverture réseau ou d’accès à internet sur une zone donnée.
La plateforme permet de :
- créer un nouveau signalement
- modifier un signalement tant qu’il est encore en attente de qualification
- suivre l’évolution du traitement du signalement
Les signalements peuvent concerner plusieurs types de problèmes :
| Code | Description |
|---|---|
zob | Zone Blanche |
cpo | Absence d'Opérateur(s) |
cps | Mauvais Signal d'Opérateur(s) |
abi | Absence d'Internet |
Chaque signalement contient des informations de localisation, des photos, une description et des informations techniques permettant aux équipes de traitement d’analyser le problème.
Effectuer un signalement
Cette API permet à un utilisateur de créer une nouvelle demande de signalement avec les informations du problème constaté sur le terrain.
Après création :
- le signalement est enregistré avec le statut pending
- il entre dans le processus de qualification
- il pourra ensuite être approuvé ou rejeté par les équipes du backoffice
Endpoint : POST /request-reports/store
Headers requis :
Authorization: Bearer <access_token>
Content-Type: multipart/form-data
Paramètres de requête :
| Paramètre | Type | Requis | Description |
|---|---|---|---|
location_method | string | Oui | Méthode de localisation : manual ou auto |
location_type | string | Oui | Type de localisation : gps, what3words, ou manual |
lat | numeric | Oui | Latitude |
long | numeric | Oui | Longitude |
what3words | string | Conditionnel | Coordonnées what3words (requis si location_type est what3words) |
place_description | string | Non | Description du lieu |
location_name | string | Oui | Nom du lieu |
report_type | string | Oui | Type de signalement : zob (Zone Blanche), cpo (Absence d'Opérateur(s)), cps (Mauvais Signal d'Opérateur(s)), abi (Absence d'Internet) |
place_photo | file | Non | Photo du lieu (image, max 5 Mo) |
access_place_photo | file | Non | Photo d'accès au lieu (image, max 5 Mo) |
description | string | Non | Description du signalement |
Requête :
curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/request-reports/store" \
-H "Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
-F "location_method=auto" \
-F "location_type=gps" \
-F "lat=48.8566" \
-F "long=2.3522" \
-F "location_name=Lieu d'habitation" \
-F "report_type=zob" \
-F "description=Description du signalement" \
-F "place_photo=@/path/to/photo.jpg"
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"uniq_id": "ZOB69FCAEC983556"
}
}
Erreur de validation (400) :
{
"error": true,
"statusCode": 400,
"message": "Les données fournies sont invalides."
}
Comportement métier
Lors de la création du signalement :
- génération d’un identifiant unique
- enregistrement des informations de localisation
- sauvegarde des photos éventuelles
- définition du statut pending
- ajout dans le workflow de qualification
- traçabilité complète du signalement
Modifier un signalement en attente
Cette API permet à un utilisateur de modifier un signalement tant qu’il n’a pas encore été pris en charge par les équipes de qualification.
Seuls les signalements en attente (pending) peuvent être modifiés.
Endpoint : POST /request-reports/{requestReportUniqId}/update
Headers requis :
Authorization: Bearer <access_token>
Content-Type: multipart/form-data
Paramètres de requête :
| Paramètre | Type | Requis | Description |
|---|---|---|---|
requestReportUniqId | string | Oui | Identifiant unique du signalement |
location_method | string | Oui | Méthode de localisation : manual ou auto |
location_type | string | Oui | Type de localisation : gps, what3words, ou manual |
lat | numeric | Oui | Latitude |
long | numeric | Oui | Longitude |
what3words | string | Conditionnel | Coordonnées what3words (requis si location_type est what3words) |
place_description | string | Non | Description du lieu |
location_name | string | Oui | Nom du lieu |
report_type | string | Oui | Type de signalement : zob (Zone Blanche), cpo (Absence d'Opérateur(s)), cps (Mauvais Signal d'Opérateur(s)), abi (Absence d'Internet) |
place_photo | file | Non | Photo du lieu (image, max 5 Mo) |
access_place_photo | file | Non | Photo d'accès au lieu (image, max 5 Mo) |
description | string | Non | Description du signalement |
Requête :
curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/request-reports/ZOB69FCAEC983556/update" \
-H "Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
-F "location_method=auto" \
-F "location_type=gps" \
-F "lat=48.8566" \
-F "long=2.3522" \
-F "location_name=Lieu d'habitation" \
-F "report_type=zob" \
-F "description=Description du signalement" \
-F "place_photo=@/path/to/photo.jpg"
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"uniq_id": "ZOB69FCAEC983556"
}
}
Erreur - Signalement introuvable (400) :
{
"error": true,
"statusCode": 400,
"message": "Le signalement spécifié n'existe pas."
}
**Erreur - Signalement déjà pris en charge (400) :**
```json
{
"error": true,
"statusCode": 400,
"message": "Ce signalement ne peut plus être modifié."
}
Erreur de validation (400) :
{
"error": true,
"statusCode": 400,
"message": "Les données fournies sont invalides."
}
Comportement métier
Lors de la création du signalement :
- vérification de l’existence du signalement
- vérification que le statut est encore pending
- mise à jour des informations fournies
- remplacement éventuel des photos
- conservation de l’historique du signalement