Création d'un modèle de rapport et de champs de modèle de rapport
La création d'un modèle de rapport se fait en deux étapes : d'abord les métadonnées du modèle, puis ses champs.
Métadonnées du modèle de rapport
POST /report-templates
{
"name": "AB Florist Template",
"details": "API testing",
"adminOnly": true,
"account": 2,
"type": "REGULAR_REPORT",
"approveAutomatically": true,
"notifyAlertQueue": false,
"reportShouldBeLinkedToASiteNotAZone": true,
"excludeFromShiftReport": true,
"defaultLanguage": "EN-US",
"translatable": false
}name et details : générés par l'utilisateur, selon votre préférence. Le nom est limité à 255 caractères et les détails sont plus longs.
adminOnly : true ou false, selon que seuls les utilisateurs du portail de l'administrateur doivent l'utiliser.
account : c'est l'identifiant de la région (on peut le trouver au moyen de GET /regions )
type : il s'agit d'une des nombreuses constantes qui peuvent affecter les sections disponibles lors de la création de champs de modèle de rapport (par exemple, les champs de modèle de rapport). Le type DISPATCHABLE_TASK active la section « Dispatch Center » dans l'application Web, alors que REGULAR_REPORT ne l'aura pas, mais l'API ne s'en préoccupera pas. Ainsi, lorsque vous travaillez avec une « liste de catégories d'incidents », le type de données du champ de modèle de rapport sera toujours LIST_FLAG).
approveAutomatically : true ou false, si les rapports créés à l'aide de ce modèle doivent être approuvés automatiquement lors de leur création ou laissés dans un statut tel que « NEW ».
notifyAlertQueue : de nouvelles créations de rapports peuvent être configurées pour déclencher des notifications. Il s'agit simplement d'un commutateur principal qui participe à cette configuration
reportShouldBeLinkedToASiteNotAZone : true ou false, et comme son nom l'indique, offre un peu de contrôle à quoi les rapports appartiennent
excludeFromShiftReport : true ou false, et décide si un rapport de quart de travail doit mentionner les rapports basés sur ce modèle. Par exemple, s'il s'agit d'un rapport disciplinaire et que le client n'est pas intéressé par ce type lorsqu'il révise les données relatives aux quarts de travail.
defaultLanguage : une des nombreuses constantes pour les paramètres linguistiques.
Jusqu'à présent du 2025-03-18, la liste actuelle est la suivante (regardez les codes entre guillemets à gauche)
traduisible : il peut y avoir des sous-formulaires dans plusieurs langues. Cela permet de déterminer si le modèle participera ou non à ce processus.
Champs du modèle de rapport
Chaque champ sous la forme d'un rapport avec lequel un agent travaille ou qu'une intégration cherche à remplir doit être défini comme un champ de modèle de rapport avec un modèle de rapport parent.
La plupart des champs du modèle de rapport doivent être considérés comme ayant un nom et un type de données. La plupart des types ne comportent qu'un nom et un type de valeur, comme une ligne de texte ou une date du type aaaa-mm-jj. Une ligne de texte peut comporter 255 caractères, mais une description/un bloc/une zone de texte compte 65 000 caractères. Un type de données de type « liste » ou « liste déroulante » nécessitera un tableau de chaînes pour les noms des éléments. Il existe de nombreux types de données et ce premier effort de documentation ne les couvrira pas tous, mais vous pouvez toujours interroger un historique des rapports et de leurs reportFields pour inspecter le type de données clés « value » capturées et dériver à partir de là.
Champs de type de données basés sur des listes
POST /report-template-fields
{
"parent" : {
"type" : "report-templates",
"object" : 2866
},
"label": "LIST",
"type" : "LIST",
"listItems" : ["item 1", "item 2"],
"required" : false
}objet parent (modèle de rapport) : Pour référencer le modèle de rapport parent, vous disposez d'un sous-objet appelé « parent » qui requiert le type « report-templates » et un objet qui est la valeur report-templates.id du modèle de rapport parent.
label : c'est le titre du champ qui s'affichera sur le formulaire. L'exemple ci-dessus est trop simpliste. Soyez plus créatifs.
type : Il s'agit de la valeur la plus importante à définir, à savoir le nom du type de données. Le choix est vaste.
Par exemple,
listItems : OPTIONNEL. N'inclure ce champ que si le « type » est l'un des suivants :
- LIST (Sélecteur de liste)
- LIST_MULTIPLE (Liste de sélection multiple)
De nombreux types de données sont appelés éléments de « liste », mais il s'agit en fait de recherches de données qui renvoient une seule valeur, et les recherches proviennent d'autres sources de données, de sorte qu'il n'est pas nécessaire de les redéfinir en tant qu'éléments de liste dans le champ du modèle. En voici quelques exemples : Catégories d'incidents, véhicules de patrouille, liste des locataires, liste des employés, emplacement des sites Web, etc.
Champs de valeurs numériques ou de chaînes de caractères
Ils sont très simples et comprennent tout ce qui est une valeur recherchée, une date, une étiquette ou un corps de texte. Dans la liste des champs de modèle de rapport ci-dessous, vous pouvez voir que listItems n'est pas nécessaire, de sorte que votre charge utile pour POSTer un nouveau champ de modèle de rapport peut être comme l'exemple précédent, mais en omettant la définition de listItems :
POST /report-template-fields
{
"parent" : {
"type" : "report-templates",
"object" : 1212
},
"label": "Date of incident",
"type" : "DATE",
"required" : false
}
Exemples de champs de modèles de rapports créés
(voir la valeur "type" dans la liste ci-dessous pour savoir quel type de données du champ de modèle de rapport est affiché) :
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1217,
"label": "client list",
"name": "f_1217",
==> "type": "LIST_CLIENT",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
},
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1218,
"label": "client list (relink)",
"name": "f_1218",
==> "type": "LIST_CLIENT_RELINK",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
},
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1219,
"label": "employee list",
"name": "f_1219",
==> "type": "LIST_EMPLOYEE",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
},
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1220,
"label": "patrol vehicle list",
"name": "f_1220",
==> "type": "LIST_PATROL_VEHICLE",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
},
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1221,
"label": "tenant list",
"name": "f_1221",
==> "type": "LIST_RESIDENT",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
},
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1222,
"label": "date picker",
"name": "f_1222",
==> "type": "DATE",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
},
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1213,
"label": "incident category",
"name": "f_1213",
==> "type": "LIST_FLAG",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
},
{
"reportTemplate": 1212,
"parent": {
"type": "report-templates",
"object": 1212
},
"id": 1214,
"label": "list site location",
"name": "f_1214",
==> "type": "LIST_SITE_LOCATION",
"required": false,
"adminOnly": false,
"displayOrder": 0,
"extra": "",
"list": null,
"listItems": null,
"isDispatcherField": false,
"fieldTag": "",
"confidential": false
}