Ticketing¶
L'outil de ticketing fonctionne au dessus de l'outil de diagnostic.
Un ticket de type service
référence un diagnostic run
dont le statut est completed
ou error
.
Types de tickets¶
Pour l'instant, un seul type de ticket est supporté :
Type name |
Description |
---|---|
|
Ticket ouvert sur un service |
Catégories de tickets¶
Il y a 9 catégories de tickets représentant les types de problèmes pouvant être rencontrés.
Category name |
Description |
---|---|
|
Le diagnostic révèle un problème d' OTP déplacé |
|
Le diagnostic révèle un problème d' incident générique |
|
Le diagnostic révèle un problème de synchronisation |
|
Le diagnostic révèle un problème de perte de paquets |
|
Le diagnostic révèle un problème de débit réduit |
|
Le diagnostic révèle un problème d'authentification |
|
Le diagnostic révèle un problème d' écrasement de la ligne |
|
Le diagnostic révèle un problème après la mise en service de la ligne |
|
Autre |
État d'un ticket¶
Un ticket peut être dans l'un des trois états suivants :
Nom du statut |
Description |
Action possible |
---|---|---|
|
Le ticket a été ouvert et l'équipe Covage est en train de s'en occuper. |
N/A |
|
Covage a besoin de plus d'information pour continuer à traiter le ticket. |
|
|
Le ticket a été traité par le support. |
|
|
Le ticket a été fermé par l'opérateur ou par Covage. |
N/A |
Création d'un ticket¶
Pour créer un nouveau ticket, vous devez effectuer un POST
sur l'url /api/tickets/
.
Exemple de création d'un ticket de type service
:
POST /api/tickets/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"diagnostic_run_id": "D170403_001",
"type": "service",
"service_uuid": "8ccc5104-a7d3-4be3-8108-cf9641cb1fe6",
"operator_ticket_ref": "PB12_32",
"description": "Customer complains about low rate",
"initial_comment": "Hello, customer complains about a low bitrate issue.\n\nCould you check please?",
"category": "low_rate",
"priority": "low",
"owner_contact":{
"first_name":"John",
"last_name":"Doe",
"email":"john@doe.com",
"phone_number":"0123456789"
}
}
La création d'un ticket est acceptée par l'API si les conditions suivantes sont respectées :
- Un identifiant de
diagnostic run
a été fourni et il correspond à un diagnostic de typestandard
.
Si le ticket se trouve dans l'une des catégories suivants:
["moving_otp","slamming","other"] Alors le champs diagnostic_run_id peut être soit
null
ou vide(""
), mais est toujours obligatoire.Il n'y a pas d'autres tickets ouvert sur le service.
Il n'y a pas d'autre ticket ouvert sur le même
diagnostic run
.
La création d'un ticket :
Envoie une réponse contenant le ticket (voir Récupérer un ticket pour plus d'info),
Déclenche l'envoi d'un résumé par email à son auteur et à une liste prédéfinie de destinataires.
Récupérer un ticket¶
Pour récupérer des informations détaillées sur un ticket, vous pouvez effectuer un GET
sur l'URL /api/tickets/{id}/
ou /api/tickets/{alias}/
or /api/tickets/{uuid}/
.
GET /api/tickets/989/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"id": 989,
"alias": "T190517_08006",
"creation_date": "2019-05-17T08:51:23.185722Z",
"modification_date": "2019-05-17T08:51:23.186087Z",
"type": "service",
"status": "open",
"category": "synchro",
"priority": "low",
"author": "test",
"operator_ticket_ref": "779b14bd-d9e9-48e5-9ad1-86929c4d5890",
"description": "Customer complains about low rate",
"service_uuid": "8ccc5104-a7d3-4be3-8108-cf9641cb1fe6",
"service_alias": "S190322_11001",
"product_name": "ADSL-Max_shared_BE_KOSC",
"grt": "standard",
"diagnostic_run_id": 18956,
"diagnostic_run_alias": "D190425_12001",
"initial_comment": "Hello, customer complains about a low bitrate issue",
"last_comment": {
"comment": "Hello, customer complains about a low bitrate issue",
"author": "test"
},
"last_comment_author": "test operator",
"owner": "Untel",
"owner_contact": {
"first_name":"John",
"last_name":"Doe",
"email":"john@doe.com",
"phone_number":"0123456789"
},
"operator_contact_uuid": "zitjrmff",
"last_update_author": "TEST_PRE",
"next_available_status": [],
"clear_code": null,
"responsability": null
}
Cet appel renvoie le ticket quel que soit son statut.
Lister les tickets¶
Pour récupérer la liste des tickets, vour pouvez effectuer un GET
sur l'url /api/tickets/
.
Tri¶
Le paramètre ?sort=<champ>
permet de trier les résultats. Pour inverser l'ordre du tri, le nom du champ peut être préfixé par le caractère -
.
Filtre¶
Il est possible de récupérer une partie des résultats en utilisant une combinaison de paramètres <champ>=<valeur>
.
Pagination¶
Les paramètres limit
et offset
permettent de ne récupérer qu'une partie des résultats. Le paramètre limit
donne le nombre maximum de résultats à retourner tandis que offset
est l'indice de départ des résultats (calculé sur l'ensemble des résultats).
L'entête X-Total-Count
retourne de manière indicative le nombre total de résultats (hors pagination).
Champs disponibles¶
Les champs disponibles pour le filtre et le tri sont les suivants :
Paramètre |
Tri ou filtre |
Description |
---|---|---|
status |
F |
Statut du ticket : |
category |
F |
Liste des catégories : |
grt |
F |
Liste des GRT : |
alias |
F |
C'est la référence du ticket |
service_alias |
F |
C'est la référence du service lié au ticket |
service_uuid |
F |
C'est l'uuid du service lié au ticket |
product_line |
F |
Le product line du service |
product_family |
F |
Le product family du service |
creation_date |
T |
Date de création de la commande |
submission_date |
T |
Date de soumission de la commande |
Requête :
GET /api/tickets/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
[
{
"id": 989,
"alias": "T190517_08006",
"creation_date": "2019-05-17T08:51:23.185722Z",
"modification_date": "2019-05-17T08:51:23.186087Z",
"type": "service",
"status": "open",
"category": "synchro",
"priority": "low",
"author": "test",
"operator_ticket_ref": "779b14bd-d9e9-48e5-9ad1-86929c4d5890",
"description": "Customer complains about low rate",
"service_uuid": "cgjcbeva",
"service_alias": "S190322_11001",
"product_name": "ADSL-Max_shared_BE_KOSC",
"grt": "standard",
"diagnostic_run_id": 18956,
"diagnostic_run_alias": "D190425_12001",
"initial_comment": "Hello, customer plains about a low bitrate issue",
"last_comment": {
"comment": "Hello, customer complains about a low bitrate issue",
"author": "test"
},
"last_comment_author": "test operator",
"owner": "Untel",
"owner_contact": {
"first_name":"John",
"last_name":"Doe",
"email":"john@doe.com",
"phone_number":"0123456789"
},
"operator_contact_uuid": "zitjrmff",
"last_update_author": "TEST_PRE",
"next_available_status": [],
"clear_code": null,
"responsability": null,
"sort_value": "cD0yMDE5LTA1LTE3VDA4JTNBNTElM0EyMy4xODYwODda"
}
]
Les tickets sont listés dans le sens inverse de modification_date
(les plus récents en premier).
Pour récupérer la liste des tickets ayant un statut particulier, veuiller effectuer un GET
sur l'url /api/tickets/?status={status}
.
Vous pouvez spécifier le nombre de tickets que vous voulez récupérer en précisant le paramètre limit
(maximum 100).
Vous pouvez obtenir plus de tickets en précisant le paramètre after
avec la valeur du champ sort_value
du dernier élément de la liste précédemment obtenue.
Éditer un ticket¶
Un ticket n'est pas éditable.
Supprimer un ticket¶
Un ticket ne peut pas être supprimé, mais vous pouvez le fermer (voir ci-dessous).
Les différents status des événements d'un ticket¶
Nom du status |
Description |
Action faite par |
---|---|---|
|
Le ticket a été ouvert et l'équipe Covage est en train de s'en occuper. |
Covage |
|
Le ticket a été traité par le support. |
Covage |
|
Covage a besoin de plus d'information pour continuer à traiter le ticket. |
|
|
Le ticket a été réouvert après être passé en |
Covage |
|
Le ticket a été fermé par le client ou par Covage. |
Opérateur |
|
Le ticket a été fermé avant d'être traitré. |
Covage |
Liste des clear code¶
Clear Code |
Signification |
Responsabilité |
---|---|---|
|
Coupure physique du lien, problème de position sur réglette (défaut alignement) |
Covage |
|
Modem client défectueux, modem client non branché |
Customer |
|
Problème de configuration |
Covage |
|
Login / Mdp client incorrect (Config) |
Customer |
|
Problème sur Radius / Routeur |
Covage |
|
Problème sur la qualité de la ligne impactant le débit ou amenant des pertes de paquet |
Covage |
|
DSLAM / Switch / Routeur coupé |
Covage |
|
Abandon du ticket par le client |
Customer |
|
Autres raisons, responsabilité client |
Customer |
|
Autres raisons, responsabilité Covage |
Covage |
Note
Les champs clear_code
et responsability
sont renseignés uniquement lorsque le ticket est a l'état cleared
Ajouter un évenement à un ticket¶
Un évenement est un dictionnaire contenant un ou plusieurs des champs suivants :
Champ |
Description |
---|---|
status |
Le statut du ticket a changé |
comment |
Un commentaire a été ajouté au ticket |
Pour ajouter un évenement à un ticket, vous pouvez faire un POST
sur l'url /api/tickets/{id_or_alias}/events/
avec un ou plus des champs autorisés.
La création d'un évenement sur un ticket renvoie l'évenement créé.
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 3826,
"status": "open",
"comment": "Hello, customer plains about a low bitrate issue",
"author": "test",
"creation_date": "2019-05-17T12:15:17.871750Z",
"clear_code": null,
"responsability": null,
"sort_value": "cD0yMDE5LTA1LTE3VDEyJTNBMTUlM0ExNy44NzE3NTBa"
}
Pour l'instant le seul changement d'état autorisé est la fermeture d'un ticket actif.
POST /api/tickets/1234/events/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"status": "closed"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 3806,
"status": "closed",
"comment": null,
"author": "test",
"creation_date": "2019-05-17T11:50:53.366966Z",
"clear_code": null,
"responsability": null
}
Note
Un ticket ne peut être fermé que si son status est à cleared
.
Pour ajouter un commenaire à un ticket, faites l'appel suivant :
POST /api/tickets/1234/events/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"comment": "this is a comment"
}
Résponse du serveur:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 3807,
"status": null,
"comment": "this is a comment",
"author": "test",
"creation_date": "2019-05-17T11:53:11.738648Z",
"clear_code": null,
"responsability": null
}
Note
Un évenement de type comment
sera automatiquement créé si le champ initial_comment
est précisé à la création du ticket.
Pour commenter et fermer un ticket en même temps, vous pouvez faire l'appel suivant :
POST /api/tickets/1234/events/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"status": "closed",
"comment": "issue resolved"
}
Réponse du serveur:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 3809,
"status": "closed",
"comment": "issue resolved",
"author": "test",
"creation_date": "2019-05-17T11:55:23.925132Z",
"clear_code": null,
"responsability": null
}
Note
Un ticket ne peut être fermé que si son status est à cleared
.
Pour faire sortir un ticket de son status deferred
, vous pouvez faire l'appel suivant :
POST /api/tickets/1234/events/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"status": "open",
"comment": "some information"
}
Réponse du serveur:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 3809,
"status": "open",
"comment": "some information",
"author": "test",
"creation_date": "2019-05-17T11:55:23.925132Z",
"clear_code": null,
"responsability": null
}
Note
Vous pouvez sortir du status dans poster de commentaire, pour cela, enlever simplement la ligne "comment" de votre requête
Lister les événements d'un ticket¶
Pour récupérer la liste des événements liés à un ticket, vous pouvez faire un GET
sur l'url /api/tickets/{id_or_alias}/events/
.
GET /api/tickets/988/events/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
[
{
"id": 3809,
"status": "closed",
"comment": "issue resolved",
"author": "test",
"creation_date": "2019-05-17T11:55:23.925132Z",
"clear_code": null,
"responsability": null,
"sort_value": "cD0yMDE5LTA1LTE3VDExJTNBNTUlM0EyMy45MjUxMzJa"
},
{
"id": 3808,
"status": "cleared",
"comment": null,
"author": "Kosc",
"creation_date": "2019-05-17T11:54:27.224833Z",
"clear_code": "modem",
"responsability": "Customer",
"sort_value": "cD0yMDE5LTA1LTE3VDExJTNBNTQlM0EyNy4yMjQ4MzNa"
},
{
"id": 3807,
"status": null,
"comment": "this is a comment",
"author": "test",
"creation_date": "2019-05-17T11:53:11.738648Z",
"clear_code": null,
"responsability": null,
"sort_value": "cD0yMDE5LTA1LTE3VDExJTNBNTMlM0ExMS43Mzg2NDha"
},
{
"id": 3783,
"status": "open",
"comment": "Hello, customer plains about a low bitrate issue",
"author": "test",
"creation_date": "2019-05-17T08:51:22.608964Z",
"clear_code": null,
"responsability": null,
"sort_value": "cD0yMDE5LTA1LTE3VDA4JTNBNTElM0EyMi42MDg5NjRa"
}
]
Les événements sont listés dans l'ordre inverse de leurs dates de création (les plus récents en premier).