Ouvrir l’API de la rubrique Gestion des événements
L’API Open de rubrique Gestion des événements fournit un point de terminaison qui vous permet d’envoyer une rubrique via votre courtier de messages et de la stocker sur une ServiceNow instance.
À l’aide de cette API, vous pouvez stocker les rubriques créées via votre courtier de messages dans la ServiceNow table Rubrique [topic].
Cette API s’exécute dans l’espace de noms sn-api-notif-mgmt et nécessite le rôle sn_api_notif_mgmt.event_mgmt_integration.
Rubrique Gestion des événements Ouverte : POST /sn_api_notif_mgmt/rubrique
Crée un nouvel enregistrement dans la table Rubrique [sn_api_notif_mgmt_topic] et enregistre les informations transmises dans cet enregistrement.
Utilisez ce point de terminaison pour synchroniser les rubriques créées dans votre intergiciel de bus de messages avec celles de votre ServiceNow instance.
Lorsque des rubriques sont créées à l’aide de ce point de terminaison, le champ user_created de l’enregistrement de rubrique associé est défini sur faux et le champ type est défini sur sortie.
Format d'URL
URL versionnée : /api/sn_api_notif_mgmt/{api_version}/topic
URL par défaut : /api/sn_api_notif_mgmt/topic
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison autre que la plus récente. Type de données : chaîne |
| Nom | Description |
|---|---|
| Néant |
| Nom | Description |
|---|---|
| contentQuery | Filtre à appliquer à la charge utile de l’événement. Cette requête est un filtre d’événement plus approfondi qui est utilisé pour rechercher des informations telles que la gravité de l’événement ou le type de ticket. Vous pouvez transmettre ce paramètre en tant que requête imbriquée. Par exemple, pour la charge utile d’événement de ticket d’incident suivante, cette requête s’applique aux attributs qui se trouvent dans l’objet « event » de la charge utile : Ce paramètre prend en charge les conditions suivantes :
Par exemple : Ce champ est mappé au champ content_query dans l’enregistrement de rubrique associé. Pour plus d’informations, reportez-vous au Guide de l’utilisateur de l’API TMF688 Event Management. Type de données : chaîne |
| externalId | Identificateur externe unique de la rubrique, tel qu’un GUID. Ce champ est mappé au champ topic_id dans l’enregistrement de rubrique associé. Type de données : chaîne |
| headerQuery | Filtre à appliquer aux propriétés de l’en-tête d’événement. Cette requête définit le type d’événements à écouter pour la rubrique associée. Vous pouvez transmettre ce paramètre en tant que requête imbriquée. Ce paramètre prend en charge les conditions suivantes :
Par exemple : Ce champ est mappé au champ header_query dans l’enregistrement de rubrique associé. Pour plus d’informations, reportez-vous au Guide de l’utilisateur de l’API TMF688 Event Management. Type de données : chaîne |
| nom | Nom de la rubrique. Ce champ est mappé au champ topic_name dans l’enregistrement de rubrique associé. Type de données : chaîne |
| espace de noms | Espace de noms pour la rubrique. Vide si aucun espace de noms n’est associé. Ce champ est mappé au champ d’espace de noms dans l’enregistrement de rubrique associé. Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s’appliquent uniquement à cette action HTTP ou s’appliquent à cette action d’une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Type de contenu | Format des données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Néant |
Codes d'état
Les codes d’état suivants s’appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 201 | Réussi. La demande a été traitée avec succès. |
| 400 | L’ID externe de rubrique réussi existe déjà. Veuillez transmettre l’ID externe de rubrique unique : Indique que l’ID externe transmis existe déjà dans la table Rubriques. Veuillez transmettre la combinaison unique du nom de rubrique, de la requête d’en-tête, de la requête de contenu et de l’espace de noms : indique que la combinaison de nom de rubrique, d’espace de noms, de requête d’en-tête et de requête de contenu existe déjà. |
| 500 | Erreur interne du serveur. Une erreur inattendue s’est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l’erreur. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| contentQuery | Valeur du champ content_query dans l’enregistrement de rubrique créé. Type de données : chaîne |
| externalId | Valeur du champ topic_id dans l’enregistrement de rubrique créé. Type de données : chaîne |
| headerQuery | Valeur du champ header_query dans l’enregistrement de rubrique créé. Ce champ est utilisé par le cadre de travail du sélecteur de rubrique pour déterminer les messages d’événement qui doivent être envoyés à une rubrique. Type de données : chaîne |
| id | Sys_id de l’enregistrement de rubrique créé. Type de données : chaîne |
| nom | Nom de la rubrique. Type de données : chaîne |
| espace de noms | Valeur du champ Espace de noms dans l’enregistrement de rubrique créé. Type de données : chaîne |
Demande cURL
L’exemple de code suivant montre comment appeler ce point de terminaison.
curl "http://instance.servicenow.com/api/sn_api_notif_mgmt/topic" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
--data
{
"name": "HighPriorityTroubleTicket",
"headerQuery": "eventType=TroubleTicketStatusChangeEvent,TroubleTicketAttributeChangeEvent",
"contentQuery": "troubleTicket.ticketType=incident&troubleTicket.severity=1",
"externalId": "ext001",
"namespace": "telecomEvents"
}
Réponse :
{
"externalId": "ext001",
"name": "HighPriorityTroubleTicket",
"headerQuery": "eventType=TroubleTicketStatusChangeEvent,TroubleTicketAttributeChangeEvent",
"contentQuery": "troubleTicket.ticketType=incident&troubleTicket.severity=1",
"namespace": "telecomEvents",
"id": "7ee9850443c3f550461f99612bb8f223"
}