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.
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
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
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.
É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.
- Déterminer la table incident et les champs nécessaires.
- Définir un filtre de test et limiter explicitement les résultats.
GET /api/now/table/incident?sysparm_limit=5&sysparm_fields=number,short_description,stateÀ 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.
ÉTAPE 2 / 4
Configurer l'authentification
L'identité machine ne doit pas avoir les droits d'un administrateur.
- Choisir OAuth ou une méthode autorisée, avec rotation et portée appropriées.
- Stocker le secret hors du code et limiter les ACL de la table incident.
# 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'À 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.
ÉTAPE 3 / 4
Valider les réponses et cas d'erreur
Le succès HTTP et la conformité JSON doivent être distingués.
- Contrôler 200, 401, 403 et la structure des éléments result.
- Gérer explicitement les délais, le retry limité et la pagination.
# Sur un environnement de test :
# 200 => JSON attendu
# 401 => authentification absente/expirée
# 403 => permission refuséeÀ 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.
ÉTAPE 4 / 4
Tester la charge et la traçabilité
Une intégration peut perturber l'instance si elle interroge trop souvent.
- Mesurer volume, latence et fréquence de requêtes dans une fenêtre de recette.
- Établir un identifiant de corrélation et journaliser uniquement les métadonnées utiles.
# Critères de surveillance :
# taux 2xx / 4xx / 5xx ; latence ; pagination ; volumeÀ 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.
05 · RECETTE
Comment vérifier que tout fonctionne ?
Le résultat GET expose uniquement les champs attendus.
Une identité non autorisée reçoit un refus.
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
VOTRE ENVIRONNEMENT
Besoin d’aller plus loin sur votre environnement ?
Automatisation, sécurité et exploitation : échangeons sur vos pratiques ServiceNow.
Échanger avec ADN Consulting