SAM - API d’intégration des données d’utilisation de logiciels

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • L’API SAM - Software Usage Data Integration fournit des points de terminaison pour créer et mettre à jour des enregistrements dans la table Utilisation de logiciel [samp_sw_usage].

    Cette API nécessite l’activation du module d’extension Gestion des actifs logiciels - Professional (com.snc.samp). Vous devez également disposer du rôle sam_admin ou sam_developer pour accéder au point de terminaison.

    SAM - Intégration des données d’utilisation du logiciel - POST /sam_software_usage_integration/createOrUpdate

    Crée ou met à jour un enregistrement spécifié dans la table Utilisation de logiciel [samp_sw_usage].

    Vous pouvez créer/mettre à jour un ou plusieurs enregistrements d’utilisation de logiciel en un seul appel.

    Format d'URL

    URL versionnée : /api/now/{api_version}/sam_software_usage_integration/createOrUpdate

    URL par défaut : /api/now/sam_software_usage_integration/createOrUpdate

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    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 différente de la dernière.

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Aucun
    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Éléments Liste des noms de colonnes et des valeurs pour chaque champ à stocker dans l’enregistrement d’utilisation du logiciel.

    Les informations de colonne que vous devez transmettre dépendent de la valeur que vous spécifiez ( reclamation_type qui est un champ obligatoire) :

    Valeurs possibles reclamation_type et informations de colonne qui doivent être transmises :
    • total_usage :
      • configuration_item
      • last_used_time
      • month_used
      • norm_product
      • année
    • last_used_date :
      • configuration_item
      • norm_product

    La combinaison de ces champs identifie de manière unique un enregistrement. Si l’enregistrement est introuvable dans la table, un nouvel enregistrement avec les champs spécifiés est créé ; sinon, l’enregistrement existant est mis à jour.

    Type de données : tableau

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement 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.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Type de contenu Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    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.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    404 Introuvable. L’élément demandé est introuvable.
    405 Méthode non valide. La fonctionnalité est désactivée.
    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 la réponse (JSON ou XML)

    Nom Description
    Éléments Liste de paires nom-valeur de tous les champs de l’enregistrement d’utilisation de logiciel.

    Type de données : tableau (le contenu varie)

    Demande cURL

    L’exemple suivant illustre comment créer un nouvel enregistrement d’utilisation de logiciel.

    curl -X POST "https://instance.servicenow/api/now/sam_software_usage_integration/createOrUpdate" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "{'items': [\
      {
        'configuration_item':'eaa9604d3790200044e0bfc8bcbe5dc1',\
        'month_used':2,\
        'norm_product':'40209c060b3022002d6c650d37673a89',\
        'norm_publisher':'24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type':'total_usage',\
        'usage_count': 13,\
        'total_usage_time':13,\
        'year':2020
      }\
    ]}"

    {
      "result": {
        "reply": {
          "items": [
            {
              "configuration_item": "eaa9604d3790200044e0bfc8bcbe5dc1",
              "month_used": 2,
              "norm_product": "40209c060b3022002d6c650d37673a89",
              "norm_publisher": "24dcccc20b3022002d6c650d37673ab3",
              "reclamation_type": "total_usage",
              "usage_count": 13,
              "total_usage_time": 13,
              "year": 2020,
              "sysId": "13d15fe59d511010f8772c637e39afe5",
              "status": "INSERT"
            }
          ]
        },
        "message": "Ok"
      }
    }

    L’exemple suivant illustre comment mettre à jour plusieurs enregistrements d’utilisation de logiciel en un seul appel.

    curl -X POST "https://instance.servicenow/api/now/sam_software_usage_integration/createOrUpdate" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "{'items': [\
      {\
        'configuration_item': 'eaa9604d3790200044e0bfc8bcbe5dc1',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 13,\
        'total_usage_time': 13,\
        'year': 2020
      },
      {\
        'configuration_item': '0aa9e80d3790200044e0bfc8bcbe5da0',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 19,\
        'total_usage_time': 19,\
        'year': 2020
      },
      {\
        'configuration_item': 'a0a9a80d3790200044e0bfc8bcbe5d3c',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 7,\
        'total_usage_time': 7,\
        'year': 2020},
      {\
        'configuration_item': '48a9280d3790200044e0bfc8bcbe5d55',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 1,\
        'total_usage_time': 1,\
        'year': 2020},
      {\
        'configuration_item': '61a9680d3790200044e0bfc8bcbe5d11',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 18,\
        'total_usage_time': 18,\
        'year': 2020}
    ]}"

    {
      "result": {
        "reply": {
          "items": [
            {
              "configuration_item": "eaa9604d3790200044e0bfc8bcbe5dc1",
              "month_used": 2,
              "norm_product": "40209c060b3022002d6c650d37673a89",
              "norm_publisher": "24dcccc20b3022002d6c650d37673ab3",
              "reclamation_type": "total_usage",
              "usage_count": 13,
              "total_usage_time": 13,
              "year": 2020,
              "sysId": "13d15fe59d511010f8772c637e39afe5",
              "status": "INSERT"
            },
            {
              "configuration_item": "0aa9e80d3790200044e0bfc8bcbe5da0",
              "month_used": 2,
              "norm_product": "40209c060b3022002d6c650d37673a89",
              "norm_publisher": "24dcccc20b3022002d6c650d37673ab3",
              "reclamation_type": "total_usage",
              "usage_count": 19,
              "total_usage_time": 19,
              "year": 2020,
              "sysId": "2cd15fe59d521010f9772c637e39aff4",
              "status": "UPDATE"
            },
            {
              ...
            },
          ]
        },
        "message": "Ok"
      }
    }