API ouverte de Catalogue de services

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 41 minutes de lecture
  • L’API ouverte de Catalogue de services fournit des points de terminaison permettant de créer et de récupérer des spécifications de service.

    Utilisez cette API pour gérer les informations de catalogue de services entre les systèmes externes et le ServiceNow AI Platform. L’API ouverte de Catalogue de services est une ServiceNow® implémentation de la spécification REST de l’API de catalogue de services de TM Forum. Cette implémentation est basée sur la spécification REST de l’API de Catalogue de services TMF633, version 4, octobre 2020.

    Cette API est incluse dans l’application Product Catalog Advanced, disponible sur le ServiceNow Store.

    Les points de terminaison de cette API sont fournis dans l’espace de noms sn_tmf-API sous le nom de l’API Open Catalog de produits :

    L’utilisateur appelant doit avoir le rôle sn_prd_pm_adv.catalog_integrator.

    Cette API crée et met à jour les données dans les tables suivantes.
    • Caractéristique [sn_prd_pm_characteristic]
    • Option de la caractéristique [sn_prd_pm_characteristic_option]
    • Spécification de service [sn_prd_pm_service_specification]
    • Relation de spécification [sn_prd_pm_specification_relationship]

    Catalogue de services Ouvert : SUPPRIMER /api/sn_tmf_api/catalogmanagement/serviceCategory/{id}

    Supprime l’enregistrement de catégorie de service spécifié dans la table Catégorie de spécification [sn_prd_pm_specification_category].

    Format d'URL

    URL par défaut : /api/sn_tmf_api/catalogmanagement/serviceCategory/{id}

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    id Sys_id de la catégorie de service à supprimer.

    Table : Catégorie de service [sn_prd_pm_specification_category]

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Néant

    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.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format des données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 5. En-têtes de réponses
    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.

    Tableau 6. Codes d'état
    Code d'état Description
    204 Aucun contenu.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.

    Paramètres du corps de la réponse (JSON ou XML)

    Nom Description
    Néant

    Demande cURL

    L’exemple suivant supprime une catégorie de service avec l’ID a1b23456c7de8a90f0123456gh789ij. Renvoie un code d’état avec messagerie.

    curl "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/serviceCategory/a1b23456c7de8a90f0123456gh789ij" \
      --request DELETE \
      --header "Accept:application/json" \
      --user 'user:password'

    Catalogue de services ouvert : GET /api/sn_tmf_api/catalogmanagement/serviceCategory

    Récupère une liste de tous les enregistrements de catégorie de service dans la table Catégorie de service [sn_prd_pm_specification_category].

    Format d'URL

    URL par défaut : /api/sn_tmf_api/catalogmanagement/serviceCategory

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    Nom Description
    Néant
    Tableau 8. Paramètres de requête
    Nom Description
    Champs Liste des champs à renvoyer dans la réponse. Les champs non valides sont ignorés.
    Champs valides :
    • href
    • id
    • nom

    Type de données : chaîne

    Par défaut : renvoie tous les champs

    id Filtrer les catégories de services par sys_id spécifique(s).

    Table : Catégorie de service [service_category]

    Type de données : chaîne

    limite Nombre maximal d’enregistrements à renvoyer. Pour les demandes qui dépassent ce nombre d’enregistrements, utilisez le paramètre pour paginer la récupération de l’enregistrement offset .

    Type de données : nombre

    Par défaut : 20

    Maximum : 100

    décalage Index de départ sur lequel commencer à récupérer les enregistrements. Cette fonctionnalité permet de récupérer tous les enregistrements, quel que soit leur nombre, en petits blocs gérables. Utilisez cette valeur pour paginer la récupération de l’enregistrement. N’utilisez pas de valeur numérique négative.

    Type de données : nombre

    Par défaut : 0

    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Néant

    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.

    Tableau 10. En-têtes de demandes
    En-tête Description
    Accepter :application/json
    Tableau 11. En-têtes de réponses
    En-tête Description
    Plage de contenu Plage de contenu renvoyé dans un appel paginé. Par exemple, si offset=2 et limit=3, la valeur de l’en-tête Content-Range est les éléments 3-5.
    Type de contenu Format de données du corps de la réponse. Prend uniquement en charge application/json.
    un lien
    Contient les liens suivants pour parcourir les résultats de la requête :
    • premier
    • dernier
    • suivant
    • previous
    Nombre X-Total Pour les requêtes paginées, cet en-tête spécifie le nombre total d’enregistrements disponibles sur le serveur.

    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 12. Codes d'état
    Code d'état Description
    200 Demande traitée avec succès. Ressource complète renvoyée en réponse (aucune pagination).
    206 Ressource partielle renvoyée en réponse (avec pagination).
    400 Demande incorrecte.
    Raisons possibles :
    • Paramètre de chemin d’accès non valide
    • URI non valide
    404 Enregistrement introuvable. Aucun enregistrement correspondant aux paramètres de requête n’a été trouvé dans la table.

    Paramètres du corps de la réponse (JSON ou XML)

    Nom Description
    identificateur externe Identification des informations pour un système externe impliqué dans la gestion des catégories.

    Type de données : tableau d’objets

    "externalIdentifier": [
     {
      "id": "String",
      "owner": "String"
     }
    ]
    externalIdentifier.id Identificateur unique de la catégorie de service. Cette valeur est déterminée par un système externe.

    Type de données : chaîne

    Table : Catégorie de service [sn_prd_pm_specification_category], champ external_id

    externalIdentifier.owner Le système qui possède l’ID externe donné.

    Type de données : chaîne

    href Lien hypertexte permettant d’accéder à la catégorie de service.

    Type de données : chaîne

    id Sys_id de la catégorie de service.

    Table : Catégorie de service [sn_prd_pm_specification_category]

    Type de données : chaîne

    isRoot Marqueur indiquant si la catégorie est une racine de catégories.
    Valeurs valides :
    • vrai : la catégorie est une racine de catégories.
    • false : la catégorie n’est pas une racine de catégories.

    Type de données : booléennes

    modelCategory Liste des catégories de modèles associées à la catégorie de service.

    Type de données : tableau d’objets

    "modelCategory": [
     {
      "id": "String",
      "name": "String"
     }
    ]
    modelCategory.id Sys_id de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    modelCategory.name Nom de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    nom Nom de la catégorie de service.

    Type de données : chaîne

    Candidat de service Liste des références de candidats de service associées à cette catégorie.

    Type de données : tableau d’objets

    "serviceCandidate": [
     {
      "id": "String",
      "href": "String",
      "name": "String",
      "@referredType": "String",
      "version": "String" 
     }
    ]
    serviceCandidate.@referredType La valeur est toujours ServiceCategory.

    Type de données : chaîne

    serviceCandidate.href Lien hypertexte permettant d’accéder à la spécification de service.

    Type de données : chaîne

    serviceCandidate.id Sys_id de la spécification de service.

    Table : Spécification de service [sn_prd_pm_service_specification]

    Type de données : chaîne

    serviceCandidate.version Version du candidat de service.

    Type de données : chaîne

    Demande cURL

    L’exemple suivant appelle l’opération GET pour renvoyer une liste de tous les enregistrements de catégorie de service dans la table Catégorie de service [sn_prd_pm_specification_category].

    curl "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/serviceCategory" \
      --request GET \
      --header "Accept:application/json" \
      --user 'user:password'
    ``

    Corps de la réponse.

    {
      "id": "a1b23456c7de8a90f0123456gh789ij",
      "href": "api/sn_tmf_api/service_catalog_api/serviceCategory/a2a68216d9ce2a90f87718429ae503dd",
      "name": "Cloud Services",
      "serviceCandidate": [
        {
          "id": "14fbd5ead902ea90f87718429ae503f7",
          "href": "api/sn_tmf_api/catalogmanagement/serviceSpecification/14fbd5ead902ea90f87718429ae503f7",
          "version": "1",
          "name": "servicenow",
          "@referredType": "ServiceCategory"
        }
      ],
      "modelCategory": [
        {
          "id": "a1d5bc14c3031000b959fd251eba8f5f",
          "name": "Business Service"
        }
      ],
      "externalIdentifier": [
        {
          "id": "1234234312",
          "owner": "TMF200000123233"
        }
      ],
      "isRoot": "true"
    }

    Catalogue de services ouvert : GET /api/sn_tmf_api/catalogmanagement/serviceCategory/{id}

    Récupère un enregistrement de catégorie de service spécifique dans la table Catégorie de spécification [sn_prd_pm_specification_category].

    Format d'URL

    URL par défaut : /api/sn_tmf_api/catalogmanagement/serviceCategory

    Paramètres de demande pris en charge

    Tableau 13. Paramètres de chemin d'accès
    Nom Description
    id Sys_id de la catégorie de service à récupérer.

    Table : Catégorie de spécification [sn_prd_pm_specification_category]

    Type de données : chaîne

    Tableau 14. Paramètres de requête
    Nom Description
    Champs Liste des champs à renvoyer dans la réponse. Les champs non valides sont ignorés.
    Champs valides :
    • href
    • id
    • nom

    Type de données : chaîne

    Par défaut : renvoie tous les champs

    limite Nombre maximal d’enregistrements à renvoyer. Pour les demandes qui dépassent ce nombre d’enregistrements, utilisez le paramètre pour paginer la récupération de l’enregistrement offset .

    Type de données : nombre

    Par défaut : 20

    Maximum : 100

    décalage Index de départ sur lequel commencer à récupérer les enregistrements. Cette fonctionnalité permet de récupérer tous les enregistrements, quel que soit leur nombre, en petits blocs gérables. Utilisez cette valeur pour paginer la récupération de l’enregistrement. N’utilisez pas de valeur numérique négative.

    Type de données : nombre

    Par défaut : 0

    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Néant

    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.

    Tableau 16. En-têtes de demandes
    En-tête Description
    Accepter :application/json
    Tableau 17. En-têtes de réponses
    En-tête Description
    Plage de contenu Plage de contenu renvoyé dans un appel paginé. Par exemple, si offset=2 et limit=3, la valeur de l’en-tête Content-Range est les éléments 3-5.
    Type de contenu Format de données du corps de la réponse. Prend uniquement en charge application/json.
    un lien
    Contient les liens suivants pour parcourir les résultats de la requête :
    • premier
    • dernier
    • suivant
    • previous
    Nombre X-Total Pour les requêtes paginées, cet en-tête spécifie le nombre total d’enregistrements disponibles sur le serveur.

    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 18. Codes d'état
    Code d'état Description
    200 Demande traitée avec succès. Ressource complète renvoyée en réponse (aucune pagination).
    206 Ressource partielle renvoyée en réponse (avec pagination).
    400 Demande incorrecte.
    Raisons possibles :
    • Paramètre de chemin d’accès non valide
    • URI non valide
    404 Enregistrement introuvable. Aucun enregistrement correspondant aux paramètres de requête n’a été trouvé dans la table.

    Paramètres du corps de la réponse (JSON ou XML)

    Nom Description
    identificateur externe Identification des informations pour un système externe impliqué dans la gestion des catégories.

    Type de données : tableau d’objets

    "externalIdentifier": [
     {
      "id": "String",
      "owner": "String"
     }
    ]
    externalIdentifier.id Identificateur unique de la catégorie de service. Cette valeur est déterminée par un système externe.

    Type de données : chaîne

    Table : catégorie de spécification [sn_prd_pm_specification_category], champ : external_id

    externalIdentifier.owner Le système propriétaire de cet ID.

    Type de données : chaîne

    href Lien hypertexte permettant d’accéder à la catégorie de service.

    Type de données : chaîne

    id Sys_id de la catégorie de service.

    Table : Catégorie de spécification [sn_prd_pm_specification_category]

    Type de données : chaîne

    isRoot Marqueur indiquant si la catégorie est une racine de catégories.
    Valeurs valides :
    • vrai : la catégorie est une racine de catégories.
    • false : la catégorie n’est pas une racine de catégories.

    Type de données : booléen

    modelCategory Liste des catégories de modèles associées à la catégorie de service.

    Type de données : tableau d’objets

    "modelCategory": [
     {
      "id": "String",
      "name": "String"
     }
    ]
    modelCategory.id Sys_id de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    modelCategory.name Nom de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    nom Nom de la catégorie de service.

    Type de données : chaîne

    Candidat de service Liste des candidats de service associés à cette catégorie.

    Type de données : tableau d’objets

    "serviceCandidate": [
     {
      "id": "String",
      "href": "String",
      "name": "String",
      "@referredType": "String",
      "version": "String" 
     }
    ]
    serviceCandidate.@referredType Type référé du candidat de service. La valeur est toujours ServiceCategory.

    Type de données : chaîne

    serviceCandidate.href Lien hypertexte permettant d’accéder à la spécification de service.

    Type de données : chaîne

    serviceCandidate.id Sys_id de la spécification de service.

    Table : Spécification de service [sn_prd_pm_service_specification]

    Type de données : chaîne

    serviceCandidate.version Version du candidat de service.

    Type de données : chaîne

    Demande cURL

    L’exemple suivant appelle l’opération GET pour retourner un enregistrement de catégorie de service spécifique en fonction d’un ID donné, a2a68216d9ce2a90f87718429ae503dd.

    curl "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/serviceCategory/a1b23456c7de8a90f0123456gh789ij" \
      --request GET \
      --header "Accept:application/json" \
      --user 'user:password'

    Corps de la réponse.

    {
      "id": "a2a68216d9ce2a90f87718429ae503dd",
      "href": "api/sn_tmf_api/service_catalog_api/serviceCategory/a1b23456c7de8a90f0123456gh789ij",
      "name": "Cloud Services",
      "serviceCandidate": [
        {
          "id": "a1b23456c7de8a90f0123456gh789ij",
          "href": "api/sn_tmf_api/catalogmanagement/serviceSpecification/a1b23456c7de8a90f0123456gh789ij",
          "version": "1",
          "name": "servicenow",
         

    Catalogue de services ouvert : GET /servicespecification

    Récupère une liste de toutes les spécifications de service.

    Format d'URL

    URL par défaut : /api/sn_prd_pm_adv/catalogmanagement/servicespecification

    Paramètres de demande pris en charge

    Tableau 19. Paramètres de chemin d'accès
    Nom Description
    Néant
    Tableau 20. Paramètres de requête
    Nom Description
    Champs Liste des champs à renvoyer dans la réponse. Les champs non valides sont ignorés. Si ce paramètre n’est pas utilisé, tous les champs sont renvoyés.

    Type de données : chaîne

    limite Nombre maximal d’enregistrements à renvoyer. Pour les demandes qui dépassent ce nombre d’enregistrements, utilisez le paramètre pour paginer la récupération de l’enregistrement offset .

    Type de données : nombre

    Par défaut : 20

    Maximum : 100

    décalage Index de départ sur lequel commencer à récupérer les enregistrements. Utilisez cette valeur pour paginer la récupération de l’enregistrement. Cette fonctionnalité permet de récupérer tous les enregistrements, quel que soit leur nombre, en petits blocs gérables.

    Type de données : nombre

    Par défaut : 0

    État Filtrer les spécifications de service par état. Seules les spécifications dont l’état correspond à la valeur de ce paramètre sont renvoyées dans la réponse.

    Type de données : chaîne

    Tableau 21. Paramètres du corps de la demande (JSON)
    Nom Description
    Néant

    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.

    Tableau 22. En-têtes de demandes
    En-tête Description
    Néant
    Tableau 23. En-têtes de réponses
    En-tête Description
    Plage de contenu Plage de contenu renvoyé dans un appel paginé.

    Par exemple, si offset=2 and limit=3, la valeur de l’en-tête Content-Range est les éléments 3 à 5.

    Type de contenu Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Nombre X-Total Pour les requêtes paginées, cet en-tête spécifie le nombre total d’enregistrements disponibles sur le serveur.

    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 24. Codes d'état
    Code d'état Description
    200 Demande traitée avec succès. Ressource complète renvoyée en réponse (aucune pagination).
    206 Ressource partielle renvoyée en réponse (avec pagination).
    400
    Demande incorrecte. Raisons possibles :
    • Paramètre de chemin d’accès non valide
    • URI non valide
    404 Enregistrement introuvable. Aucun enregistrement correspondant aux paramètres de requête n’a été trouvé dans la table.

    Paramètres de corps de réponse (JSON)

    Nom Description
    @type Type de spécification.

    Type de données : chaîne

    description Description de la spécification.

    Type de données : chaîne

    externalId ID externe de la spécification du service.

    Type de données : chaîne

    Table : dans le champ external_id de la table Spécification de service [sn_prd_pm_service_specification].

    Système externe Système externe de la spécification de service, joint au TMF633.

    Par exemple, si le système externe est ABC, saisissez la valeur externalSystemABC-TMF633.

    Type de données : chaîne

    Système externe Plateforme tierce ou non native qui interagit avec le catalogue de services. La valeur est toujours accompagnée de TMF633. Par exemple, si le système externe est ABC , la valeur de la source externe doit être ABC-TMF633.

    Type de données : chaîne

    id Version initiale ou ID externe de la spécification de service.

    Type de données : chaîne

    Table : dans le champ initial_version ou external_id de la table Spécifications de service [sn_prd_pm_service_specification].

    internalId Version initiale de la spécification de service.

    Type de données : chaîne

    Table : dans le champ initial_version de la table Spécification de service [sn_prd_pm_service_specification].

    Version interne Version de la spécification de service.

    Type de données : chaîne

    Table : dans le champ Version de la table Spécification de service [sn_prd_pm_service_specification].

    lastUpdate Date de dernière mise à jour de la spécification.

    Type de données : chaîne

    nom Nom de la spécification.

    Type de données : chaîne

    Spécification de ressource Spécifications de ressource pour cette spécification de service.

    Type de données : tableau d’objets

    "resourceSpecification": [
      {
        "id": "String",
        "internalId": "String",
        "internalVersion": "String",
        "name": "String",
        "version": "String"
      }
    ]
    resourceSpecification.id Le initial_version ou le external_id de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.internalId L’initial_version de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.internalVersion L’external_version de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.name Nom de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.version Version de la spécification de ressource.

    Type de données : chaîne

    serviceSpecificationRelationship les relations de cette spécification avec d’autres spécifications de service.

    Type de données : tableau d’objets

    "serviceSpecificationRelationship": [
      {
        "id": "String",
        "internalId": "String",
        "internalVersion": "String",
        "relationshipType": "String",
        "validFor": {Object},
        "version": "String"
      }
    ]
    serviceSpecificationRelationship.id L’initial_version ou le external_id de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.internalId L’initial_version de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.internalVersion Version de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.relationshipType Type de relation.

    Type de données : chaîne

    serviceSpecificationRelationship.validFor Plage de dates pour laquelle la relation est valide.

    Type de données : objet

    "validFor": {
       "endDateTime": "String",
       "startDateTime": "String"
    }
    serviceSpecificationRelationship.validFor.endDateTime Date de fin de la relation.

    Type de données : chaîne

    serviceSpecificationRelationship.validFor.startDateTime Date de début de la relation.

    Type de données : chaîne

    serviceSpecificationRelationship.version L’external_version de la spécification connexe.

    Type de données : chaîne

    specCharacteristic Caractéristique de spécification.

    Type de données : tableau d’objets

    "specCharacteristic": [
      {
        "characteristicValueSpecification": [Array],
        "description": "String",
        "name": "String",
        "validFor": {Object},
        "valueType": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification Liste des valeurs possibles de la caractéristique.

    Type de données : tableau d’objets

    "characteristicValueSpecification": [
      {
        "value": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification.value Valeur de la caractéristique.

    Type de données : chaîne

    specCharacteristic.description Description de la caractéristique.

    Type de données : chaîne

    specCharacteristic.name Nom de la caractéristique.

    Type de données : chaîne

    specCharacteristic.validFor Plage de dates pour laquelle la caractéristique est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    specCharacteristic.validFor.endDateTime Date de fin de la caractéristique.

    Type de données : chaîne

    specCharacteristic.validFor.startDateTime Date de début de la caractéristique.

    Type de données : chaîne

    specCharacteristic.valueType Type de valeur de la caractéristique, tel que choix ou e-mail. Peut être une caractéristique simple ou complexe.
    Valeurs possibles :
    • Date, adresse
    • Entier,Date/Heure
    • Array.Integer
    • Tableau.Test sur ligne unique
    • Texte sur ligne unique
    • Tableau.Obect
    • Array.Date
    • Array.Decimal
    • Oui/Non
    • Objet
    • Array.Datetime
    • Case à cocher
    • E-mail
    • Choix

    Type de données : chaîne

    valide pour Plage de dates pour laquelle la spécification est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    validFor.endDateTime Date de fin de la spécification.

    Type de données : chaîne

    validFor.startDateTime Date de début de la spécification.

    Type de données : chaîne

    version Version externe de la spécification de service.

    Type de données : chaîne

    Table : dans le champ external_version de la table Spécifications de service [sn_prd_pm_service_specification].

    Demande cURL

    Cet exemple récupère toutes les spécifications de service.

    curl --location --request GET "https://instance.servicenow.com/api/sn_prd_pm_adv/catalogmanagement/servicespecification" \
    --user 'username':'password'
    

    Corps de la réponse.

    [
       {
          "id": "16d79ec3532520103b6bddeeff7b12a6",
          "name": "SD WAN Optimization Service",
           "externalSystem": "Salesforce - TMF633",
          "description": "SD WAN Optimization Service",
          "lastUpdate": "2022-01-23 22:48:55",
          "validFor": {
             "startDateTime": "2022-01-12",
             "endDateTime": "2027-02-11"
          },
          "serviceSpecificationRelationship": [
             {
                "id": "a1f5fe981bb420106ba59acf034bcb4f",
                "name": "Deduplication and Compression",
                "version": "1",
                "type": "rfs",
                "validFor": {
                   "startDateTime": "2021-02-11",
                   "endDateTime": "2027-02-11"
                }
             }
          ],
          "resourceSpecification": [],
          "serviceSpecCharacteristic": [
             {
                "name": "SSL Optimization",
                "description": "SSL Optimization",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2022-01-14 07:47:57"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "False",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "True",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ]
             },
             {
                "name": "CIFS Optimization",
                "description": "CIFS Optimization Protocol",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2022-01-14 07:49:09"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "SMB1",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "SMB2",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ]
             }
          ]
          "externalSource": "ABC-TMF633"
       },
       {
          "id": "31c5caff07266010a7955b7e0ad3006b",
          "name": "Firewall Administration",
          "description": "Firewall Administration",
          "lastUpdate": "2022-01-23 11:46:48",
          "validFor": {
             "startDateTime": "2021-11-22",
             "endDateTime": ""
          },
          "serviceSpecificationRelationship": [],
          "resourceSpecification": [
             {
                "id": "3546463307666010a7955b7e0ad3005d",
                "name": "Cisco Firewall Management system",
                "version": "1"
             }
          ],
          "serviceSpecCharacteristic": [
             {
                "name": "Firewall Administration CPE Model",
                "description": "Firewall Administration CPE Model",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2022-02-20 00:55:37"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "2100 series",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "4100 series",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "7300 series",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "9300 series",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ]
        "externalSource": "ABC-TMF633"
             },
             {
                "name": "Firewall Administration CPE Type",
                "description": "Firewall Administration CPE Type",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2022-02-20 00:53:45"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Physical",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Virtual",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ]
             },
             {
                "name": "Configuration and Policy backup",
                "description": "Configuration and Policy backup",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2022-01-21 10:46:02"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Weekly",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Monthly",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Daily",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ]
             },
             {
                "name": "Remote CLI troubleshoot support",
                "description": "Remote CLI troubleshoot support",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2022-01-21 10:45:38"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Standard support",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Premium support",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Basic support",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ]
             },
             {
                "name": "Firewall Administration CPE ID",
                "description": "Firewall Administration CPE ID",
                "valueType": "single_line_text",
                "validFor": {
                   "startDatetime": "2022-02-20 00:57:50"
                },
                "productSpecCharacteristicValue": []
             }
          ]
       }
    ]

    Catalogue de services ouvert : GET /servicespecification/{specificationId}

    Récupère une spécification de service.

    Format d'URL

    URL par défaut : /api/sn_prd_pm_adv/catalogmanagement/servicespecification/{specificationId}

    Paramètres de demande pris en charge

    Tableau 25. Paramètres de chemin d'accès
    Nom Description
    Id de spécification Sys_id de la spécification de service à récupérer.

    Type de données : chaîne

    Table : Spécification de service [sn_prd_pm_service_specification]

    Tableau 26. Paramètres de requête
    Nom Description
    Champs Liste des champs à renvoyer dans la réponse. Les champs non valides sont ignorés. Si ce paramètre n’est pas utilisé, tous les champs sont renvoyés.

    Type de données : chaîne

    État Filtrer les spécifications de service par état. Seules les spécifications dont l’état correspond à la valeur de ce paramètre sont renvoyées dans la réponse.

    Type de données : chaîne

    Tableau 27. Paramètres du corps de la demande (JSON)
    Nom Description
    Néant

    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.

    Tableau 28. En-têtes de demandes
    En-tête Description
    Néant
    Tableau 29. En-têtes de réponses
    En-tête Description
    Type de contenu Format de données du corps de la réponse. Prend uniquement en charge application/json.

    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 30. Codes d'état
    Code d'état Description
    200 Demande traitée avec succès.
    400
    Demande incorrecte. Peut être l’une des raisons suivantes :
    • Paramètre de chemin d’accès non valide
    • URI non valide
    404 Enregistrement introuvable. L’enregistrement associé à l’ID est introuvable dans la table.

    Paramètres de corps de réponse (JSON)

    Nom Description
    @type Type de spécification.

    Type de données : chaîne

    description Description de la spécification.

    Type de données : chaîne

    externalId ID externe de la spécification du service.

    Type de données : chaîne

    Table : dans le champ external_id de la table Spécification de service [sn_prd_pm_service_specification].

    Système externe Système externe de la spécification de service, joint au TMF633.

    Par exemple, si le système externe est ABC, saisissez la valeur externalSystemABC-TMF633.

    Type de données : chaîne

    Système externe Plateforme tierce ou non native qui interagit avec le catalogue de services. La valeur est toujours accompagnée de TMF633. Par exemple, si le système externe est ABC , la valeur de la source externe doit être ABC-TMF633.

    Type de données : chaîne

    id Version initiale ou ID externe de la spécification de service.

    Type de données : chaîne

    Table : dans le champ initial_version ou external_id de la table Spécifications de service [sn_prd_pm_service_specification].

    internalId Version initiale de la spécification de service.

    Type de données : chaîne

    Table : dans le champ initial_version de la table Spécification de service [sn_prd_pm_service_specification].

    Version interne Version de la spécification de service.

    Type de données : chaîne

    Table : dans le champ Version de la table Spécification de service [sn_prd_pm_service_specification].

    lastUpdate Date de dernière mise à jour de la spécification.

    Type de données : chaîne

    nom Nom de la spécification.

    Type de données : chaîne

    Spécification de ressource Spécifications de ressource pour cette spécification de service.

    Type de données : tableau d’objets

    "resourceSpecification": [
      {
        "id": "String",
        "internalId": "String",
        "internalVersion": "String",
        "name": "String",
        "version": "String"
      }
    ]
    resourceSpecification.id Le initial_version ou le external_id de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.internalId L’initial_version de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.internalVersion L’external_version de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.name Nom de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.version Version de la spécification de ressource.

    Type de données : chaîne

    serviceSpecificationRelationship les relations de cette spécification avec d’autres spécifications de service.

    Type de données : tableau d’objets

    "serviceSpecificationRelationship": [
      {
        "id": "String",
        "internalId": "String",
        "internalVersion": "String",
        "relationshipType": "String",
        "validFor": {Object},
        "version": "String"
      }
    ]
    serviceSpecificationRelationship.id L’initial_version ou le external_id de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.internalId L’initial_version de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.internalVersion Version de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.relationshipType Type de relation.

    Type de données : chaîne

    serviceSpecificationRelationship.validFor Plage de dates pour laquelle la relation est valide.

    Type de données : objet

    "validFor": {
       "endDateTime": "String",
       "startDateTime": "String"
    }
    serviceSpecificationRelationship.validFor.endDateTime Date de fin de la relation.

    Type de données : chaîne

    serviceSpecificationRelationship.validFor.startDateTime Date de début de la relation.

    Type de données : chaîne

    serviceSpecificationRelationship.version L’external_version de la spécification connexe.

    Type de données : chaîne

    specCharacteristic Caractéristique de spécification.

    Type de données : tableau d’objets

    "specCharacteristic": [
      {
        "characteristicValueSpecification": [Array],
        "description": "String",
        "name": "String",
        "validFor": {Object},
        "valueType": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification Liste des valeurs possibles de la caractéristique.

    Type de données : tableau d’objets

    "characteristicValueSpecification": [
      {
        "value": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification.value Valeur de la caractéristique.

    Type de données : chaîne

    specCharacteristic.description Description de la caractéristique.

    Type de données : chaîne

    specCharacteristic.name Nom de la caractéristique.

    Type de données : chaîne

    specCharacteristic.validFor Plage de dates pour laquelle la caractéristique est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    specCharacteristic.validFor.endDateTime Date de fin de la caractéristique.

    Type de données : chaîne

    specCharacteristic.validFor.startDateTime Date de début de la caractéristique.

    Type de données : chaîne

    specCharacteristic.valueType Type de valeur de la caractéristique, tel que choix ou e-mail. Peut être une caractéristique simple ou complexe.
    Valeurs possibles :
    • Date, adresse
    • Entier,Date/Heure
    • Array.Integer
    • Tableau.Test sur ligne unique
    • Texte sur ligne unique
    • Tableau.Obect
    • Array.Date
    • Array.Decimal
    • Oui/Non
    • Objet
    • Array.Datetime
    • Case à cocher
    • E-mail
    • Choix

    Type de données : chaîne

    valide pour Plage de dates pour laquelle la spécification est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    validFor.endDateTime Date de fin de la spécification.

    Type de données : chaîne

    validFor.startDateTime Date de début de la spécification.

    Type de données : chaîne

    version Version externe de la spécification de service.

    Type de données : chaîne

    Table : dans le champ external_version de la table Spécifications de service [sn_prd_pm_service_specification].

    Demande cURL

    Cet exemple récupère une spécification de service pour un service de pare-feu.

    curl --location --request GET "https://instance.servicenow.com/api/sn_prd_pm_adv/catalogmanagement/servicespecification/31c5caff07266010a7955b7e0ad3006b" \
    --user 'username':'password'

    Corps de la réponse.

    
    {
       "id": "31c5caff07266010a7955b7e0ad3006b",
       "name": "Firewall Administration",
       "description": "Firewall Administration",
       "externalSystem": "Salesforce - TMF633",
       "lastUpdate": "2022-01-23 11:46:48",
       "validFor": {
          "startDateTime": "2021-11-22",
          "endDateTime": ""
       },
       "serviceSpecificationRelationship": [],
       "resourceSpecification": [
          {
             "id": "3546463307666010a7955b7e0ad3005d",
             "name": "Cisco Firewall Management system",
             "version": "1"
          }
       ],
       "serviceSpecCharacteristic": [
          {
             "name": "Firewall Administration CPE Model",
             "description": "Firewall Administration CPE Model",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2022-02-20 00:55:37"
             },
             "productSpecCharacteristicValue": [
                { "value": "2100 series", "validFor": { "startDateTime": "" } },
                { "value": "4100 series", "validFor": { "startDateTime": "" } },
                { "value": "7300 series", "validFor": { "startDateTime": "" } },
                { "value": "9300 series", "validFor": { "startDateTime": "" } }
             ]
          },
          {
             "name": "Firewall Administration CPE Type",
             "description": "Firewall Administration CPE Type",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2022-02-20 00:53:45"
             },
             "productSpecCharacteristicValue": [
                { "value": "Physical", "validFor": { "startDateTime": "" } },
                { "value": "Virtual", "validFor": { "startDateTime": "" } }
             ]
          },
          {
             "name": "Configuration and Policy backup",
             "description": "Configuration and Policy backup",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2022-01-21 10:46:02"
             },
             "productSpecCharacteristicValue": [
                { "value": "Weekly", "validFor": { "startDateTime": "" } },
                { "value": "Monthly", "validFor": { "startDateTime": "" } },
                { "value": "Daily", "validFor": { "startDateTime": "" } }
             ]
          },
          {
             "name": "Remote CLI troubleshoot support",
             "description": "Remote CLI troubleshoot support",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2022-01-21 10:45:38"
             },
             "productSpecCharacteristicValue": [
                { "value": "Standard support", "validFor": { "startDateTime": "" } },
                { "value": "Premium support", "validFor": { "startDateTime": "" } },
                { "value": "Basic support", "validFor": { "startDateTime": "" } }
             ]
          },
          {
             "name": "Firewall Administration CPE ID",
             "description": "Firewall Administration CPE ID",
             "valueType": "single_line_text",
             "validFor": {
                "startDatetime": "2022-02-20 00:57:50"
             },
             "productSpecCharacteristicValue": []
          }
       ],
       "externalSource": "ABC-TMF633"
    }

    Catégorie de service ouverte : PATCH /api/sn_tmf_api/catalogmanagement/serviceCategory/{id}

    Met à jour un enregistrement spécifié dans la table Catégorie de spécification [sn_prd_pm_specification_category].

    Format d'URL

    URL par défaut : /api/sn_tmf_api/catalogmanagement/serviceCategory/ {id}

    Paramètres de demande pris en charge

    Tableau 31. Paramètres de chemin d'accès
    Nom Description
    id Sys_id de la table des catégories de services.

    Table : Catégorie de spécification [sn_prd_pm_specification_category]

    Type de données : chaîne

    Tableau 32. Paramètres de requête
    Nom Description
    Néant
    Tableau 33. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    identificateur externe Identification des informations pour un système externe impliqué dans la gestion des catégories.

    Type de données : tableau d’objets

    "externalIdentifier": [
     {
      "id": "String",
      "owner": "String"
     }
    ]
    externalIdentifier.id Identificateur unique de la catégorie de service. Cette valeur est déterminée par un système externe.

    Table : catégorie de spécification [sn_prd_pm_specification_category], champ : external_id

    Type de données : chaîne

    externalIdentifier.owner Le système propriétaire de cet ID.

    Type de données : chaîne

    href Lien hypertexte permettant d’accéder à la catégorie de service.

    Type de données : chaîne

    id Sys_id de la catégorie de service.

    Table : Catégorie de spécification [sn_prd_pm_specification_category]

    Type de données : chaîne

    isRoot Marqueur indiquant si la catégorie est une racine de catégories.
    Valeurs valides :
    • vrai : la catégorie est une racine de catégories.
    • false : la catégorie n’est pas une racine de catégories.

    Type de données : booléennes

    modelCategory Liste des catégories de modèles associées à la catégorie de service.

    Type de données : tableau d’objets

    "modelCategory": [
     {
      "id": "String",
      "name": "String"
     }
    ]
    modelCategory.id Sys_id de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    modelCategory.name Nom de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    nom Nom de la catégorie de service.

    Type de données : chaîne

    Candidat de service Liste des candidats de service associés à cette catégorie.

    Type de données : tableau d’objets

    "serviceCandidate": [
     {
      "@referredType": "String",
      "href": "String",
      "id": "String",
      "name": "String",
      "version": "String" 
     }
    ]
    serviceCandidate.@referredType La valeur est toujours ServiceCategory.

    Type de données : chaîne

    serviceCandidate.href Lien hypertexte permettant d’accéder à la spécification de service.

    Type de données : chaîne

    serviceCandidate.id Sys_id de la spécification de service.

    Table : Spécification de service [sn_prd_pm_service_specification]

    Type de données : chaîne

    serviceCandidate.version Version du candidat de service.

    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.

    Tableau 34. 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

    Tableau 35. En-têtes de réponses
    En-tête Description
    Néant

    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.

    Tableau 36. En-têtes de demandes
    En-tête Description
    Accepter Format des données du corps de la demande. Prend uniquement en charge application/json.
    Type de contenu Format des données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 37. En-têtes de réponses
    En-tête Description
    Type de contenu Format de données du corps de la réponse. Prend uniquement en charge application/json.

    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 38. Codes d'état
    Code d'état Description
    201 Réussi. La demande a été traitée avec succès.
    400 Demande incorrecte.
    Un type de demande incorrect ou une demande mal formée a été détecté pour une ou plusieurs des raisons suivantes :
    • Charge utile vide.
    • Charge utile non valide.
    • Champ obligatoire manquant.

    Paramètres du corps de la réponse (JSON ou XML)

    Nom Description
    identificateur externe Identification des informations pour un système externe impliqué dans la gestion des catégories.

    Type de données : tableau d’objets

    "externalIdentifier": [
     {
      "id": "String",
      "owner": "String"
     }
    ]
    externalIdentifier.id Identificateur unique de la catégorie de service. Cette valeur est déterminée par un système externe.

    Type de données : chaîne

    Table : catégorie de spécification [sn_prd_pm_specification_category], champ : external_id

    externalIdentifier.owner Le système propriétaire de cet ID.

    Type de données : chaîne

    href Lien hypertexte permettant d’accéder à la catégorie de service.

    Type de données : chaîne

    id Sys_id de la catégorie de service.

    Table : Catégorie de spécification [sn_prd_pm_specification_category]

    Type de données : chaîne

    isRoot Marqueur indiquant si la catégorie est une racine de catégories.
    Valeurs valides :
    • vrai : la catégorie est une racine de catégories.
    • false : la catégorie n’est pas une racine de catégories.

    Type de données : booléen

    modelCategory Liste des catégories de modèles associées à la catégorie de service.

    Type de données : tableau d’objets

    "modelCategory": [
     {
      "id": "String",
      "name": "String"
     }
    ]
    modelCategory.id Sys_id de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    modelCategory.name Nom de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    nom Nom de la catégorie de service.

    Type de données : chaîne

    Candidat de service Liste des candidats de service associés à cette catégorie.

    Type de données : tableau d’objets

    "serviceCandidate": [
     {
      "@referredType": "String",
      "href": "String",
      "id": "String",
      "name": "String",
      "version": "String" 
     }
    ]
    serviceCandidate.@referredType La valeur est toujours ServiceCategory.

    Type de données : chaîne

    serviceCandidate.href Lien hypertexte permettant d’accéder à la spécification de service.

    Type de données : chaîne

    serviceCandidate.id Sys_id de la spécification de service.

    Table : Spécification de service [sn_prd_pm_service_specification]

    Type de données : chaîne

    serviceCandidate.version Version du candidat de service.

    Type de données : chaîne

    Demande cURL

    L’exemple suivant met à jour le nom, la version, le candidat de service, la catégorie de modèle et les informations d’identificateur externe de la catégorie de service.

    curl "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/serviceCategory/a1b23456c7de8a90f0123456gh789ij" \
      --request PATCH \
      --header "Accept:application/json" \
      --header "Content-Type:application/json" \
      --data '{
        "name": "Cloud Services",
        "version": "1.0",
        "serviceCandidate": [
          {
            "id": "a1b23456c7de8a90f0123456gh789ij",
            "href": "https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v4/serviceCategory/5980",
            "version": "3.2",
            "name": "Cloud Services",
            "@referredType": "ServiceCategory"
          }
        ],
        "modelCategory": [
          {
            "id": "b2d5bc14c3031000b959fd251eba8f96",
            "name": "model"
          }
        ],
        "externalIdentifier": {
          "id": "1234234312",
          "owner": "TMF200000123233"
        },
        "isRoot": true
      }' \
      --user 'user:password

    Corps de la réponse.

    {
      "name": "Cloud Services",
      "version": "1.0",
      "serviceCandidate": [
        {
          "id": "a1b23456c7de8a90f0123456gh789ij",
          "href": "https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v4/serviceCategory/5980",
          "version": "3.2",
          "name": "Cloud Services",
          "@referredType": "ServiceCategory"
        }
      ],
      "modelCategory": [
        {
          "id": "b2d5bc14c3031000b959fd251eba8f96",
          "name": "model"
        }
      ],
      "externalIdentifier": {
        "id": "1234234312",
        "owner": "TMF200000123233"
      },
      "isRoot": true,
      "id": "8138241b1caaaa10f87703c075c809fe",
      "href": "api/sn_tmf_api/catalogmanagement/serviceCategory/8138241b1caaaa10f87703c075c809fe"
    }

    Catalogue de services ouvert : POST /api/sn_tmf_api/catalogmanagement/serviceCategory

    Crée un nouvel enregistrement de catégorie de service dans la table Catégorie de spécification [sn_prd_pm_specification_category].

    Format d'URL

    URL par défaut : /api/sn_tmf_api/catalogmanagement/serviceCategory

    Paramètres de demande pris en charge

    Tableau 39. Paramètres de chemin d'accès
    Nom Description
    Néant
    Tableau 40. Paramètres de requête
    Nom Description
    Néant
    Tableau 41. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    identificateur externe Identification des informations pour un système externe impliqué dans la gestion des catégories.

    Type de données : tableau d’objets

    "externalIdentifier": [
     {
      "id": "String",
      "owner": "String"
     }
    ]
    externalIdentifier.id Identificateur unique de la catégorie de service. Cette valeur est déterminée par un système externe.

    Table : catégorie de spécification [sn_prd_pm_specification_category], champ : external_id

    Type de données : chaîne

    externalIdentifier.owner Le système propriétaire de cet ID.

    Type de données : chaîne

    href Lien hypertexte permettant d’accéder à la catégorie de service.

    Type de données : chaîne

    id Sys_id de la catégorie de service.

    Table : Catégorie de spécification [sn_prd_pm_specification_category]

    Type de données : chaîne

    isRoot Marqueur indiquant si la catégorie est une racine de catégories.
    Valeurs valides :
    • vrai : la catégorie est une racine de catégories.
    • false : la catégorie n’est pas une racine de catégories.

    Type de données : booléennes

    modelCategory Liste des catégories de modèles associées à la catégorie de service.

    Type de données : tableau d’objets

    "modelCategory": [
     {
      "id": "String",
      "name": "String"
     }
    ]
    modelCategory.id Sys_id de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    modelCategory.name Nom de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    nom Nom de la catégorie de service.

    Type de données : chaîne

    Candidat de service Liste des candidats de service associés à cette catégorie.

    Type de données : tableau d’objets

    "serviceCandidate": [
     {
      "id": "String",
      "href": "String",
      "name": "String",
      "@referredType": "String",
      "version": "String" 
     }
    ]
    serviceCandidate.@referredType La valeur est toujours ServiceCategory.

    Type de données : chaîne

    serviceCandidate.href Lien hypertexte permettant d’accéder à la spécification de service.

    Type de données : chaîne

    serviceCandidate.id Sys_id de la spécification de service.

    Table : Spécification de service [sn_prd_pm_service_specification]

    Type de données : chaîne

    serviceCandidate.version Version du candidat de service.

    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.

    Tableau 42. En-têtes de demandes
    En-tête Description
    Accepter Format des données du corps de la demande. Prend uniquement en charge application/json.
    Type de contenu Format des données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 43. En-têtes de réponses
    En-tête Description
    Type de contenu Format de données du corps de la réponse. Prend uniquement en charge application/json.

    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 44. Codes d'état
    Code d'état Description
    201 Réussi. La demande a été traitée avec succès.
    400 Demande incorrecte.
    Un type de demande incorrect ou une demande mal formée a été détecté pour une ou plusieurs des raisons suivantes :
    • Charge utile vide.
    • Charge utile non valide.
    • Champ obligatoire manquant.

    Paramètres du corps de la réponse (JSON ou XML)

    Nom Description
    identificateur externe Identification des informations pour un système externe impliqué dans la gestion des catégories.

    Type de données : tableau d’objets

    "externalIdentifier": [
     {
      "id": "String",
      "owner": "String"
     }
    ]
    externalIdentifier.id Identificateur unique de la catégorie de service. Cette valeur est déterminée par un système externe.

    Type de données : chaîne

    Table : catégorie de spécification [sn_prd_pm_specification_category], champ : external_id

    externalIdentifier.owner Le système propriétaire de cet ID.

    Type de données : chaîne

    href Lien hypertexte permettant d’accéder à la catégorie de service.

    Type de données : chaîne

    id Sys_id de la catégorie de service.

    Table : Catégorie de spécification [sn_prd_pm_specification_category]

    Type de données : chaîne

    isRoot Marqueur indiquant si la catégorie est une racine de catégories.
    Valeurs valides :
    • vrai : la catégorie est une racine de catégories.
    • false : la catégorie n’est pas une racine de catégories.

    Type de données : booléen

    modelCategory Liste des catégories de modèles associées à la catégorie de service.

    Type de données : tableau d’objets

    "modelCategory": [
     {
      "id": "String",
      "name": "String"
     }
    ]
    modelCategory.id Sys_id de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    modelCategory.name Nom de la catégorie de modèle.

    Tableau : Catégorie de modèle [cmdb_model_category]

    Type de données : chaîne

    nom Nom de la catégorie de service.

    Type de données : chaîne

    Candidat de service Liste des candidats de service associés à cette catégorie.

    Type de données : tableau d’objets

    "serviceCandidate": [
     {
      "id": "String",
      "href": "String",
      "name": "String",
      "@referredType": "String",
      "version": "String" 
     }
    ]
    serviceCandidate.@referredType La valeur est toujours ServiceCategory.

    Type de données : chaîne

    serviceCandidate.href Lien hypertexte permettant d’accéder à la spécification de service.

    Type de données : chaîne

    serviceCandidate.id Sys_id de la spécification de service.

    Table : Spécification de service [sn_prd_pm_service_specification]

    Type de données : chaîne

    serviceCandidate.version Version du candidat de service.

    Type de données : chaîne

    Demande cURL

    L’exemple suivant appelle POST pour créer un nouvel enregistrement de catégorie de service en fonction des détails fournis dans le corps de la demande.

    curl "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/serviceCategory" \
      --request POST \
      --header "Accept:application/json" \
      --header "Content-Type:application/json" \
      --user 'user:password' \
      --data '{
        "name": "Cloud Services",
        "version": "1.0",
        "serviceCandidate": [
          {
            "id": "a1b23456c7de8a90f0123456gh789ij",
            "href": "https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v4/serviceCategory/5980",
            "version": "3.2",
            "name": "Cloud Services",
            "@referredType": "ServiceCategory"
          }
        ],
        "modelCategory": [
          {
            "id": "b2d5bc14c3031000b959fd251eba8f96",
            "name": "model"
          }
        ],
        "externalIdentifier": {
          "id": "1234234312",
          "owner": "TMF200000123233"
        },
        "isRoot": true
      }'

    Corps de la réponse.

    {
      "name": "Cloud Services",
      "version": "1.0",
      "serviceCandidate": [
        {
          "id": "a1b23456c7de8a90f0123456gh789ij",
          "href": "https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v4/serviceCategory/5980",
          "version": "3.2",
          "name": "Cloud Services",
          "@referredType": "ServiceCategory"
        }
      ],
      "modelCategory": [
        {
          "id": "b2d5bc14c3031000b959fd251eba8f96",
          "name": "model"
        }
      ],
      "externalIdentifier": {
        "id": "1234234312",
        "owner": "TMF200000123233"
      },
      "isRoot": true,
      "id": "8138241b1caaaa10f87703c075c809fe",
      "href": "api/sn_tmf_api/service_catalog_api/serviceCategory/8138241b1caaaa10f87703c075c809fe"
    }

    Catalogue de services Ouvert : POST /servicespecification

    Crée une spécification de service.

    Format d'URL

    URL par défaut : /api/sn_prd_pm_adv/catalogmanagement/servicespecification

    Paramètres de demande pris en charge

    Tableau 45. Paramètres de chemin d'accès
    Nom Description
    Néant
    Tableau 46. Paramètres de requête
    Nom Description
    Néant
    Tableau 47. Paramètres du corps de la demande (JSON)
    Nom Description
    description Requis. Description de la spécification.

    Type de données : chaîne

    externalId ID externe de la spécification du service.

    Si les deux externalId et id sont fournis, ils doivent faire référence à la même spécification.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    Table : Spécification de service [sn_prd_pm_service_specification]

    Système externe Plateforme tierce ou non native qui interagit avec le catalogue de services. La valeur est toujours accompagnée de TMF633.

    Par exemple, si le système externe est ABC , la valeur de la source externe doit être ABC-TMF633.

    Type de données : chaîne

    id L’initial_version ou le external_id de la spécification de service. Si id elle n’est pas fournie, ce point de terminaison crée une nouvelle spécification avec version=1. Si id elle est fournie, ce point de terminaison crée une nouvelle version de la spécification donnée.

    Si les deux externalId et id sont fournis, ils doivent faire référence à la même spécification.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    Version interne Version de la spécification de service.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    Table : Spécification de service [sn_prd_pm_service_specification]

    lastUpdate Date de dernière mise à jour de la spécification.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    nom Requis. Nom de la spécification.

    Type de données : chaîne

    Spécification de ressource Requis. Spécifications de ressource pour cette spécification de service.

    Type de données : tableau d’objets

    "resourceSpecification": [
      {
        "id": "String",
        "internalVersion": "String",
        "name": "String",
        "version": "String"
      }
    ]
    resourceSpecification.id Requis. Le initial_version ou le external_id de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.internalVersion L’external_version de la spécification de ressource.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    resourceSpecification.name Nom de la spécification de ressource.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    resourceSpecification.version Version de la spécification de ressource.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    serviceSpecificationRelationship Détails des relations de la spécification avec d’autres spécifications de service.

    Type de données : tableau d’objets

    "serviceSpecificationRelationship": [
      {
        "id": "String",
        "internalVersion": "String",
        "relationshipType": "String",
        "validFor": {Object},
        "version": "String"
      }
    ]
    serviceSpecificationRelationship.id Requis si le serviceSpecificationRelationship paramètre est utilisé. Initial_version ou external_id de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.internalVersion Version de la spécification connexe.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    serviceSpecificationRelationship.relationshipType Requis si le serviceSpecificationRelationship paramètre est utilisé. Type de relation.
    Valeurs valides :
    • Offres groupées
    • composed_of

    Type de données : chaîne

    serviceSpecificationRelationship.validFor Plage de dates pour laquelle la relation est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    serviceSpecificationRelationship.validFor.endDateTime Date de fin de la relation.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    serviceSpecificationRelationship.validFor.startDateTime Date de début de la relation.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    serviceSpecificationRelationship.version L’external_version de la spécification connexe.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    specCharacteristic Caractéristique de spécification.

    Type de données : tableau d’objets

    "specCharacteristic": [
      {
        "characteristicValueSpecification": [Array],
        "description": "String",
        "name": "String",
        "validFor": {Object},
        "valueType": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification Requis. Valeurs possibles de la caractéristique.

    Type de données : tableau d’objets

    "characteristicValueSpecification": [
      {
        "value": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification.value Requis. Valeur de la caractéristique.

    Type de données : chaîne

    specCharacteristic.description Description de la caractéristique.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    specCharacteristic.name Requis. Nom de la caractéristique.

    Type de données : chaîne

    specCharacteristic.validFor Plage de dates pour laquelle la caractéristique est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    specCharacteristic.validFor.endDateTime Date de fin de la caractéristique.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    specCharacteristic.validFor.startDateTime Date de début de la caractéristique.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    specCharacteristic.valueType Type de valeur de la caractéristique, tel que choix ou e-mail. Peut être une caractéristique simple ou complexe.
    Valeurs possibles :
    • Date, adresse
    • Entier,Date/Heure
    • Array.Integer
    • Tableau.Test sur ligne unique
    • Texte sur ligne unique
    • Tableau.Obect
    • Array.Date
    • Array.Decimal
    • Oui/Non
    • Objet
    • Array.Datetime
    • Case à cocher
    • E-mail
    • Choix

    Type de données : chaîne

    valide pour Requis. Plage de dates pour laquelle la spécification est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    validFor.endDateTime Date de fin de la spécification.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    validFor.startDateTime Date de début de la spécification.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    version Version externe de la spécification de service.

    La version doit être unique pour la chaîne de versions donnée.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    Table : dans le champ external_version de la table Spécifications de service [sn_prd_pm_service_specification].

    @type Requis. Type de spécification.
    Valeurs valides :
    • CustomerTouchingServiceSpecification
    • ResourceFacingServiceSpecification

    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.

    Tableau 48. En-têtes de demandes
    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.
    Tableau 49. En-têtes de réponses
    En-tête Description
    Type de contenu Format de données du corps de la réponse. Prend uniquement en charge application/json.

    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 50. Codes d'état
    Code d'état Description
    201 Demande traitée avec succès.
    400 Demande incorrecte. Peut être l’une des raisons suivantes :
    • Charge utile vide.
    • Charge utile non valide. Champ obligatoire manquant : <nom de champ>

    Paramètres de corps de réponse (JSON)

    Nom Description
    @type Type de spécification.

    Type de données : chaîne

    description Description de la spécification.

    Type de données : chaîne

    externalId ID externe de la spécification du service.

    Type de données : chaîne

    Table : dans le champ external_id de la table Spécification de service [sn_prd_pm_service_specification].

    Système externe Système externe de la spécification de service, joint au TMF633.

    Par exemple, si le système externe est ABC, saisissez la valeur externalSystemABC-TMF633.

    Type de données : chaîne

    Système externe Plateforme tierce ou non native qui interagit avec le catalogue de services. La valeur est toujours accompagnée de TMF633. Par exemple, si le système externe est ABC , la valeur de la source externe doit être ABC-TMF633.

    Type de données : chaîne

    id Version initiale ou ID externe de la spécification de service.

    Type de données : chaîne

    Table : dans le champ initial_version ou external_id de la table Spécifications de service [sn_prd_pm_service_specification].

    internalId Version initiale de la spécification de service.

    Type de données : chaîne

    Table : dans le champ initial_version de la table Spécification de service [sn_prd_pm_service_specification].

    Version interne Version de la spécification de service.

    Type de données : chaîne

    Table : dans le champ Version de la table Spécification de service [sn_prd_pm_service_specification].

    lastUpdate Date de dernière mise à jour de la spécification.

    Type de données : chaîne

    nom Nom de la spécification.

    Type de données : chaîne

    Spécification de ressource Spécifications de ressource pour cette spécification de service.

    Type de données : tableau d’objets

    "resourceSpecification": [
      {
        "id": "String",
        "internalId": "String",
        "internalVersion": "String",
        "name": "String",
        "version": "String"
      }
    ]
    resourceSpecification.id Le initial_version ou le external_id de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.internalId L’initial_version de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.internalVersion L’external_version de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.name Nom de la spécification de ressource.

    Type de données : chaîne

    resourceSpecification.version Version de la spécification de ressource.

    Type de données : chaîne

    serviceSpecificationRelationship les relations de cette spécification avec d’autres spécifications de service.

    Type de données : tableau d’objets

    "serviceSpecificationRelationship": [
      {
        "id": "String",
        "internalId": "String",
        "internalVersion": "String",
        "relationshipType": "String",
        "validFor": {Object},
        "version": "String"
      }
    ]
    serviceSpecificationRelationship.id L’initial_version ou le external_id de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.internalId L’initial_version de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.internalVersion Version de la spécification connexe.

    Type de données : chaîne

    serviceSpecificationRelationship.relationshipType Type de relation.

    Type de données : chaîne

    serviceSpecificationRelationship.validFor Plage de dates pour laquelle la relation est valide.

    Type de données : objet

    "validFor": {
       "endDateTime": "String",
       "startDateTime": "String"
    }
    serviceSpecificationRelationship.validFor.endDateTime Date de fin de la relation.

    Type de données : chaîne

    serviceSpecificationRelationship.validFor.startDateTime Date de début de la relation.

    Type de données : chaîne

    serviceSpecificationRelationship.version L’external_version de la spécification connexe.

    Type de données : chaîne

    specCharacteristic Caractéristique de spécification.

    Type de données : tableau d’objets

    "specCharacteristic": [
      {
        "characteristicValueSpecification": [Array],
        "description": "String",
        "name": "String",
        "validFor": {Object},
        "valueType": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification Liste des valeurs possibles de la caractéristique.

    Type de données : tableau d’objets

    "characteristicValueSpecification": [
      {
        "value": "String"
      }
    ]
    specCharacteristic.characteristicValueSpecification.value Valeur de la caractéristique.

    Type de données : chaîne

    specCharacteristic.description Description de la caractéristique.

    Type de données : chaîne

    specCharacteristic.name Nom de la caractéristique.

    Type de données : chaîne

    specCharacteristic.validFor Plage de dates pour laquelle la caractéristique est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    specCharacteristic.validFor.endDateTime Date de fin de la caractéristique.

    Type de données : chaîne

    specCharacteristic.validFor.startDateTime Date de début de la caractéristique.

    Type de données : chaîne

    specCharacteristic.valueType Type de valeur de la caractéristique, tel que choix ou e-mail. Peut être une caractéristique simple ou complexe.
    Valeurs possibles :
    • Date, adresse
    • Entier,Date/Heure
    • Array.Integer
    • Tableau.Test sur ligne unique
    • Texte sur ligne unique
    • Tableau.Obect
    • Array.Date
    • Array.Decimal
    • Oui/Non
    • Objet
    • Array.Datetime
    • Case à cocher
    • E-mail
    • Choix

    Type de données : chaîne

    valide pour Plage de dates pour laquelle la spécification est valide.

    Type de données : objet

    "validFor": {
      "endDateTime": "String",
      "startDateTime": "String"
    }
    validFor.endDateTime Date de fin de la spécification.

    Type de données : chaîne

    validFor.startDateTime Date de début de la spécification.

    Type de données : chaîne

    version Version externe de la spécification de service.

    Type de données : chaîne

    Table : dans le champ external_version de la table Spécifications de service [sn_prd_pm_service_specification].

    Demande cURL

    Cet exemple crée une spécification de service pour un service de pare-feu.

    curl "https://instance.servicenow.com/api/sn_prd_pm_adv/catalogmanagement/servicespecification" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"externalId\": \"7655\",
       \"name\": \"Firewall Service\",
       \"description\": \"This service specification describes a firewall service that can be deployed in customer-premises equipment.\",
       \"validFor\": {
          \"startDateTime\": \"2017-08-23T00:00\",
          \"endDateTime\": \"2021-03-25T00:00\"
       },
       \"lastUpdate\": \"2020-08-15T00:00\",
       \"externalSource\": \"ABC-TMF633\",
       \"resourceSpecification\": [
          {
             \"id\": \"af66e551c32f10105252716b7d40dd52\",
             \"name\": \"Firewall\"
          }
       ],
       \"specCharacteristic\": [
          {
             \"name\": \"Edge\",
             \"description\": \"This characteristic describes the operating system run by the service\",
             \"valueType\": \"choice\",
             \"validFor\": {
                \"startDateTime\": \"2017-08-12T00:00\",
                \"endDateTime\": \"2021-03-07T00:00\"
             },
             \"characteristicValueSpecification\": [
                {
                   \"value\": \"Android KitKat\"
                }
             ]
          }
       ],
       \"serviceSpecRelationship\": [
          {
             \"relationshipType\": \"composed_of\",
             \"id\": \"65033023ebdb30107ee5302698522849\",
             \"validFor\": {
                \"startDateTime\": \"2017-08-25T00:00\",
                \"endDateTime\": \"2021-03-25T00:00\"
             }
          }
       ],
       \"@type\": \"ResourceFacingServiceSpecification\"
    }" \
    --user 'username':'password'

    Corps de la réponse.

    {
       "id": "21a7ee64c32310105253716b8d40dd60",
       "name": "Firewall Service",
       "description": "This service specification describes a firewall service that can be deployed in customer-premises equipment.",
       "validFor": {
          "startDateTime": "2017-08-23T00:00",
          "endDateTime": "2021-03-25T00:00"
       },
       "lastUpdate": "2020-08-15T00:00",
       "externalSource": "ABC-TMF633",
       "resourceSpecification": [
          {
             "id": "af66e551c32f10105252716b7d40dd52",
             "name": "Firewall"
          }
       ],
       "specCharacteristic": [
          {
             "name": "Edge",
             "description": "This characteristic describes the operating system run by the service",
             "valueType": "choice",
             "validFor": {
                "startDateTime": "2017-08-12T00:00",
                "endDateTime": "2021-03-07T00:00"
             },
             "characteristicValueSpecification": [
                {
                   "value": "Android KitKat"
                }
             ]
          }
       ],
       "serviceSpecRelationship": [
          {
             "relationshipType": "composed_of",
             "id": "65033023ebdb30107ee5302698522849",
             "validFor": {
                "startDateTime": "2017-08-25T00:00",
                "endDateTime": "2021-03-25T00:00"
             }
          }
       ],
       "@type": "ResourceFacingServiceSpecification"
    }