Skip to main content

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ètreTypeDescription
sourcestringFiltrer par la source du signalement
uniq_idstringFiltrer par l’identifiant unique du signalement
report_uniq_idstringFiltrer par l’identifiant unique du rapport associé
region_idstringFiltrer par l’identifiant de la région
department_idstringFiltrer par l’identifiant du département
municipality_idstringFiltrer par l’identifiant de la commune
region_namestringFiltrer par le nom de la région
department_namestringFiltrer par le nom du département
municipality_namestringFiltrer par le nom de la commune
report_typestringType de signalement concernés
statestringFiltrer par l’état du signalement
start_datestringDate de début de la période de recherche
end_datestringDate de fin de la période de recherche
pageintegerNumé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 :

ChampTypeRequisDescription
reportUniqIdstringOuiIdentifiant 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ètreTypeDescription
sourcestringFiltrer par la source du signalement
uniq_idstringFiltrer par l’identifiant unique du signalement
report_uniq_idstringFiltrer par l’identifiant unique du rapport associé
region_idstringFiltrer par l’identifiant de la région
department_idstringFiltrer par l’identifiant du département
municipality_idstringFiltrer par l’identifiant de la commune
region_namestringFiltrer par le nom de la région
department_namestringFiltrer par le nom du département
municipality_namestringFiltrer par le nom de la commune
report_typestringType de signalement concernés
statestringFiltrer par l’état du signalement
start_datestringDate de début de la période de recherche
end_datestringDate de fin de la période de recherche
pageintegerNumé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 :

ChampTypeRequisDescription
reportUniqIdstringOuiIdentifiant 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 :

ChampTypeRequisDescription
reportUniqIdstringOuiIdentifiant unique du signalement
type_codestringOuiType d’action (network_coverage,operator_verification,incident_check)
datedatetimeOuiDate de l’action de traitement
operatorstringOuiOpérateur concerné
descriptionstringOuiDescription de l’action réalisée
statusbooleanOuitrue = covered, false = not_covered
should_notify_userbooleanNonIndique 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 :

ChampTypeRequisDescription
reportUniqIdstringOuiIdentifiant unique du signalement
reportProcessingIdstringOuiIdentifiant de l’action de traitement
type_codestringOuiType d’action (network_coverage,operator_verification,incident_check)
datedatetimeOuiDate de l’action de traitement
operatorstringOuiOpérateur concerné
descriptionstringOuiDescription de l’action réalisée
statusbooleanOuitrue = covered, false = not_covered
should_notify_userbooleanNonIndique 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 :

ChampTypeRequisDescription
reportUniqIdstringOuiIdentifiant unique du signalement
reportProcessingIdstringOuiIdentifiant 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