Traitement des signalements
Après la phase de qualification, les demandes approuvées sont transformées en signalements officiels.
Ces signalements entrent ensuite dans un cycle de traitement opérationnel composé de plusieurs étapes :
- mise en file d’attente (bac à pioche)
- prise en charge
- traitement
Signalements en attente (bac à pioche)
Cette API permet de récupérer tous les signalements nouvellement créés et non encore pris en charge.
Ces signalements proviennent des demandes approuvées après qualification.
Endpoint : GET /reports/queues
Authentification : Bearer Token
Headers requis :
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Paramètres de requête (optionnels) :
| Paramètre | Type | Description |
|---|---|---|
source | string | Filtrer par la source du signalement |
uniq_id | string | Filtrer par l’identifiant unique du signalement |
report_uniq_id | string | Filtrer par l’identifiant unique du rapport associé |
region_id | string | Filtrer par l’identifiant de la région |
department_id | string | Filtrer par l’identifiant du département |
municipality_id | string | Filtrer par l’identifiant de la commune |
region_name | string | Filtrer par le nom de la région |
department_name | string | Filtrer par le nom du département |
municipality_name | string | Filtrer par le nom de la commune |
report_type | string | Type de signalement concernés |
state | string | Filtrer par l’état du signalement |
start_date | string | Date de début de la période de recherche |
end_date | string | Date de fin de la période de recherche |
page | integer | Numéro de page pour la pagination |
Requête :
curl -X GET "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/reports/queues" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json"
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"data": [...],
"current_page": 1,
"per_page": 50,
"total": 100
}
}
Prise en charge d’un signalement
Cette API permet à un utilisateur du backoffice de prendre en charge un signalement afin de démarrer son traitement opérationnel.
Lorsqu’un signalement est pris en charge :
- le statut passe à
PROCESSING - l’état passe de
PENDINGàIN_PROGRESS - la date de prise en charge est enregistrée
- l’utilisateur ayant pris en charge le signalement est enregistré
- un délai de prise en charge (
ack_delay) est calculé - un historique de traitement est généré
- des événements système sont déclenchés (logs + synchronisation)
Endpoint : POST /reports/{reportUniqId}/take
Authentification : Bearer Token
Headers requis
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Paramètres de requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
reportUniqId | string | Oui | Identifiant unique du signalement |
Requête :
curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/reports/ZOB69FCAEC983556/take" \
-H "Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"id": "ZOB69FCAEC983556"
}
}
Erreur - Signalement introuvable (400) :
{
"error": true,
"statusCode": 400,
"message": "Le signalement que vous voulez prendre n'existe pas."
}
Erreur - Signalement déjà pris en charge (400) :
{
"error": true,
"statusCode": 400,
"message": "Ce signalement n'est pas en traitement."
}
Erreur - Signalement déjà pris en charge (400) :
{
"error": true,
"statusCode": 400,
"message": "Ce signalement est déjà pris en charge par quelqu'un d'autre."
}
Comportement détaillé :
Lors de la prise en charge :
- Recherche du signalement via uniq_id
- Vérification qu’il existe
- Vérification du statut PROCESSING
- Vérification de l’état PENDING
- Calcul du délai de prise en charge (ack_delay)
- Mise à jour :
- acknowledged_at
- acknowledged_by
- state = IN_PROGRESS
- processing_state = IN_PROGRESS
- Création d’un historique (acknowledgement)
- Envoi des logs système
- Synchronisation avec la demande liée (RequestReport)
Liste des signalements en traitement
Cette API permet de récupérer la liste des signalements qui ont déjà été prises en charge par un agent du backoffice et qui sont en attente de cloture.
Ces signalements sont actuellement dans le panier de travail de l’agent et doivent être traitées.
Endpoint : GET /reports/taken
Authentification : Bearer Token
Headers requis :
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Paramètres de requête (optionnels) :
| Paramètre | Type | Description |
|---|---|---|
source | string | Filtrer par la source du signalement |
uniq_id | string | Filtrer par l’identifiant unique du signalement |
report_uniq_id | string | Filtrer par l’identifiant unique du rapport associé |
region_id | string | Filtrer par l’identifiant de la région |
department_id | string | Filtrer par l’identifiant du département |
municipality_id | string | Filtrer par l’identifiant de la commune |
region_name | string | Filtrer par le nom de la région |
department_name | string | Filtrer par le nom du département |
municipality_name | string | Filtrer par le nom de la commune |
report_type | string | Type de signalement concernés |
state | string | Filtrer par l’état du signalement |
start_date | string | Date de début de la période de recherche |
end_date | string | Date de fin de la période de recherche |
page | integer | Numéro de page pour la pagination |
Requête :
curl -X GET "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/reports/taken" \
-H "Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
-H "Content-Type: application/json"
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"data": [...],
"current_page": 1,
"per_page": 50,
"total": 100
}
}
Liste des actions de traitement
Cette API permet de récupérer la liste des actions de traitement enregistrées sur un signalement en cours de prise en charge.
Elle permet de suivre l’historique complet des opérations effectuées sur un signalement (terrain, vérification réseau, opérateur, etc.).
Endpoint : GET /reports/{reportUniqId}/processing-actions
Authentification : Bearer Token
Headers requis
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Paramètres de requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
reportUniqId | string | Oui | Identifiant unique du signalement |
Requête :
curl -X GET "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/reports/ZOB69FCAEC983556/processing-actions" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json"
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"data": [...],
"current_page": 1,
"per_page": 50,
"total": 100
}
}
Comportement métier
Lors de la récupération :
- vérification de l’existence du signalement
- récupération de toutes les actions liées (report_uniq_id)
- tri chronologique (du plus récent au plus ancien)
- inclusion des détails du type de traitement
- retour de l’historique complet des opérations
Création des actions de traitement
Cette API permet à un utilisateur du backoffice d’enregistrer une action de traitement sur un signalement en cours de prise en charge.
Ces actions représentent les opérations effectuées pendant l’analyse d’un signalement, conformément aux types définis dans le système :
- Vérification de la couverture réseau
- Vérification des incidents opérateur
- Vérification auprès de l’opérateur
Chaque action permet de tracer l’évolution du traitement et de documenter les vérifications effectuées sur le terrain ou dans les systèmes internes.
Endpoint : POST /reports/{reportUniqId}/processing-actions/store
Authentification : Bearer Token
Headers requis
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Paramètres de requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
reportUniqId | string | Oui | Identifiant unique du signalement |
type_code | string | Oui | Type d’action (network_coverage,operator_verification,incident_check) |
date | datetime | Oui | Date de l’action de traitement |
operator | string | Oui | Opérateur concerné |
description | string | Oui | Description de l’action réalisée |
status | boolean | Oui | true = covered, false = not_covered |
should_notify_user | boolean | Non | Indique si l’usager doit être notifié |
Requête :
curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/reports/ZOB69FCAEC983556/processing-actions/store" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"type_code": "NETWORK_COVERAGE",
"date": "2026-05-11 10:00:00",
"operator": "Orange",
"status": true,
"description": "Vérification de la couverture sur la zone concernée",
"should_notify_user": true
}'
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"id": "PRC-123456789"
}
}
Signalement inexistant (400) :
{
"error": true,
"statusCode": 400,
"message": "Le type de traitement n'existe pas."
}
Signalement clôturé (400):
{
"error": true,
"statusCode": 400,
"message": "Ce signalement a déjà été clôturé."
}
Type invalide (400):
{
"error": true,
"statusCode": 400,
"message": "Le type de traitement n'existe pas."
}
Comportement métier
Lors de la création d’une action de traitement :
- Vérification de l’existence du signalement
- Vérification que le signalement n’est pas clôturé
- Validation du type de traitement (seeder report_processing_types)
- Création de l’action (ReportProcessing)
- Association du type et de son libellé
- Enregistrement de l’utilisateur créateur
- Possibilité de notifier l’usager
- Traçabilité complète du traitement
Types de traitement disponibles
Définis dans le système :
- NETWORK_COVERAGE → Vérification de la couverture réseau
- INCIDENT_CHECK → Vérification des incidents opérateur
- OPERATOR_VERIFICATION → Vérification auprès de l’opérateur
Mise à jour d’une action de traitement
Cette API permet à un utilisateur du backoffice de modifier une action de traitement déjà enregistrée sur un signalement.
Elle est utilisée pour corriger ou compléter une analyse effectuée précédemment (date, opérateur, type, description, statut ou notification).
Endpoint : POST /reports/{reportUniqId}/processing-actions/{reportProcessingId}/update
Authentification : Bearer Token
Headers requis
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Paramètres de requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
reportUniqId | string | Oui | Identifiant unique du signalement |
reportProcessingId | string | Oui | Identifiant de l’action de traitement |
type_code | string | Oui | Type d’action (network_coverage,operator_verification,incident_check) |
date | datetime | Oui | Date de l’action de traitement |
operator | string | Oui | Opérateur concerné |
description | string | Oui | Description de l’action réalisée |
status | boolean | Oui | true = covered, false = not_covered |
should_notify_user | boolean | Non | Indique si l’usager doit être notifié |
Requête :
curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/reports/ZOB69FCAEC983556/processing-actions/PRC123456789/update" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"type_code": "NETWORK_COVERAGE",
"date": "2026-05-11 12:00:00",
"operator": "Orange",
"status": false,
"description": "Correction de la vérification terrain",
"should_notify_user": false
}'
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"id": "PRC-123456789"
}
}
Action introuvable (400) :
{
"error": true,
"statusCode": 400,
"message": "L'action de traitement n'existe pas."
}
Modification interdite (non créateur) (400):
{
"error": true,
"statusCode": 400,
"message": "Seul le créateur de ce traitement peut le modifier ; vous n’avez donc pas les droits nécessaires."
}
Signalement clôturé (400):
{
"error": true,
"statusCode": 400,
"message": "Ce signalement a déjà été clôturé."
}
Type invalide (400):
{
"error": true,
"statusCode": 400,
"message": "Le type de traitement n'existe pas."
}
Comportement métier
Lors de la modification d’une action de traitement :
- Vérification de l’existence du signalement
- Vérification que le signalement n’est pas clôturé
- Validation du type de traitement (seeder report_processing_types)
- Création de l’action (ReportProcessing)
- Association du type et de son libellé
- Enregistrement de l’utilisateur créateur
- Possibilité de notifier l’usager
- Traçabilité complète du traitement
Suppression d’une action de traitement
Cette API permet à un utilisateur du backoffice de supprimer une action de traitement liée à un signalement.
La suppression est strictement contrôlée afin de garantir l’intégrité du suivi des traitements.
Règles métier (important)
Une action de traitement ne peut être supprimée que si :
- elle existe
- elle appartient à l’utilisateur connecté
- les utilisateurs n’ont pas encore été notifiés
- le signalement n’est pas clôturé
Endpoint : POST /reports/{reportUniqId}/processing-actions/{reportProcessingId}/delete
Authentification : Bearer Token
Headers requis
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Paramètres de requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
reportUniqId | string | Oui | Identifiant unique du signalement |
reportProcessingId | string | Oui | Identifiant de l’action de traitement |
Requête :
curl -X DELETE "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/reports/ZOB69FCAEC983556/processing-actions/PRC123456789/delete" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json"
Réponse succès (200) :
{
"error": false,
"message": "Successfully",
"data": {
"id": "PRC-123456789"
}
}
Action introuvable (400) :
{
"error": true,
"statusCode": 400,
"message": "L'action de traitement n'existe pas."
}
Notification déjà envoyée
{
"error": true,
"statusCode": 400,
"message": "Vous ne pouvez pas supprimer un traitement qui a déjà été notifié aux utilisateurs."
}
Non propriétaire
{
"error": true,
"statusCode": 400,
"message": "Seul le créateur de ce traitement peut le supprimer ; vous n’avez donc pas les droits nécessaires."
}
Signalement clôturé (400):
{
"error": true,
"statusCode": 400,
"message": "Ce signalement a déjà été clôturé."
}
Type invalide (400):
{
"error": true,
"statusCode": 400,
"message": "Le type de traitement n'existe pas."
}
Comportement métier
Lors de la suppression :
- vérification de l’existence de l’action
- vérification du propriétaire (created_by)
- blocage si notification déjà envoyée
- vérification du statut du signalement
- suppression définitive de l’action