REST API - Créer un ticket


POST  /requests

  • Elle supporte la création d’un seul ticket par appel.

Remarques

   Open url.png  voir Conventions de l'API REST Service Manager

  • Vous devez fournir un tableau au format JSON dans le corps de la requête HTTP.
  • En cas de succès, un code de statut HTTP 201 est retourné et un lien URL (HREF) vers la ressource créée est fourni.
CommonNotes_JSONandFields

Format JSON / Format des champs :

  • Les noms de champs sont ceux du modèle de données Service Manager.

    exemple  available_field_1

  • Pour mettre à jour un champ, respectez le format JSON suivant : "field_name":"value".
  • Les noms d’objets JSON, y compris ceux représentant les champs de la base Service Manager, ne sont pas sensibles à la casse.

    exemple  field_name, Field_Name et FIELD_NAME sont équivalents

Liste des paramètres / champs

Paramètres obligatoires

Dans le corps de la requête HTTP, vous devez utiliser au moins l'un des objets JSON ci-dessous.

Notes :

  • Le sujet peut être renseigné via catalog_guid (utilisé en priorité) ou catalog_code.
  • Si catalog_guid est erroné, le traitement est stoppé sans lire catalog_code.
     
Objet Type Description / Exemple
catalog_guid string Identifiant du sujet du ticket
catalog_code string Code du sujet du ticket

Paramètres optionnels

Aucun

Champs optionnels

  • Dans le corps de la requête HTTP, vous pouvez utiliser seulement les champs de la table SD_REQUEST ci-dessous.
     
Version minimum Paramètre Type Description / Exemple
assetid, assettag, asset_name string Identifiant / Code / Nom du matériel
  • Les objets sont traités dans cet ordre de priorité par l'algorithme de recherche.
ci_id, ci_asset_tag, ci_name string Identifiant du CI / Code matériel du CI / Nom du CI
  • Les objets sont traités dans cet ordre de priorité par l'algorithme de recherche.
department_id, department_code string Identifiant / Code de l'entité du demandeur
  • Les objets sont traités dans cet ordre de priorité par l'algorithme de recherche.
description string Description de l'objet
Autumn 2020 - Build 2020.2.122.2 impact_id integer Impact du ticket
external_reference string Identifiant de l'objet attribué par une application externe.
location_id, location_code string Identifiant / Code de la localisation du demandeur
  • Les objets sont traités dans cet ordre de priorité par l'algorithme de recherche.
origin string Identifiant de l'origine (ex. : Téléphone, E-mail)
parentrequest string Identifiant de la demande liée (demande parent) rattachée à l'objet
phone string Numéro de téléphone du demandeur
recipient_id, recipient_identification, recipient_mail, recipient_name string Identifiant / Numéro de matricule / Adresse e-mail / Nom du bénéficiaire
  • Les objets sont traités dans cet ordre de priorité par l'algorithme de recherche.
requestor_identification, requestor_mail, requestor_name string Numéro de matricule / Adresse e-mail / Nom du demandeur
  • Les objets sont traités dans cet ordre de priorité par l'algorithme de recherche.
severity_id integer Identifiant du niveau de gravité
submit_date string Date de création de l'objet
  • Par défaut, date courante (now).
Oxygène 2.1.2 - Build 2018.1.183.0 title string Titre du ticket
urgency_id integer Identifiant du niveau d'urgence
  • Version minimum : Oxygène 2.1.2 - Build 2018.1.183.0  En plus des champs fournis par EasyVista, vous pouvez aussi affecter des valeurs aux champs que vous avez ajoutés dans la base de données Service Manager. Il s’agit des champs préfixés par e_.
             exemple   e_field_name_xyz

Description des actions effectuées

1.  Un ticket est créé (entrée dans la table SD_REQUEST).

  • submit_date = now
  • Si recipient_id est passé en paramètre :
    • location_id = location_id du recipient_id
    • department_id = department_id du recipient_id
    • requestor_phone = phone du recipient_id
    • rfc_number ==> Get NewIncidentNumber
    • max_resolution_date_ut ==> calculateMaxResolution(SLA_id à récupérer)
    • first_call_resolution ==> 0
    • status_id = Clé status_id dont le GUID est {6e554fc1-1a5d-47e4-b303-cd98a8767aec} [12 - en général En cours]
  • Si parentRequest est renseigné :
    • parentRequest_id renseigné (demande liée)

2. Une action de type CALL est créée dans la table AM_ACTION, rattachée au ticket.

  • request_id = request_id du ticket qui vient d’être créé
  • doneBy_id = requestor_id du ticket qui vient d’être créé
  • creation_date_ut = start_date_ut = end_date_ut = SD_REQUEST.submit_date
  • action_type_id = 7
  • AM_ACTION.contact_id = SD_REQUEST.requestor_id

3. Le workflow associé au ticket est démarré.

  • Le workflow_id est récupéré suivant la même mécanique que le SLA_id (gestion des surcharges et arborescences).

Codes de statut HTTP de la méthode

StatusHeader
Code Erreur Description
Status201
201 Created (Créé) Requête traitée avec succès et création d’un élément.
Status401
401 Unauthorized (Non autorisé) Processus d'authentification pour accéder à la ressource incorrect : Login/Mot de passe incorrect, Session non valide, Compte Service Manager incorrect.

exemple

{
 "error": "Invalid Login / Password"
}
Status500
500 Internal Server Error (Erreur interne du serveur) Message d’erreur générique, donné quand une condition inattendue a été rencontrée et qu'aucun message plus spécifique n’est approprié.

exemple

{
 "error": "An error occured. A text message is returned in the body."
}

Exemples

Exemple de corps de requête HTTP

{
   "requests" :
    [{
     "Catalog_Code" : "46",
     "AssetID" : "",
     "AssetTag" : "",
     "ASSET_NAME" : "",
     "Urgency_ID" : "1",
     "Severity_ID" : "40",
     "External_reference" : "",
     "Phone" : "93-63 - 65-23",
     "Requestor_Identification" : "",
     "Requestor_Mail" : "morley@itassetservices.com",
     "Requestor_Name" : "",
     "Location_ID" : "",
     "Location_Code" : "",
     "Department_ID" : "",
     "Department_Code" : "",
     "Recipient_ID" : "",
     "Recipient_Identification" : "",
     "Recipient_Mail" : "leblanc@itassetservices.com",
     "Recipient_Name" : "",
     "Origin" : "3",
     "Description" : "Request created via REST API",
     "ParentRequest" : "",
     "CI_ID" : "",
     "CI_ASSET_TAG" : "",
     "CI_NAME" : "",
     "SUBMIT_DATE" : ""
    }]
}

Résultat avec un code de statut retourné 201

{
 "HREF": "https://{your_server}/api/v1/{your_account}/requests/I161019_000003"
}


ConventionsAPI

Conventions de l'API REST

Convention Signification
Orange Paramètres utilisés dans la chaîne d’une requête HTTP et qui ne correspondent pas à des champs de la base Service Manager.

exemple   Méthode Voir une liste de biens


https://{your_server}/api/v1/{your_account}/assets?max_rows=3&fields=asset_tag

Noir et Gras Paramètres utilisés dans l’URL d’une requête HTTP et qui correspondent à des champs de la base Service Manager.

exemple   Méthode Voir un bien


https://{your_server}/api/v1/{your_account}/assets/{asset_id}

Vert Paramètres utilisés dans le corps d’une requête HTTP et qui représentent des noms d’objets JSON correspondant à des champs de la base Service Manager ; ils permettent d’affecter ou de modifier une valeur de champ dans la base.

exemple   Méthode Terminer un ticket

{  "closed": {  "end_date": "11/20/2016 12:12:12",  }  }
Paramètres utilisés dans le corps d’une requête HTTP et qui représentent des noms d’objets JSON ne correspondant pas à des champs de la base Service Manager.

exemple   Méthode Reprendre un ticket

{  "restarted": {  "comment": "string (required)"  }  }

Tags:
Modifié par Utilisateur inconnu le 2021/12/03 18:49
Créé par Administrator XWiki le 2017/04/07 12:02

Raccourcis

L'actualité mensuelle
•  Newsletter

Tous les changements
•  Service Manager
•  Service Apps
•  Self Help
•  Service Bots

Powered by XWiki ©, EasyVista 2021