Aller au contenu

GUIDE TECHNIQUE · SERVICENOW

ServiceNow : REST API : intégrer la Table API

Interroger l'API Table ServiceNow avec une identité dédiée, limiter les champs et résultats, contrôler l'authentification et traiter proprement les réponses et les erreurs.

Niveau Avancé3 min de lecture— vuesServiceNow

L’ESSENTIEL EN BREF

Les étapes clés

Ce guide présente 4 étapes, de « Identifier endpoint et périmètre » à « Tester la charge et la traçabilité ».

Avant de commencer : Instance de test accessible sur TLS avec autorisation d'API.

01 · CADRAGE

Périmètre et résultat visé

Résultat attendu : Le résultat GET expose uniquement les champs attendus.

Public concerné : Ingénieurs intégration, responsables ITSM et développeurs d'API

Environnement et versions

ServiceNow REST Table API (api/now/table) ; OAuth, ACL et limitations d'API dépendent de l'instance. Exemple GET de lecture seule.

Contrôlez les versions, les droits et les options disponibles dans votre environnement avant de suivre la procédure.

02 · AVANT DE COMMENCER

Prérequis et points de contrôle

  • Instance de test accessible sur TLS avec autorisation d'API.
  • Compte d'intégration à droits minimaux et authentification stockée dans un coffre.
  • Données d'incident fictives et politique de rétention de logs validée.

03 · VUE D’ENSEMBLE

Comprendre l’architecture et les flux

ARCHITECTURE TECHNIQUEComprendre la chaîne de bout en bout
01Client HTTPS
02Authentification
03ACL ServiceNow
04Table API
05Filtrage
06Résultat
La Table API respecte les permissions d'accès aux tables et champs. Un client doit limiter les données collectées, gérer les erreurs HTTP et protéger les identifiants.

04 · TUTORIEL

Procédure complète, étape par étape

Suivez les étapes dans l’ordre et contrôlez chaque résultat avant de poursuivre. Renseignez les paramètres adaptés à votre environnement.

01

ÉTAPE 1 / 4

Identifier endpoint et périmètre

Une API généreuse sur une table métier augmente le risque de fuite de données.

  1. Déterminer la table incident et les champs nécessaires.
  2. Définir un filtre de test et limiter explicitement les résultats.
Exemple techniqueÀ adapter à votre environnement
GET /api/now/table/incident?sysparm_limit=5&sysparm_fields=number,short_description,state
Ce qui se passe à cette étape
1Endpoint
2Table
3Vérification

À vérifier : L'endpoint n'expose que les trois champs requis et cinq lignes au plus.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

02

ÉTAPE 2 / 4

Configurer l'authentification

L'identité machine ne doit pas avoir les droits d'un administrateur.

  1. Choisir OAuth ou une méthode autorisée, avec rotation et portée appropriées.
  2. Stocker le secret hors du code et limiter les ACL de la table incident.
Exemple techniqueÀ adapter à votre environnement
# Exemple de requête HTTPS sans secret dans le dépôt :
curl -sS -H 'Accept: application/json' \
  -H "Authorization: Bearer ${SN_TOKEN:?}" \
  'https://instance-lab.example.com/api/now/table/incident?sysparm_limit=5'
Ce qui se passe à cette étape
1Identité
2Token
3Vérification

À vérifier : Un compte dédié peut effectuer uniquement la lecture autorisée.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

03

ÉTAPE 3 / 4

Valider les réponses et cas d'erreur

Le succès HTTP et la conformité JSON doivent être distingués.

  1. Contrôler 200, 401, 403 et la structure des éléments result.
  2. Gérer explicitement les délais, le retry limité et la pagination.
Exemple techniqueÀ adapter à votre environnement
# Sur un environnement de test :
# 200 => JSON attendu
# 401 => authentification absente/expirée
# 403 => permission refusée
Ce qui se passe à cette étape
1HTTP
2JSON
3Vérification

À vérifier : Le client distingue authentification, autorisation et données inexistantes.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

04

ÉTAPE 4 / 4

Tester la charge et la traçabilité

Une intégration peut perturber l'instance si elle interroge trop souvent.

  1. Mesurer volume, latence et fréquence de requêtes dans une fenêtre de recette.
  2. Établir un identifiant de corrélation et journaliser uniquement les métadonnées utiles.
Exemple techniqueÀ adapter à votre environnement
# Critères de surveillance :
# taux 2xx / 4xx / 5xx ; latence ; pagination ; volume
Ce qui se passe à cette étape
1Monitoring
2Quota
3Vérification

À vérifier : Les quotas et mécanismes de reprise sont documentés.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

RÉFÉRENCES TECHNIQUES

Documentation officielle

Retrouvez les prérequis, les fonctionnalités et les versions prises en charge par ServiceNow. Vérifiez les commandes sur un environnement de test avant leur utilisation en production.

Consulter la documentation officielle

05 · RECETTE

Comment vérifier que tout fonctionne ?

Résultat attenduContrôles avant de considérer la procédure terminée
01

Le résultat GET expose uniquement les champs attendus.

02

Une identité non autorisée reçoit un refus.

03

Les erreurs HTTP sont traitées et les limites de pagination respectées.

06 · DIAGNOSTIC

Problèmes fréquents et résolution

401 Unauthorized

Cause probable : Jeton absent, expiré ou audience incorrecte

Que faire : Renouveler l'authentification par la procédure prévue.

403 Forbidden

Cause probable : ACL de table ou de champ insuffisante

Que faire : Tester les droits du compte plutôt que lui donner des rôles étendus.

Résultats vides

Cause probable : Filtre trop strict ou visibilité restreinte

Que faire : Comparer la requête à un incident de laboratoire accessible.

07 · QUESTIONS PRATIQUES

Questions fréquentes

La Table API permet-elle de tout lire ?

Non. Elle reste soumise à la configuration d'accès et aux ACL de l'instance.

OAuth est-il obligatoire ?

Il dépend des méthodes autorisées par la plateforme ; privilégier une identité dédiée et des jetons gérés.

Pourquoi sysparm_fields ?

Pour réduire les données transférées et limiter l'exposition de champs inutiles.

AUTRES TECHNOLOGIES

Guides complémentaires

Tous les guides ServiceNow

VOTRE ENVIRONNEMENT

Besoin d’aller plus loin sur votre environnement ?

Automatisation, sécurité et exploitation : échangeons sur vos pratiques ServiceNow.

Échanger avec ADN Consulting

Pour aller plus loin