Skip to main content

Qualification

Cette API permet de gérer les demandes de signalements dans le processus de qualification sur la plateforme Connect My Zone.

Types de signalement pris en compte :

CodeDescription
zobZone Blanche
cpoAbsence d'Opérateur(s)
cpsMauvais Signal d'Opérateur(s)
abiAbsence d'Internet

Liste de toutes les demandes

Cette API permet de récupérer toutes les demandes de signalements.

Endpoint : GET /requests

Headers requis :

Authorization: Bearer <access_token>
Content-Type: application/json

Paramètres de requête (optionnels) :

ParamètreTypeDescription
report_typestringType de signalement
initiator_phone_numberstringFiltrer par le numéro de téléphone de celui qui a fait le signalement
request_report_uniq_idstringFiltrer par l’identifiant unique du signalement
uniq_idstringFiltrer par l’identifiant unique de la demande de signalement
sourcestringFiltrer par la source du signalement
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 l’identifiant de la région
department_namestringFiltrer par l’identifiant de la région
municipality_namestringFiltrer par l’identifiant de la région
statusstringFiltrer par le statut du signalement
operatorsstringFiltrer par les opérateurs concernés (liste séparée par des virgules)
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/requests" \
-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
}
}

Demandes en attente

Cette API permet de récupérer toutes les demandes de signalements en attente de traitement.

Endpoint : GET /requests/queues

Headers requis :

Authorization: Bearer <access_token>
Content-Type: application/json

Paramètres de requête (optionnels) :

ParamètreTypeDescription
report_typestringType de signalement
initiator_phone_numberstringFiltrer par le numéro de téléphone de celui qui a fait le signalement
request_report_uniq_idstringFiltrer par l’identifiant unique du signalement
uniq_idstringFiltrer par l’identifiant unique de la demande de signalement
sourcestringFiltrer par la source du signalement
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 l’identifiant de la région
department_namestringFiltrer par l’identifiant de la région
municipality_namestringFiltrer par l’identifiant de la région
statusstringFiltrer par le statut du signalement
operatorsstringFiltrer par les opérateurs concernés (liste séparée par des virgules)
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/requests/queues" \
-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
}
}

Prise en charge d'une demande

Cette API permet à un utilisateur du backoffice de prendre en charge une demande de signalement afin de démarrer son traitement.

Lorsqu’un signalement est pris en charge :

  • le statut passe de pending à in-progress
  • la date de prise en charge est enregistrée
  • l’utilisateur ayant pris en charge la demande est enregistré
  • une notification est envoyée à l’usager
  • un historique de traitement est généré

Endpoint : POST /requests/{requestReportUniqId}/take

Authentification : Bearer Token

Headers requis :

Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json

Paramètres de requête :

ChampTypeRequisDescription
requestReportUniqIdstringOuiIdentifiant unique de la demande

Requête :

curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/requests/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": "La demande que vous voulez prendre n'existe pas."
}

Erreur - Signalement déjà pris en charge (400) :

{
"error": true,
"statusCode": 400,
"message": "Impossible de prendre cette demande."
}

Comportement détaillé :

  • Recherche du signalement via son identifiant unique (uniq_id)
  • Vérification que le signalement existe
  • Vérification que le signalement possède le statut pending
  • Mise à jour du statut vers in-progress
  • Enregistrement de la date de prise en charge
  • Enregistrement de l’utilisateur ayant pris en charge la demande
  • Envoi d’une notification à l’usager
  • Génération d’un historique de traitement

Demandes en attente de qualification

Cette API permet de récupérer la liste des demandes de signalements qui ont déjà été prises en charge par un agent du backoffice et qui sont en attente de qualification.

Ces demandes sont actuellement dans le panier de travail de l’agent et doivent être traitées (qualification, validation ou rejet).

Endpoint : GET /requests/task-baskets

Authentification : Bearer Token

Headers requis :

Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json

Paramètres de requête (optionnels) :

ParamètreTypeDescription
report_typestringType de signalement
initiator_phone_numberstringFiltrer par le numéro de téléphone de celui qui a fait le signalement
request_report_uniq_idstringFiltrer par l’identifiant unique du signalement
uniq_idstringFiltrer par l’identifiant unique de la demande de signalement
sourcestringFiltrer par la source du signalement
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 l’identifiant de la région
department_namestringFiltrer par l’identifiant de la région
municipality_namestringFiltrer par l’identifiant de la région
statusstringFiltrer par le statut du signalement
operatorsstringFiltrer par les opérateurs concernés (liste séparée par des virgules)
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/requests/task-baskets" \
-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
}
}

Approuver une demande de signalement

Cette API permet à un agent du backoffice de valider (approuver) une demande de signalement après analyse.

L’approbation marque la fin du cycle de qualification et déclenche la création ou la mise à jour du signalement final dans le système.

Endpoint : POST /requests/{requestReportUniqId}/approve

Authentification : Bearer Token


Headers requis :

Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json

Paramètres de requête :

ChampTypeRequisDescription
requestReportUniqIdstringOuiIdentifiant unique de la demande

Body de la requête :

ChampTypeRequisDescription
requestobjectNonDonnées complémentaires de traitement (callback/edit)
commentstringNonCommentaire complémentaire de l’agent

Requête :

curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/requests/ZOB69FCAEC983556/approve" \
-H "Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"comment": "Validation du signalement après analyse"
}'

Réponse succès (200) :

{
"error": false,
"message": "Successfully",
"data": {
"id": "ZOB69FCAEC983556"
}
}

Erreur - Signalement introuvable (400) :

{
"error": true,
"statusCode": 400,
"message": "La demande que vous voulez approuver n'existe pas."
}

Erreur - Signalement déjà pris en charge (400) :

{
"error": true,
"statusCode": 400,
"message": "Vous ne pouvez pas traiter une demande qui n’a pas encore été prise en charge."
}

Demande déjà approuvée (400) :

{
"error": true,
"statusCode": 400,
"message": "La demande est déjà approuvée."
}

Comportement détaillé :

Lors du rejet d’une demande :

  • Vérification de l’existence de la demande
  • Vérification qu’elle n’est pas déjà approuvée
  • Vérification des cas particuliers (rejet + commentaire obligatoire)
  • Mise à jour de la demande :
  • status = approved
  • approved_at
  • approved_by
  • qualification_state = completed
  • Mise à jour ou création du Report final Génération du csp_id
  • Synchronisation des infrastructures si coordonnées GPS disponibles
  • Création de l’historique du signalement
  • Notification envoyée à l’usager
  • Déclenchement des événements système : logs
  • processing event

Rejeter une demande de signalement

Cette API permet à un agent du backoffice de rejeter une demande de signalement qui a été prise en charge.

Le rejet marque la fin du traitement avec un motif obligatoire.

Endpoint : POST /requests/{requestReportUniqId}/reject

Authentification : Bearer Token


Headers requis :

Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json

Paramètres de requête :

ChampTypeRequisDescription
requestReportUniqIdstringOuiIdentifiant unique de la demande

Body de la requête :

ChampTypeRequisDescription
reasonstringOuiRaison du rejet (valeur de l’enum ReasonMessageEnum)
commentstringOuiCommentaire complémentaire de l’agent

Requête :

curl -X POST "https://clients-api-services.mazone-test.ansut.ci/api/v1.0/requests/ZOB69FCAEC983556/reject" \
-H "Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"reason": "NO_COVERAGE",
"comment": "Zone non couverte par les opérateurs"
}'

Réponse succès (200) :

{
"error": false,
"message": "Successfully",
"data": {
"id": "ZOB69FCAEC983556"
}
}

Erreur - Signalement introuvable (400) :

{
"error": true,
"statusCode": 400,
"message": "La demande que vous voulez rejeter n'existe pas."
}

Erreur - Signalement déjà pris en charge (400) :

{
"error": true,
"statusCode": 400,
"message": "Vous ne pouvez pas traiter une demande qui n’a pas encore été prise en charge."
}

Demande déjà rejetée (400) :

{
"error": true,
"statusCode": 400,
"message": "La demande est déjà rejetée."
}

Comportement détaillé :

Lors du rejet d’une demande :

  • Vérification de l’existence du signalement
  • Vérification que le statut n’est pas pending
  • Vérification que le statut n’est pas déjà rejected
  • Enregistrement de :
  • rejected_at
  • rejected_by
  • Passage du statut à rejected
  • Passage de l’état de qualification à completed
  • Génération d’une notification à l’usager
  • Ajout du motif de rejet formaté
  • Enregistrement dans les logs de traitement