Skip to content
This repository was archived by the owner on Jun 29, 2023. It is now read-only.

before-interop/ticketing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Ticketing Unifiée

Sommaire

Modèle de données #

Cycle de vie #

Séquence d'appels sur cette API #

Séquence d'appels avec plusieurs API #

RGs fonctionnelles #

Types de Tickets

Les types de ticket suivants sont acceptés dans cette implémentation interop de l'API Ticketing :

Anomalie :

  • AnomalieAdresse.modification : Modification d'adresses de l'IPE
  • AnomalieAdresse.creation : Création d'adresses dans le fichier IPE
  • AnomalieAdresse.creationImmeubleNeuf : Création d'adresses pour immeubles neufs
  • AnomalieAdresse.demandeInformations : Demande d'informations supplémentaires pour une adresse
  • AnomalieAdresse.nonRespectProtocole : Non respect du protocole CSV dans les fichiers IPE.

NOTE

Cette Liste est non exhaustive, et peut être complétée en fonction des cas d'usage supportés. Cette liste n'est donc pas un enum dans le swagger.


Type de relations entre les tickets

Trois types de relations sont supportés par cette API :

  • doublon : multiple déclaration de tickets. A utiliser lors de la cloture du ou des tickets en doublon.
  • référence : ex réouverture d'un ticket. A utiliser dans un nouveau ticket pour référencer un ticket cloturé à tort.
  • regroupe : décrit une hiérarchie de ticket. Un ticket parent, et N tickets enfants.

NOTE

Cette Liste est non exhaustive, et peut être complétée en fonction des cas d'usage supportés. Cette liste n'est donc pas un enum dans le swagger.


Exemples de requêtes / réponses #

Création d'un ticket simple avec une pièce jointe seulement

Requête
POST https://serverRoot/troubleTicket/v1
Content-Type: application/json

{
    "description": "description du ticket",
    "ticketType": "AnomalieAdresse.demandeInformations",
    "severity": "mineur",
    "name": "Demande d'infos sur l'adresse 01",
    "attachment": [
        {
            "id": "monIdPj",
            "href": "https://serverRoot/attachment/v1/monIdPj",
            "@type": "AttachmentRef"
        }
    ],
    "note": [
        {
            "id": "idNote1",
            "author": "un interlocuteur sur le ticket",
            "date": "1994-07-28T08:38:35.890Z",
            "text": "Une note ajoutée lors du dépo",
            "@type": "Note"
        }
    ],
    "relatedEntity": [],
    "relatedParty": [
        {
            "id": "id auteur",
            "name": "Nom Prénom auteur",
            "role": "Créateur du ticket",
            "@referredType": "Individual",
            "@type": "RelatedParty"
        }
    ],
    "troubleTicketRelationship": [],
    "@type": "TroubleTicket"
}
Réponse
201
Content-Type: application/json

{
  "id": "idTicket",
  "href": "https://serverRoot/troubleTicket/v1/idTicket",
  "creationDate": "1961-05-23T03:50:55.667Z",
  "description": "description du ticket",
  "ticketType": "AnomalieAdresse.demandeInformations",
  "severity": "mineur",
  "lastUpdate": "1974-12-13T11:05:07.723Z",
  "name": "Demande d'infos sur l'adresse 01",
  "attachment": [
    {
      "id": "monIdPj",
      "href": "https://serverRoot/attachment/v1/monIdPj",
      "@type": "AttachmentRef"
    }
  ],
  "note": [
    {
      "id": "idNote1",
      "author": "un interlocuteur sur le ticket",
      "date": "1994-07-28T08:38:35.890Z",
      "text": "Une note ajoutée lors du dépo",
      "@type": "Note"
    }
  ],
  "relatedEntity": [],
  "relatedParty": [
    {
      "id": "id auteur",
      "name": "Nom Prénom auteur",
      "role": "Créateur du ticket",
      "@referredType": "Individual",
      "@type": "RelatedParty"
    }
  ],
  "status": "acknowledged",
  "statusChange": [
    {
      "changeDate": "1968-12-10T00:45:49.134Z",
      "status": "acknowledged",
      "@type": "StatusChange"
    }
  ],
  "troubleTicketRelationship": [],
  "@type": "TroubleTicket"
}

Récupération d'un ticket

Requête
GET https://serverRoot/troubleTicket/v1/idTicket
Accept: application/json
Réponse
200
Content-Type: application/json

{
  "id": "idTicket",
  "href": "https://serverRoot/troubleTicket/v1/idTicket",
  "creationDate": "1961-05-23T03:50:55.667Z",
  "description": "description du ticket",
  "ticketType": "AnomalieAdresse.demandeInformations",
  "severity": "mineur",
  "lastUpdate": "1974-12-13T11:05:07.723Z",
  "name": "Demande d'infos sur l'adresse 01",
  "attachment": [
    {
      "id": "monIdPj",
      "href": "https://serverRoot/attachment/v1/monIdPj",
      "@type": "AttachmentRef"
    }
  ],
  "note": [
    {
      "id": "idNote1",
      "author": "un interlocuteur sur le ticket",
      "date": "1994-07-28T08:38:35.890Z",
      "text": "Une note ajoutée lors du dépo",
      "@type": "Note"
    }
  ],
  "relatedEntity": [],
  "relatedParty": [
    {
      "id": "id auteur",
      "name": "Nom Prénom auteur",
      "role": "Créateur du ticket",
      "@referredType": "Individual",
      "@type": "RelatedParty"
    }
  ],
  "status": "acknowledged",
  "statusChange": [
    {
      "changeDate": "1968-12-10T00:45:49.134Z",
      "status": "acknowledged",
      "@type": "StatusChange"
    }
  ],
  "troubleTicketRelationship": [],
  "@type": "TroubleTicket"
}

Modification d'un ticket

Requête
PATCH https://serverRoot/troubleTicket/v1/idTicket
Content-Type: merge-patch+json

{
  "severity": "majeur",
  "note": [
    {
      "id": "idNote1",
      "author": "un interlocuteur sur le ticket",
      "date": "1994-07-28T08:38:35.890Z",
      "text": "Une note ajoutée lors du dépo",
      "@type": "Note"
    },
    {
      "id": "idNote2",
      "author": "un autre acteur sur le ticket",
      "date": "2004-07-28T08:38:35.890Z",
      "text": "Une seconde note décrivant l'escalade",
      "@type": "Note"
    }
  ],
  "@type": "TroubleTicket"
}
Réponse
200
Content-Type: application/json

{
  "id": "idTicket",
  "href": "https://serverRoot/troubleTicket/v1/idTicket",
  "creationDate": "1961-05-23T03:50:55.667Z",
  "description": "description du ticket",
  "ticketType": "AnomalieAdresse.demandeInformations",
  "severity": "majeur",
  "lastUpdate": "1974-12-13T11:05:07.723Z",
  "name": "Demande d'infos sur l'adresse 01",
  "attachment": [
    {
      "id": "monIdPj",
      "href": "https://serverRoot/attachment/v1/monIdPj",
      "@type": "AttachmentRef"
    }
  ],
  "note": [
    {
      "id": "idNote1",
      "author": "un interlocuteur sur le ticket",
      "date": "1994-07-28T08:38:35.890Z",
      "text": "Une note ajoutée lors du dépo",
      "@type": "Note"
    },
    {
      "id": "idNote2",
      "author": "un autre acteur sur le ticket",
      "date": "2004-07-28T08:38:35.890Z",
      "text": "Une seconde note",
      "@type": "Note"
    }
  ],
  "relatedEntity": [],
  "relatedParty": [
    {
      "id": "id auteur",
      "name": "Nom Prénom auteur",
      "role": "Créateur du ticket",
      "@referredType": "Individual",
      "@type": "RelatedParty"
    }
  ],
  "status": "acknowledged",
  "statusChange": [
    {
      "changeDate": "1968-12-10T00:45:49.134Z",
      "status": "acknowledged",
      "@type": "StatusChange"
    }
  ],
  "troubleTicketRelationship": [],
  "@type": "TroubleTicket"
}

Collection Postman #


NOTE

Mettre à disposition une collection Postman pour faciliter les tests.


Packages

 
 
 

Contributors