API Gestion des devis

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 43 minutes de lecture
  • L’API Gestion des devis fournit des points de terminaison pour créer, mettre à jour et récupérer les données de devis des clients.

    L’API ouverte de gestion des devis est une ServiceNow implémentation de la spécification REST de l’API TM Forum Quote Management. Cette implémentation est basée sur https://www.tmforum.org/resources/standard/tmf648-quote-management-api-rest-specification-r19-0-0/.

    Cette API peut être étendue pour effectuer des personnalisations autour des paramètres requis, de la validation du corps de la demande, d’opérations REST supplémentaires et de mappages de champs.

    L’API Gestion des devis nécessite le module d’extension Gestion des devis (com.sn_quote_mgmt) et le rôle quote_integrator. Cette API appartient à l’espace de noms sn_tmf_api. Consultez Quote Management.

    L’API Gestion des devis crée ou met à jour des données dans les tables suivantes :
    • Citation [sn_quote_mgmt_core_quote]
    • Contrat de vente [sn_sales_agmt_core_sales_agreement]
    • Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]
    • Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]
    • Ajustement du prix du devis [sn_quote_mgmt_core_pricing_adjustment]

    API Gestion des devis : DELETE /sn_tmf_api/quote_management_api/quote/{id}

    Supprime le devis indiqué.

    Format d'URL

    URL versionnée : /api/sn_tmf_api/{api_version}/quote_management_api/quote/{id}

    URL par défaut : /api/sn_tmf_api/quote_management_api/quote/{id}

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    id Sys_id du devis à supprimer.

    Type de données : chaîne

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Tableau 2. Paramètres de requête
    Nom Description
    Aucun
    Tableau 3. Paramètres du corps de la demande (JSON)
    Nom Description
    Aucun

    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. Prend uniquement en charge 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
    204 Réussi. La demande s’est terminée avec succès et le devis spécifié a été supprimé. Aucun contenu.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.

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

    En-tête Description
    Aucun

    Demande cURL

    Cet exemple montre comment supprimer un devis.

    curl "http://instance.servicenow.com/api/sn_tmf_api/quote_management_api/quote/cb15734fd5692a10f8774663edf0ac19" \ 
    --request DELETE\ 
    --header "Accept:application/json" \ 
    --user 'username':'password'

    API de gestion des devis : GET /sn_tmf_api/quote_management_api/quote

    Récupère tous les devis.

    Cette API récupère les informations de devis à partir des tables connexes suivantes :
    • Citation [sn_quote_mgmt_core_quote]
    • Contrat de vente [sn_sales_agmt_core_sales_agreement]
    • Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]
    • Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]
    • Ajustement du prix du devis [sn_quote_mgmt_core_pricing_adjustment]

    Format d'URL

    URL versionnée : /api/sn_tmf_api/{api_version}/quote_management_api/quote

    URL par défaut : /api/sn_tmf_api/quote_management_api/quote

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    Nom Description
    Aucun
    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 :
    • numéro de devis
    • href
    • id
    • description
    • externalId
    • expectedQuoteCompletionDate
    • version
    • @type

    Type de données : chaîne

    Par défaut : tous les champs renvoyés.

    id Filtrer les résultats par sys_id de devis.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    Par défaut : vide

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

    Type de données : nombre

    Par défaut : 20

    Maximum : 100

    décalage Index de début auquel commencer à récupérer les enregistrements. Utilisez cette valeur pour paginer la récupération des enregistrements. Cette fonctionnalité permet de récupérer tous les enregistrements, quel que soit le nombre d'enregistrements, par petits blocs gérables.

    Type de données : nombre

    Par défaut : 0

    Tableau 9. Paramètres du corps de la demande (JSON)
    Nom Description
    Aucun

    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 10. En-têtes de demandes
    En-tête Description
    Aucun
    Tableau 11. En-têtes de réponses
    En-tête Description
    Plage de contenu Plage de contenu renvoyé lors d’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.
    X-Total-Count 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 retourné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
    contactMedium Liste des médiums de contact. Coordonnées relatives au demandeur de devis.
    "contactMedium": [
     {
      "city": "String",
      "country": "String",
      "locationId": "String",
      "mediumType": "String",
      "postCode": "String",
      "stateOrProvince": "String",
      "street": "String",
      "@type": "String"
     }
    ]
    contactMedium.city Ville de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.country Pays dans lequel réside le demandeur d’estimation.

    Type de données : chaîne

    contactMedium.locationId Sys_id de l’emplacement indiqué dans la table Emplacement [cmn_location] ou de l’adresse personnalisée.

    Type de données : chaîne

    contactMedium.mediumType Type de support de contact, tel que l’adresse e-mail, le numéro de téléphone ou l’adresse postale.

    Type de données : chaîne

    contactMedium.postCode Code postal du demandeur de devis.

    Type de données : chaîne

    contactMedium.stateOrProvince État ou province de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.street Nom de la rue du demandeur de devis.

    Type de données : chaîne

    contactMedium.@type Type de support selon la norme TMF Open API. Par exemple, GeographicalAddressContactMedium.

    Type de données : chaîne

    description Description de l’estimation.

    Type de données : chaîne

    expectedQuoteCompletionDate Date prévue à partir du fournisseur de devis pour pouvoir renvoyer une réponse pour cette estimation.

    Type de données : chaîne

    externalId ID unique fourni par le consommateur pour le devis.

    Type de données : chaîne

    href Lien relatif permettant d’accéder au devis.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    id Sys_id du devis demandé.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    remarque Liste des notes associées à la citation.

    Type de données : tableau

    "note": [
      {
        "author": "String",
        "date": "String",
        "text": "String",
        "@type": "String"
     }
    ]
    note.auteur Nom d’utilisateur de la personne qui a rédigé la note associée.

    Type de données : chaîne

    note.date Date de création de la note.

    Type de données : chaîne

    note.text Contenu de la note.

    Type de données : chaîne

    note.@type Cette valeur est toujours Remarque.

    Type de données : chaîne

    date de citation Date et heure auxquelles le devis a été créé.

    Type de données : chaîne

    élément de devis Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "quoteItem": [
     {
      "action": "String",
      "id": "String",
      "product": {Object},
      "productOffering": {Object},
      "quantity": Number,
      "state": "String",
      "@type": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.action Action à effectuer sur cet élément de devis (ajouter, modifier, supprimer, etc.).

    Type de données : chaîne

    quoteItem.id Sys_id de l’élément de devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    quoteItem.product Liste des produits inclus dans le devis.
    "product": {
      "characteristic": "String",
      "specification": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem.product. caractéristique Liste des caractéristiques du produit.

    Type de données : tableau d’objets

    "characteristic": [
      {
        "id": "String",
        "name": "String",
        "@type": "String",
        "value": "String"
      }
    ]
    Consultez Create product characteristics and characteristic options.
    quoteItem.product. characteristic.id Sys_id de la caractéristique du produit.

    Table : Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]

    Type de données : chaîne

    quoteItem.product. characteristic.name Nom de la caractéristique du produit.

    Type de données : chaîne

    quoteItem.product. characteristic.@type Cette valeur est toujours StringCharacteristic.

    Type de données : chaîne

    quoteItem.product. characteristic.value Valeur de la caractéristique.

    Type de données : chaîne

    quoteItem.product. spécification Description détaillée d’un objet tangible ou immatériel mis à la disposition de l’extérieur sous la forme d’une Offre de produits aux clients ou à d’autres parties jouant un rôle de partie.

    Type de données : chaîne

    quoteItem.product.@type Cette valeur est toujours Produit.

    Type de données : chaîne

    quoteItem.productOffering Référence d’offre de produit (ProductOfferingRef). Une offre de produit représente les entités qui peuvent être commandées auprès du fournisseur du catalogue.
    "productOffering": {
      "href": "String",
      "name": "String",
      "name": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem. offreproduit.href Référence de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.id Sys_id de l’offre de produits.

    Table : Offre de produits [sn_prd_pm_product_offering]

    Type de données : chaîne

    quoteItem. productOffering.name Nom de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    quoteItem.quantity Quantité demandée pour cet élément de devis.

    Type de données : nombre

    quoteItem.state Un type d’état de devis (QuoteStateType). État de l’estimation.

    Type de données : chaîne

    quoteItem.@type Cette valeur est toujours QuoteItem.

    Type de données : chaîne

    numéro de devis Numéro d’enregistrement d’élément de ligne de devis affecté au devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    Fête connexe Liste des contacts de la commande.

    Type de données : tableau d’objets

    "relatedParty": [
      {
        "id": "String",
        "name": "String",
        "@referredType": "String",
        "role": "String",
        "@type": "String"
      }
    ]
    relatedParty.id Sys_id de la table de devis pour obtenir le compte, le contact ou le client.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    relatedParty.name Nom du compte, du client ou du consommateur.

    Type de données : chaîne

    relatedParty.@referredType Type de client.
    Valeurs possibles :
    • Consommateur
    • Client
    • Contact client

    Type de données : chaîne

    relatedParty.role Le rôle de la partie dans le contexte de l’estimation (par exemple, compte, contact ou client).

    Type de données : chaîne

    relatedParty.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    requestedQuoteCompletionDate Date/heure (DateTime). Cette valeur représente la date spécifiée par le demandeur de devis pour laquelle il doit recevoir une réponse complète pour cette estimation.

    Type de données : chaîne

    État État de l’élément de devis.

    Type de données : chaîne

    @type Type de ressource. Cette valeur est toujours Devis. Ces informations ne sont pas stockées.

    Type de données : chaîne

    Demande cURL

    Cet exemple récupère toutes les estimations.

    curl "https://instance.service-now.com/api/sn_tmf_api/quote_management_api/quote" \
    --request GET \
    --header "Accept:application/json" \
    --user 'userName':'password'

    Corps de la réponse.

    {
      "id": "47e562bad565a610f8774663edf0ac10",
      "quoteNumber": "QT0001001",
      "href": "api/sn_tmf_api/quote_management_api/quote/47e562bad565a610f8774663edf0ac10",
      "@type": "Quote",
      "description": "Testing Quote",
      "expectedQuoteCompletionDate": "2025-05-23 11:12:08",
      "externalId": "Test_1234",
      "quoteDate": "2025-05-20 11:11:13",
      "requestedQuoteCompletionDate": "2025-05-23 11:12:08",
      "version": "3",
      "agreement": [],
      "contactMedium": [
        {
          "@type": "GeographicalAddressContactMedium",
          "mediumType": "ShippingAddressRef",
          "locationId": "6774fee611383110f877366201dea64f",
          "city": "Santa Clara",
          "country": "USA",
          "postCode": "94560",
          "stateOrProvince": "CA",
          "street": "222 Star St"
        }
      ],
      "note": [],
      "quoteItem": [
        {
          "id": "8be562bad565a610f8774663edf0ac16",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product",
            "productCharacteristic": [
              {
                "id": "0fe562bad565a610f8774663edf0ac17",
                "name": "Voice Pack",
                "value": "1500 Minutes/Month"
              },
              {
                "id": "4be562bad565a610f8774663edf0ac17",
                "name": "SMS Pack",
                "value": "700 /Month"
              },
              {
                "id": "83e562bad565a610f8774663edf0ac18",
                "name": "Data Pack",
                "value": "20 GB/Month"
              },
              {
                "id": "87e562bad565a610f8774663edf0ac17",
                "name": "Mobile Number",
                "value": ""
              },
              {
                "id": "cfe562bad565a610f8774663edf0ac17",
                "name": "Shipping Address",
                "value": ""
              }
            ],
            "productSpecification": {
              "id": "3ee1fdb1c3331010d216b5183c40dd81",
              "href": "api/sn_tmf_api/catalogmanagement/productSpecification/3ee1fdb1c3331010d216b5183c40dd81",
              "name": "Mobile Plan",
              "@type": "ProductSpecificationRef"
            }
          },
          "productOffering": {
            "id": "2cb5588fc30020105252716b7d40dddd",
            "href": "api/sn_tmf_api/catalogmanagement/productOffering/2cb5588fc30020105252716b7d40dddd",
            "name": "All in one mobile plan starting from $49/month",
            "@type": "ProductOfferingRef"
          },
          "quoteItemPrice": [
            {
              "description": "Standard Price List",
              "name": "Standard Price List",
              "priceType": "Recurring",
              "recurringChargePeriod": "",
              "unitOfMeasure": "",
              "unitMarginPercentage": "",
              "price": {
                "totalOneTimePrice": {
                  "unit": "USD",
                  "value": 0
                },
                "monthlyRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "annualRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "cumulativeRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "cumulativeAnnualRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "cumulativeNetPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "unitMarginAmount": {
                  "unit": "USD",
                  "value": 0
                },
                "unitMarginBasePrice": {
                  "unit": "USD",
                  "value": 0
                },
                "listPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "unitCost": {
                  "unit": "USD",
                  "value": 0
                },
                "unitPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "dutyFreeAmount": {
                  "unit": "USD",
                  "value": 0
                },
                "taxIncludedAmount": {
                  "unit": "USD",
                  "value": 0
                }
              },
              "priceAlteration": []
            }
          ]
        }
      ],
      "relatedParty": [
        {
          "role": "Customer",
          "id": "9e2fd2ee11b43110f877366201dea674",
          "name": "Startech svcs",
          "@type": "RelatedPartyRef",
          "@referredType": "Organization"
        },
        {
          "role": "CustomerContact",
          "id": "dca96eaa11f43110f877366201dea6c1",
          "name": "Alex Star",
          "@type": "RelatedPartyRef",
          "@referredType": "Individual"
        }
      ],
      "state": "Draft"
    }

    API de gestion des devis : GET /sn_tmf_api/quote_management_api/quote/{id}

    Récupère une estimation spécifiée.

    Cette API récupère les informations de devis à partir des tables connexes suivantes :
    • Citation [sn_quote_mgmt_core_quote]
    • Contrat de vente [sn_sales_agmt_core_sales_agreement]
    • Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]
    • Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]
    • Ajustement du prix du devis [sn_quote_mgmt_core_pricing_adjustment]

    Format d'URL

    URL versionnée : /api/sn_tmf_api/{api_version}/quote_management_api/quote/{id}

    URL par défaut : /api/sn_tmf_api/quote_management_api/quote/{id}

    Paramètres de demande pris en charge

    Tableau 13. Paramètres de chemin d'accès
    Nom Description
    id Sys_id du devis à récupérer.

    Type de données : chaîne

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Tableau 14. Paramètres de requête
    Nom Description
    Aucun
    Tableau 15. Paramètres du corps de la demande (JSON)
    Nom Description
    Aucun

    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 16. En-têtes de demandes
    En-tête Description
    Aucun
    Tableau 17. 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 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 retourné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
    contactMedium Liste des médiums de contact. Coordonnées relatives au demandeur de devis.
    "contactMedium": [
     {
      "city": "String",
      "country": "String",
      "locationId": "String",
      "mediumType": "String",
      "postCode": "String",
      "stateOrProvince": "String",
      "street": "String",
      "@type": "String"
     }
    ]
    contactMedium.city Ville de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.country Pays dans lequel réside le demandeur d’estimation.

    Type de données : chaîne

    contactMedium.locationId Sys_id de l’emplacement indiqué dans la table Emplacement [cmn_location] ou de l’adresse personnalisée.

    Type de données : chaîne

    contactMedium.mediumType Type de support de contact, tel que l’adresse e-mail, le numéro de téléphone ou l’adresse postale.

    Type de données : chaîne

    contactMedium.postCode Code postal du demandeur de devis.

    Type de données : chaîne

    contactMedium.stateOrProvince État ou province de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.street Nom de la rue du demandeur de devis.

    Type de données : chaîne

    contactMedium.@type Type de support selon la norme TMF Open API. Par exemple, GeographicalAddressContactMedium.

    Type de données : chaîne

    description Description de l’estimation.

    Type de données : chaîne

    expectedQuoteCompletionDate Date prévue à partir du fournisseur de devis pour pouvoir renvoyer une réponse pour cette estimation.

    Type de données : chaîne

    externalId ID unique fourni par le consommateur pour le devis.

    Type de données : chaîne

    href Lien relatif permettant d’accéder au devis.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    id Sys_id du devis demandé.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    remarque Liste des notes associées à la citation.

    Type de données : tableau

    "note": [
      {
        "author": "String",
        "date": "String",
        "text": "String",
        "@type": "String"
     }
    ]
    note.auteur Nom d’utilisateur de la personne qui a rédigé la note associée.

    Type de données : chaîne

    note.date Date de création de la note.

    Type de données : chaîne

    note.text Contenu de la note.

    Type de données : chaîne

    note.@type Cette valeur est toujours Remarque.

    Type de données : chaîne

    date de citation Date et heure auxquelles le devis a été créé.

    Type de données : chaîne

    élément de devis Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "quoteItem": [
     {
      "action": "String",
      "id": "String",
      "product": {Object},
      "productOffering": {Object},
      "quantity": Number,
      "state": "String",
      "@type": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.action Action à effectuer sur cet élément de devis (ajouter, modifier, supprimer, etc.).

    Type de données : chaîne

    quoteItem.id Sys_id de l’élément de devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    quoteItem.product Liste des produits inclus dans le devis.
    "product": {
      "characteristic": "String",
      "specification": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem.product. caractéristique Liste des caractéristiques du produit.

    Type de données : tableau d’objets

    "characteristic": [
      {
        "id": "String",
        "name": "String",
        "@type": "String",
        "value": "String"
      }
    ]
    Consultez Create product characteristics and characteristic options.
    quoteItem.product. characteristic.id Sys_id de la caractéristique du produit.

    Table : Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]

    Type de données : chaîne

    quoteItem.product. characteristic.name Nom de la caractéristique du produit.

    Type de données : chaîne

    quoteItem.product. characteristic.@type Cette valeur est toujours StringCharacteristic.

    Type de données : chaîne

    quoteItem.product. characteristic.value Valeur de la caractéristique.

    Type de données : chaîne

    quoteItem.product. spécification Description détaillée d’un objet tangible ou immatériel mis à la disposition de l’extérieur sous la forme d’une Offre de produits aux clients ou à d’autres parties jouant un rôle de partie.

    Type de données : chaîne

    quoteItem.product.@type Cette valeur est toujours Produit.

    Type de données : chaîne

    quoteItem.productOffering Référence d’offre de produit (ProductOfferingRef). Une offre de produit représente les entités qui peuvent être commandées auprès du fournisseur du catalogue.
    "productOffering": {
      "href": "String",
      "name": "String",
      "name": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem. offreproduit.href Référence de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.id Sys_id de l’offre de produits.

    Table : Offre de produits [sn_prd_pm_product_offering]

    Type de données : chaîne

    quoteItem. productOffering.name Nom de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    quoteItem.quantity Quantité demandée pour cet élément de devis.

    Type de données : nombre

    quoteItem.state Un type d’état de devis (QuoteStateType). État de l’estimation.

    Type de données : chaîne

    quoteItem.@type Cette valeur est toujours QuoteItem.

    Type de données : chaîne

    numéro de devis Numéro d’enregistrement d’élément de ligne de devis affecté au devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    Fête connexe Liste des contacts de la commande.

    Type de données : tableau d’objets

    "relatedParty": [
      {
        "id": "String",
        "name": "String",
        "@referredType": "String",
        "role": "String",
        "@type": "String"
      }
    ]
    relatedParty.id Sys_id de la table de devis pour obtenir le compte, le contact ou le client.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    relatedParty.name Nom du compte, du client ou du consommateur.

    Type de données : chaîne

    relatedParty.@referredType Type de client.
    Valeurs possibles :
    • Consommateur
    • Client
    • Contact client

    Type de données : chaîne

    relatedParty.role Le rôle de la partie dans le contexte de l’estimation (par exemple, compte, contact ou client).

    Type de données : chaîne

    relatedParty.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    requestedQuoteCompletionDate Date/heure (DateTime). Cette valeur représente la date spécifiée par le demandeur de devis pour laquelle il doit recevoir une réponse complète pour cette estimation.

    Type de données : chaîne

    État État de l’élément de devis.

    Type de données : chaîne

    @type Type de ressource. Cette valeur est toujours Devis. Ces informations ne sont pas stockées.

    Type de données : chaîne

    Demande cURL

    L’exemple suivant récupère une estimation spécifiée.

    curl "https://instance.service-now.com/api/sn_tmf_api/quote_management_api/quote/04ba9004f11f3110f8777d7194f166f6" \
    --request GET \
    --header "Accept:application/json" \
    --user 'userName':'password'

    Corps de la réponse.

    {
      "id": "47e562bad565a610f8774663edf0ac10",
      "quoteNumber": "QT0001001",
      "href": "api/sn_tmf_api/quote_management_api/quote/47e562bad565a610f8774663edf0ac10",
      "@type": "Quote",
      "description": "Testing Quote",
      "expectedQuoteCompletionDate": "2025-05-23 11:12:08",
      "externalId": "Test_1234",
      "quoteDate": "2025-05-20 11:11:13",
      "requestedQuoteCompletionDate": "2025-05-23 11:12:08",
      "version": "3",
      "agreement": [],
      "contactMedium": [
        {
          "@type": "GeographicalAddressContactMedium",
          "mediumType": "ShippingAddressRef",
          "locationId": "6774fee611383110f877366201dea64f",
          "city": "Santa Clara",
          "country": "USA",
          "postCode": "94560",
          "stateOrProvince": "CA",
          "street": "222 Star St"
        }
      ],
      "note": [],
      "quoteItem": [
        {
          "id": "8be562bad565a610f8774663edf0ac16",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product",
            "productCharacteristic": [
              {
                "id": "0fe562bad565a610f8774663edf0ac17",
                "name": "Voice Pack",
                "value": "1500 Minutes/Month"
              },
              {
                "id": "4be562bad565a610f8774663edf0ac17",
                "name": "SMS Pack",
                "value": "700 /Month"
              },
              {
                "id": "83e562bad565a610f8774663edf0ac18",
                "name": "Data Pack",
                "value": "20 GB/Month"
              },
              {
                "id": "87e562bad565a610f8774663edf0ac17",
                "name": "Mobile Number",
                "value": ""
              },
              {
                "id": "cfe562bad565a610f8774663edf0ac17",
                "name": "Shipping Address",
                "value": ""
              }
            ],
            "productSpecification": {
              "id": "3ee1fdb1c3331010d216b5183c40dd81",
              "href": "api/sn_tmf_api/catalogmanagement/productSpecification/3ee1fdb1c3331010d216b5183c40dd81",
              "name": "Mobile Plan",
              "@type": "ProductSpecificationRef"
            }
          },
          "productOffering": {
            "id": "2cb5588fc30020105252716b7d40dddd",
            "href": "api/sn_tmf_api/catalogmanagement/productOffering/2cb5588fc30020105252716b7d40dddd",
            "name": "All in one mobile plan starting from $49/month",
            "@type": "ProductOfferingRef"
          },
          "quoteItemPrice": [
            {
              "description": "Standard Price List",
              "name": "Standard Price List",
              "priceType": "Recurring",
              "recurringChargePeriod": "",
              "unitOfMeasure": "",
              "unitMarginPercentage": "",
              "price": {
                "totalOneTimePrice": {
                  "unit": "USD",
                  "value": 0
                },
                "monthlyRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "annualRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "cumulativeRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "cumulativeAnnualRecurringPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "cumulativeNetPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "unitMarginAmount": {
                  "unit": "USD",
                  "value": 0
                },
                "unitMarginBasePrice": {
                  "unit": "USD",
                  "value": 0
                },
                "listPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "unitCost": {
                  "unit": "USD",
                  "value": 0
                },
                "unitPrice": {
                  "unit": "USD",
                  "value": 0
                },
                "dutyFreeAmount": {
                  "unit": "USD",
                  "value": 0
                },
                "taxIncludedAmount": {
                  "unit": "USD",
                  "value": 0
                }
              },
              "priceAlteration": []
            }
          ]
        }
      ],
      "relatedParty": [
        {
          "role": "Customer",
          "id": "9e2fd2ee11b43110f877366201dea674",
          "name": "Startech svcs",
          "@type": "RelatedPartyRef",
          "@referredType": "Organization"
        },
        {
          "role": "CustomerContact",
          "id": "dca96eaa11f43110f877366201dea6c1",
          "name": "Alex Star",
          "@type": "RelatedPartyRef",
          "@referredType": "Individual"
        }
      ],
      "state": "Draft"
    }

    API de gestion des devis : PATCH /sn_tmf_api/quote_management_api/quote/{id}

    Met à jour le devis spécifié.

    Format d'URL

    URL versionnée : /api/sn_tmf_api/{api_version}/quote_management_api/quote/{id}

    URL par défaut : /api/sn_tmf_api/quote_management_api/quote/{id}

    Paramètres de demande pris en charge

    Tableau 19. Paramètres de chemin d'accès
    Nom Description
    id Sys_id du devis à mettre à jour.

    Type de données : chaîne

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Tableau 20. Paramètres de requête
    Nom Description
    Aucun
    Tableau 21. Paramètres du corps de la demande (JSON)
    Nom Description
    contactMedium Liste des médiums de contact. Coordonnées relatives au demandeur de devis.
    "contactMedium": [
     {
      "city": "String",
      "country": "String",
      "locationId": "String",
      "mediumType": "String",
      "postCode": "String",
      "stateOrProvince": "String",
      "street": "String",
      "@type": "String"
     }
    ]
    contactMedium.city Ville de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.country Pays dans lequel réside le demandeur d’estimation.

    Type de données : chaîne

    contactMedium.locationId Sys_id de l’emplacement indiqué dans la table Emplacement [cmn_location] ou de l’adresse personnalisée.

    Type de données : chaîne

    contactMedium.mediumType Type de support de contact, tel que l’adresse e-mail, le numéro de téléphone ou l’adresse postale.

    Type de données : chaîne

    contactMedium.postCode Code postal du demandeur de devis.

    Type de données : chaîne

    contactMedium.stateOrProvince État ou province de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.street Nom de la rue du demandeur de devis.

    Type de données : chaîne

    contactMedium.@type Type de support selon la norme TMF Open API. Par exemple, GeographicalAddressContactMedium.

    Type de données : chaîne

    description Description de l’estimation.

    Type de données : chaîne

    remarque Liste des notes associées à la citation.

    Type de données : tableau

    "note": [
      {
        "text": "String",
        "@type": "String"
     }
    ]
    note.text Contenu de la note.

    Type de données : chaîne

    note.@type Cette valeur est toujours Remarque.

    Type de données : chaîne

    date de citation Date et heure auxquelles le devis a été créé.

    Type de données : chaîne

    élément de devis Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "quoteItem": [
     {
      "action": "String",
      "id": "String",
      "product": {Object},
      "productOffering": {Object},
      "productRelationship": {Object},
      "quantity": Number,
      "state": "String",
      "@type": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.action Action à effectuer sur cet élément de devis (ajouter, modifier, supprimer, etc.).

    Type de données : chaîne

    quoteItem.id Sys_id de l’élément de devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    quoteItem.product Liste des produits inclus dans le devis.
    "product": {
      "characteristic": "String",
      "specification": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem.product. caractéristique Liste des caractéristiques du produit.

    Type de données : tableau d’objets

    "characteristic": [
      {
        "id": "String",
        "name": "String",
        "@type": "String",
        "value": "String"
      }
    ]
    Consultez Create product characteristics and characteristic options.
    quoteItem.product. characteristic.id Sys_id de la caractéristique du produit.

    Table : Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]

    Type de données : chaîne

    quoteItem.product. characteristic.name Nom de la caractéristique du produit.

    Type de données : chaîne

    quoteItem.product. characteristic.@type Cette valeur est toujours StringCharacteristic.

    Type de données : chaîne

    quoteItem.product. characteristic.value Valeur de la caractéristique.

    Type de données : chaîne

    quoteItem.product. spécification Description détaillée d’un objet tangible ou immatériel mis à la disposition de l’extérieur sous la forme d’une Offre de produits aux clients ou à d’autres parties jouant un rôle de partie.

    Type de données : chaîne

    quoteItem.product.@type Cette valeur est toujours Produit.

    Type de données : chaîne

    quoteItem.productOffering Référence d’offre de produit (ProductOfferingRef). Une offre de produit représente les entités qui peuvent être commandées auprès du fournisseur du catalogue.
    "productOffering": {
      "href": "String",
      "name": "String",
      "name": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem. offreproduit.href Référence de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.id Sys_id de l’offre de produits.

    Table : Offre de produits [sn_prd_pm_product_offering]

    Type de données : chaîne

    quoteItem. productOffering.name Nom de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    quoteItem.productRelationship Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "productRelationship": [
     {
      "product": "String",
      "relationshipType": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.productRelationship. produit Référence ou valeur de produit (ProductRefOrValue). Un produit à créer défini par une valeur ou un produit existant défini par référence.
    Le produit répond à l’un des critères suivants :
    • Création de produit en attente définie par la valeur.
    • Produit existant défini par référence.

    Type de données : chaîne

    quoteItem.productRelationship. relationshipType Type de relation de produit, tel que groupé si le produit est un lot et que vous souhaitez décrire les produits groupés à l’intérieur.

    Type de données : chaîne

    quoteItem.quantity Quantité demandée pour cet élément de devis.

    Type de données : nombre

    quoteItem.state Un type d’état de devis (QuoteStateType). État de l’estimation.

    Type de données : chaîne

    quoteItem.@type Cette valeur est toujours QuoteItem.

    Type de données : chaîne

    Fête connexe Liste des contacts de la commande.

    Type de données : tableau d’objets

    "relatedParty": [
      {
        "id": "String",
        "name": "String",
        "@referredType": "String",
        "role": "String",
        "@type": "String"
      }
    ]
    relatedParty.id Sys_id de la table de devis pour obtenir le compte, le contact ou le client.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    relatedParty.name Nom du compte, du client ou du consommateur.

    Type de données : chaîne

    relatedParty.@referredType Type de client.
    Valeurs possibles :
    • Consommateur
    • Client
    • Contact client

    Type de données : chaîne

    relatedParty.role Le rôle de la partie dans le contexte de l’estimation (par exemple, compte, contact ou client).

    Type de données : chaîne

    relatedParty.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    État État de l’élément de devis.

    Type de données : chaîne

    @type Type de ressource. Cette valeur est toujours Devis. Ces informations ne sont pas stockées.

    Type de données : chaîne

    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 22. 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.
    Content-Type Format de données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 23. 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 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).
    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
    contactMedium Liste des médiums de contact. Coordonnées relatives au demandeur de devis.
    "contactMedium": [
     {
      "city": "String",
      "country": "String",
      "locationId": "String",
      "mediumType": "String",
      "postCode": "String",
      "stateOrProvince": "String",
      "street": "String",
      "@type": "String"
     }
    ]
    contactMedium.city Ville de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.country Pays dans lequel réside le demandeur d’estimation.

    Type de données : chaîne

    contactMedium.locationId Sys_id de l’emplacement indiqué dans la table Emplacement [cmn_location] ou de l’adresse personnalisée.

    Type de données : chaîne

    contactMedium.mediumType Type de support de contact, tel que l’adresse e-mail, le numéro de téléphone ou l’adresse postale.

    Type de données : chaîne

    contactMedium.postCode Code postal du demandeur de devis.

    Type de données : chaîne

    contactMedium.stateOrProvince État ou province de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.street Nom de la rue du demandeur de devis.

    Type de données : chaîne

    contactMedium.@type Type de support selon la norme TMF Open API. Par exemple, GeographicalAddressContactMedium.

    Type de données : chaîne

    description Description de l’estimation.

    Type de données : chaîne

    remarque Liste des notes associées à la citation.

    Type de données : tableau

    "note": [
      {
        "text": "String",
        "@type": "String"
     }
    ]
    note.text Contenu de la note.

    Type de données : chaîne

    note.@type Cette valeur est toujours Remarque.

    Type de données : chaîne

    date de citation Date et heure auxquelles le devis a été créé.

    Type de données : chaîne

    élément de devis Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "quoteItem": [
     {
      "action": "String",
      "id": "String",
      "product": {Object},
      "productOffering": {Object},
      "productRelationship": {Object},
      "quantity": Number,
      "state": "String",
      "@type": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.action Action à effectuer sur cet élément de devis (ajouter, modifier, supprimer, etc.).

    Type de données : chaîne

    quoteItem.id Sys_id de l’élément de devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    quoteItem.product Liste des produits inclus dans le devis.
    "product": {
      "characteristic": "String",
      "specification": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem.product. caractéristique Liste des caractéristiques du produit.

    Type de données : tableau d’objets

    "characteristic": [
      {
        "id": "String",
        "name": "String",
        "@type": "String",
        "value": "String"
      }
    ]
    Consultez Create product characteristics and characteristic options.
    quoteItem.product. characteristic.id Sys_id de la caractéristique du produit.

    Table : Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]

    Type de données : chaîne

    quoteItem.product. characteristic.name Nom de la caractéristique du produit.

    Type de données : chaîne

    quoteItem.product. characteristic.@type Cette valeur est toujours StringCharacteristic.

    Type de données : chaîne

    quoteItem.product. characteristic.value Valeur de la caractéristique.

    Type de données : chaîne

    quoteItem.product. spécification Description détaillée d’un objet tangible ou immatériel mis à la disposition de l’extérieur sous la forme d’une Offre de produits aux clients ou à d’autres parties jouant un rôle de partie.

    Type de données : chaîne

    quoteItem.product.@type Cette valeur est toujours Produit.

    Type de données : chaîne

    quoteItem.productOffering Référence d’offre de produit (ProductOfferingRef). Une offre de produit représente les entités qui peuvent être commandées auprès du fournisseur du catalogue.
    "productOffering": {
      "href": "String",
      "name": "String",
      "name": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem. offreproduit.href Référence de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.id Sys_id de l’offre de produits.

    Table : Offre de produits [sn_prd_pm_product_offering]

    Type de données : chaîne

    quoteItem. productOffering.name Nom de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    quoteItem.productRelationship Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "productRelationship": [
     {
      "product": "String",
      "relationshipType": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.productRelationship. produit Référence ou valeur de produit (ProductRefOrValue). Un produit à créer défini par une valeur ou un produit existant défini par référence.
    Le produit répond à l’un des critères suivants :
    • Création de produit en attente définie par la valeur.
    • Produit existant défini par référence.

    Type de données : chaîne

    quoteItem.productRelationship. relationshipType Type de relation de produit, tel que groupé si le produit est un lot et que vous souhaitez décrire les produits groupés à l’intérieur.

    Type de données : chaîne

    quoteItem.quantity Quantité demandée pour cet élément de devis.

    Type de données : nombre

    quoteItem.state Un type d’état de devis (QuoteStateType). État de l’estimation.

    Type de données : chaîne

    quoteItem.@type Cette valeur est toujours QuoteItem.

    Type de données : chaîne

    Fête connexe Liste des contacts de la commande.

    Type de données : tableau d’objets

    "relatedParty": [
      {
        "id": "String",
        "name": "String",
        "@referredType": "String",
        "role": "String",
        "@type": "String"
      }
    ]
    relatedParty.id Sys_id de la table de devis pour obtenir le compte, le contact ou le client.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    relatedParty.name Nom du compte, du client ou du consommateur.

    Type de données : chaîne

    relatedParty.@referredType Type de client.
    Valeurs possibles :
    • Consommateur
    • Client
    • Contact client

    Type de données : chaîne

    relatedParty.role Le rôle de la partie dans le contexte de l’estimation (par exemple, compte, contact ou client).

    Type de données : chaîne

    relatedParty.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    État État de l’élément de devis.

    Type de données : chaîne

    @type Type de ressource. Cette valeur est toujours Devis. Ces informations ne sont pas stockées.

    Type de données : chaîne

    Demande cURL

    Cet exemple montre comment mettre à jour un devis.

    curl "https://k8s0747687-node1.thunder.devsnc.com/api/sn_tmf_api/quote_management_api/quote/cb15734fd5692a10f8774663edf0ac19" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"@type\": \"Quote\",
      \"description\": \"Quote for Internet and OTT Bundle\",
      \"contactMedium\": [
        {
          \"@type\": \"GeographicalAddressContactMedium\",
          \"mediumType\": \"ShippingAddressRef\",
          \"locationId\": \"25ab96060a0a0bb300a6d66ce72095f2\",
          \"city\": \"Santa Clara\",
          \"country\": \"USA\",
          \"postCode\": \"95050\",
          \"stateOrProvince\": \"CA\",
          \"street\": \"2866 Stevens Creek Blvd\"
        }
      ],
      \"note\": [
        {
          \"@type\": \"Note\",
          \"text\": \"This is a quote request following today call\"
        }
      ],
      \"quoteItem\": [
        {
          \"id\": \"086be79bd5e1aa10f8774663edf0acba\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"ffeb447211bc3110f877366201dea6df\",
            \"name\": \"Internet and OTT Bundle\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"597bab9bd5e1aa10f8774663edf0ac1b\",
              \"relationshipType\": \"HasChild\"
            },
            {
              \"product\": \"d57bab9bd5e1aa10f8774663edf0ac1a\",
              \"relationshipType\": \"HasChild\"
            },
            {
              \"product\": \"d57bab9bd5e1aa10f8774663edf0ac1c\",
              \"relationshipType\": \"HasChild\"
            }
          ]
        },
        {
          \"id\": \"d57bab9bd5e1aa10f8774663edf0ac1a\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"0761dd9fd0a63110f8770dbf976be173\",
            \"name\": \"Solana Modem N Series\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"086be79bd5e1aa10f8774663edf0acba\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"597bab9bd5e1aa10f8774663edf0ac1b\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"8b61dd9fd0a63110f8770dbf976be140\",
            \"name\": \"Basic internet - 100 Mbps Plan\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"086be79bd5e1aa10f8774663edf0acba\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"d57bab9bd5e1aa10f8774663edf0ac1c\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"62619d9fd0a63110f8770dbf976be180\",
            \"name\": \"Solana Movie streaming channel\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"086be79bd5e1aa10f8774663edf0acba\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\",
            \"productCharacteristic\": [
              {
                \"name\": \"Internet breakout\",
                \"value\": \"No\"
              },
              {
                \"name\": \"Quality of Service\",
                \"value\": \"Basic\"
              },
              {
                \"name\": \"Speed\",
                \"value\": \"High\"
              }
            ],
            \"productSpecification\": {
              \"id\": \"cd81594e74ae4a10f877468e695efa81\",
              \"name\": \"VPN Site PS\",
              \"@type\": \"ProductSpecificationRef\"
            }
          },
          \"productOffering\": {
            \"id\": \"6c3d1e86a5e20210f8774c9b4be6ce42\",
            \"name\": \"VPN Site\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"7f8c6b1fd5e1aa10f8774663edf0ac71\",
              \"relationshipType\": \"HasChild\"
            },
            {
              \"product\": \"bb8c6b1fd5e1aa10f8774663edf0ac73\",
              \"relationshipType\": \"HasChild\"
            },
            {
              \"product\": \"bf8c6b1fd5e1aa10f8774663edf0ac70\",
              \"relationshipType\": \"HasChild\"
            },
            {
              \"product\": \"fb8c6b1fd5e1aa10f8774663edf0ac72\",
              \"relationshipType\": \"HasChild\"
            }
          ]
        },
        {
          \"id\": \"bf8c6b1fd5e1aa10f8774663edf0ac70\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"2c265d4274ee4a10f877468e695efa45\",
            \"name\": \"Maintenance Fee\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"7f8c6b1fd5e1aa10f8774663edf0ac71\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"4466d50674ee4a10f877468e695efa0d\",
            \"name\": \"Security Fee\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"fb8c6b1fd5e1aa10f8774663edf0ac72\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\",
            \"productCharacteristic\": [
              {
                \"name\": \"Speed\",
                \"value\": \"High\"
              },
              {
                \"name\": \"Internet breakout\",
                \"value\": \"No\"
              }
            ],
            \"productSpecification\": {
              \"id\": \"ee4f8d8a74ae4a10f877468e695efa3f\",
              \"name\": \"VPN Endpoint PS\",
              \"@type\": \"ProductSpecificationRef\"
            }
          },
          \"productOffering\": {
            \"id\": \"7acc9e46a5e20210f8774c9b4be6ce9e\",
            \"name\": \"VPN Endpoint\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"bb8c6b1fd5e1aa10f8774663edf0ac73\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\",
            \"productCharacteristic\": [
              {
                \"name\": \"Quality of Service\",
                \"value\": \"Basic\"
              }
            ],
            \"productSpecification\": {
              \"id\": \"3ba0914e74ae4a10f877468e695efa6e\",
              \"name\": \"VPN Firewall PS\",
              \"@type\": \"ProductSpecificationRef\"
            }
          },
          \"productOffering\": {
            \"id\": \"4407d90674ee4a10f877468e695efaab\",
            \"name\": \"VPN Firewall\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        }
      ],
      \"relatedParty\": [
        {
          \"role\": \"Customer\",
          \"id\": \"9e2fd2ee11b43110f877366201dea674\",
          \"name\": \"Startech svcs\",
          \"@type\": \"RelatedPartyRef\",
          \"@referredType\": \"Organization\"
        }
      ],
      \"state\": \"Draft\"
    }" \
    --user 'userName':'password'

    Corps de la réponse.

    {
      "@type": "Quote",
      "description": "Quote for Internet and OTT Bundle",
      "contactMedium": [
        {
          "@type": "GeographicalAddressContactMedium",
          "mediumType": "ShippingAddressRef",
          "locationId": "25ab96060a0a0bb300a6d66ce72095f2",
          "city": "Santa Clara",
          "country": "USA",
          "postCode": "95050",
          "stateOrProvince": "CA",
          "street": "2866 Stevens Creek Blvd"
        }
      ],
      "note": [
        {
          "@type": "Note",
          "text": "This is a quote request following today call"
        }
      ],
      "quoteItem": [
        {
          "id": "086be79bd5e1aa10f8774663edf0acba",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "ffeb447211bc3110f877366201dea6df",
            "name": "Internet and OTT Bundle",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "597bab9bd5e1aa10f8774663edf0ac1b",
              "relationshipType": "HasChild"
            },
            {
              "product": "d57bab9bd5e1aa10f8774663edf0ac1a",
              "relationshipType": "HasChild"
            },
            {
              "product": "d57bab9bd5e1aa10f8774663edf0ac1c",
              "relationshipType": "HasChild"
            }
          ]
        },
        {
          "id": "d57bab9bd5e1aa10f8774663edf0ac1a",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "0761dd9fd0a63110f8770dbf976be173",
            "name": "Solana Modem N Series",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "086be79bd5e1aa10f8774663edf0acba",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "597bab9bd5e1aa10f8774663edf0ac1b",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "8b61dd9fd0a63110f8770dbf976be140",
            "name": "Basic internet - 100 Mbps Plan",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "086be79bd5e1aa10f8774663edf0acba",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "d57bab9bd5e1aa10f8774663edf0ac1c",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "62619d9fd0a63110f8770dbf976be180",
            "name": "Solana Movie streaming channel",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "086be79bd5e1aa10f8774663edf0acba",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "797ca71fd5e1aa10f8774663edf0ac2b",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product",
            "productCharacteristic": [
              {
                "name": "Internet breakout",
                "value": "No"
              },
              {
                "name": "Quality of Service",
                "value": "Basic"
              },
              {
                "name": "Speed",
                "value": "High"
              }
            ],
            "productSpecification": {
              "id": "cd81594e74ae4a10f877468e695efa81",
              "name": "VPN Site PS",
              "@type": "ProductSpecificationRef"
            }
          },
          "productOffering": {
            "id": "6c3d1e86a5e20210f8774c9b4be6ce42",
            "name": "VPN Site",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "7f8c6b1fd5e1aa10f8774663edf0ac71",
              "relationshipType": "HasChild"
            },
            {
              "product": "bb8c6b1fd5e1aa10f8774663edf0ac73",
              "relationshipType": "HasChild"
            },
            {
              "product": "bf8c6b1fd5e1aa10f8774663edf0ac70",
              "relationshipType": "HasChild"
            },
            {
              "product": "fb8c6b1fd5e1aa10f8774663edf0ac72",
              "relationshipType": "HasChild"
            }
          ]
        },
        {
          "id": "bf8c6b1fd5e1aa10f8774663edf0ac70",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "2c265d4274ee4a10f877468e695efa45",
            "name": "Maintenance Fee",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "797ca71fd5e1aa10f8774663edf0ac2b",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "7f8c6b1fd5e1aa10f8774663edf0ac71",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "4466d50674ee4a10f877468e695efa0d",
            "name": "Security Fee",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "797ca71fd5e1aa10f8774663edf0ac2b",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "fb8c6b1fd5e1aa10f8774663edf0ac72",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product",
            "productCharacteristic": [
              {
                "name": "Speed",
                "value": "High"
              },
              {
                "name": "Internet breakout",
                "value": "No"
              }
            ],
            "productSpecification": {
              "id": "ee4f8d8a74ae4a10f877468e695efa3f",
              "name": "VPN Endpoint PS",
              "@type": "ProductSpecificationRef"
            }
          },
          "productOffering": {
            "id": "7acc9e46a5e20210f8774c9b4be6ce9e",
            "name": "VPN Endpoint",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "797ca71fd5e1aa10f8774663edf0ac2b",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "bb8c6b1fd5e1aa10f8774663edf0ac73",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product",
            "productCharacteristic": [
              {
                "name": "Quality of Service",
                "value": "Basic"
              }
            ],
            "productSpecification": {
              "id": "3ba0914e74ae4a10f877468e695efa6e",
              "name": "VPN Firewall PS",
              "@type": "ProductSpecificationRef"
            }
          },
          "productOffering": {
            "id": "4407d90674ee4a10f877468e695efaab",
            "name": "VPN Firewall",
            "@type": "ProductOfferingRef"
          },
          "productRelationship": [
            {
              "product": "797ca71fd5e1aa10f8774663edf0ac2b",
              "relationshipType": "HasParent"
            }
          ]
        }
      ],
      "relatedParty": [
        {
          "role": "Customer",
          "id": "9e2fd2ee11b43110f877366201dea674",
          "name": "Startech svcs",
          "@type": "RelatedPartyRef",
          "@referredType": "Organization"
        }
      ],
      "state": "Draft",
      "id": "cb15734fd5692a10f8774663edf0ac19",
      "version": "2",
      "quoteDate": "2025-05-21 04:56:50",
      "href": "api/sn_tmf_api/quote_management_api/quote/cb15734fd5692a10f8774663edf0ac19"
    }

    API de gestion des devis : POST/sn_tmf_api/quote_management_api/quote

    Crée un devis.

    De nouveaux enregistrements de devis sont créés dans les tables suivantes :
    • Citation [sn_quote_mgmt_core_quote]
    • Contrat de vente [sn_sales_agmt_core_sales_agreement]
    • Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]
    • Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]
    • Ajustement du prix du devis [sn_quote_mgmt_core_pricing_adjustment]

    Format d'URL

    URL versionnée : /api/sn_tmf_api/{api_version}/quote_management_api/quote

    URL par défaut : /api/sn_tmf_api/quote_management_api/quote

    Paramètres de demande pris en charge

    Tableau 25. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 26. Paramètres de requête
    Nom Description
    Aucun
    Tableau 27. Paramètres du corps de la demande (JSON)
    Nom Description
    contactMedium Liste des médiums de contact. Coordonnées relatives au demandeur de devis.
    "contactMedium": [
     {
      "city": "String",
      "country": "String",
      "locationId": "String",
      "mediumType": "String",
      "postCode": "String",
      "stateOrProvince": "String",
      "street": "String",
      "@type": "String"
     }
    ]
    contactMedium.city Ville de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.country Pays dans lequel réside le demandeur d’estimation.

    Type de données : chaîne

    contactMedium.locationId Sys_id de l’emplacement indiqué dans la table Emplacement [cmn_location] ou de l’adresse personnalisée.

    Type de données : chaîne

    contactMedium.mediumType Type de support de contact, tel que l’adresse e-mail, le numéro de téléphone ou l’adresse postale.

    Type de données : chaîne

    contactMedium.postCode Code postal du demandeur de devis.

    Type de données : chaîne

    contactMedium.stateOrProvince État ou province de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.street Nom de la rue du demandeur de devis.

    Type de données : chaîne

    contactMedium.@type Type de support selon la norme TMF Open API. Par exemple, GeographicalAddressContactMedium.

    Type de données : chaîne

    description Description de l’estimation.

    Type de données : chaîne

    externalId ID unique fourni par le consommateur pour le devis.

    Type de données : chaîne

    href Lien relatif permettant d’accéder au devis.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    note Liste des notes associées à la citation.

    Type de données : tableau

    "note": [
      {
        "text": "String",
        "@type": "String"
     }
    ]
    note.text Contenu de la note.

    Type de données : chaîne

    note.@type Cette valeur est toujours Remarque.

    Type de données : chaîne

    date de citation Date et heure auxquelles le devis a été créé.

    Type de données : chaîne

    élément de devis Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "quoteItem": [
     {
      "action": "String",
      "id": "String",
      "product": {Object},
      "productOffering": {Object},
      "productRelationship": {Object},
      "quantity": Number,
      "state": "String",
      "@type": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.action Action à effectuer sur cet élément de devis (ajouter, modifier, supprimer, etc.).

    Type de données : chaîne

    quoteItem.id Sys_id de l’élément de devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    quoteItem.product Liste des produits inclus dans le devis.
    "product": {
      "characteristic": "String",
      "specification": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem.product. caractéristique Liste des caractéristiques du produit.

    Type de données : tableau d’objets

    "characteristic": [
      {
        "id": "String",
        "name": "String",
        "@type": "String",
        "value": "String"
      }
    ]
    Consultez Create product characteristics and characteristic options.
    quoteItem.product. characteristic.id Sys_id de la caractéristique du produit.

    Table : Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]

    Type de données : chaîne

    quoteItem.product. characteristic.name Nom de la caractéristique du produit.

    Type de données : chaîne

    quoteItem.product. characteristic.@type Cette valeur est toujours StringCharacteristic.

    Type de données : chaîne

    quoteItem.product. characteristic.value Valeur de la caractéristique.

    Type de données : chaîne

    quoteItem.product. spécification Description détaillée d’un objet tangible ou immatériel mis à la disposition de l’extérieur sous la forme d’une Offre de produits aux clients ou à d’autres parties jouant un rôle de partie.

    Type de données : chaîne

    quoteItem.product.@type Cette valeur est toujours Produit.

    Type de données : chaîne

    quoteItem.productOffering Référence d’offre de produit (ProductOfferingRef). Une offre de produit représente les entités qui peuvent être commandées auprès du fournisseur du catalogue.
    "productOffering": {
      "href": "String",
      "name": "String",
      "name": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem. offreproduit.href Référence de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.id Sys_id de l’offre de produits.

    Table : Offre de produits [sn_prd_pm_product_offering]

    Type de données : chaîne

    quoteItem. productOffering.name Nom de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    quoteItem.productRelationship Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "productRelationship": [
     {
      "product": "String",
      "relationshipType": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.productRelationship. produit Référence ou valeur de produit (ProductRefOrValue). Un produit à créer défini par une valeur ou un produit existant défini par référence.
    Le produit répond à l’un des critères suivants :
    • Création de produit en attente définie par la valeur.
    • Produit existant défini par référence.

    Type de données : chaîne

    quoteItem.productRelationship. relationshipType Type de relation de produit, tel que groupé si le produit est un lot et que vous souhaitez décrire les produits groupés à l’intérieur.

    Type de données : chaîne

    quoteItem.quantity Quantité demandée pour cet élément de devis.

    Type de données : nombre

    quoteItem.state Un type d’état de devis (QuoteStateType). État de l’estimation.

    Type de données : chaîne

    quoteItem.@type Cette valeur est toujours QuoteItem.

    Type de données : chaîne

    Fête connexe Liste des contacts de la commande.

    Type de données : tableau d’objets

    "relatedParty": [
      {
        "id": "String",
        "name": "String",
        "@referredType": "String",
        "role": "String",
        "@type": "String"
      }
    ]
    relatedParty.id Sys_id de la table de devis pour obtenir le compte, le contact ou le client.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    relatedParty.name Nom du compte, du client ou du consommateur.

    Type de données : chaîne

    relatedParty.@referredType Type de client.
    Valeurs possibles :
    • Consommateur
    • Client
    • Contact client

    Type de données : chaîne

    relatedParty.role Le rôle de la partie dans le contexte de l’estimation (par exemple, compte, contact ou client).

    Type de données : chaîne

    relatedParty.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    État État de l’élément de devis.

    Type de données : chaîne

    @type Type de ressource. Cette valeur est toujours Devis. Ces informations ne sont pas stockées.

    Type de données : chaîne

    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 28. 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.
    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
    201 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    Raisons possibles :
    • Charge utile vide.
    • Charge utile non valide. Champ obligatoire manquant : <nom de champ>.

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

    Nom Description
    contactMedium Liste des médiums de contact. Coordonnées relatives au demandeur de devis.
    "contactMedium": [
     {
      "city": "String",
      "country": "String",
      "locationId": "String",
      "mediumType": "String",
      "postCode": "String",
      "stateOrProvince": "String",
      "street": "String",
      "@type": "String"
     }
    ]
    contactMedium.city Ville de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.country Pays dans lequel réside le demandeur d’estimation.

    Type de données : chaîne

    contactMedium.locationId Sys_id de l’emplacement indiqué dans la table Emplacement [cmn_location] ou de l’adresse personnalisée.

    Type de données : chaîne

    contactMedium.mediumType Type de support de contact, tel que l’adresse e-mail, le numéro de téléphone ou l’adresse postale.

    Type de données : chaîne

    contactMedium.postCode Code postal du demandeur de devis.

    Type de données : chaîne

    contactMedium.stateOrProvince État ou province de résidence du demandeur d’estimation.

    Type de données : chaîne

    contactMedium.street Nom de la rue du demandeur de devis.

    Type de données : chaîne

    contactMedium.@type Type de support selon la norme TMF Open API. Par exemple, GeographicalAddressContactMedium.

    Type de données : chaîne

    description Description de l’estimation.

    Type de données : chaîne

    externalId ID unique fourni par le consommateur pour le devis.

    Type de données : chaîne

    href Lien relatif permettant d’accéder au devis.

    Type de données : chaîne

    Valeur par défaut : chaîne vide

    note Liste des notes associées à la citation.

    Type de données : tableau

    "note": [
      {
        "text": "String",
        "@type": "String"
     }
    ]
    note.text Contenu de la note.

    Type de données : chaîne

    note.@type Cette valeur est toujours Remarque.

    Type de données : chaîne

    date de citation Date et heure auxquelles le devis a été créé.

    Type de données : chaîne

    élément de devis Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "quoteItem": [
     {
      "action": "String",
      "id": "String",
      "product": {Object},
      "productOffering": {Object},
      "productRelationship": {Object},
      "quantity": Number,
      "state": "String",
      "@type": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.action Action à effectuer sur cet élément de devis (ajouter, modifier, supprimer, etc.).

    Type de données : chaîne

    quoteItem.id Sys_id de l’élément de devis.

    Table : Élément de ligne de devis [sn_quote_mgmt_core_quote_line_item]

    Type de données : chaîne

    quoteItem.product Liste des produits inclus dans le devis.
    "product": {
      "characteristic": "String",
      "specification": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem.product. caractéristique Liste des caractéristiques du produit.

    Type de données : tableau d’objets

    "characteristic": [
      {
        "id": "String",
        "name": "String",
        "@type": "String",
        "value": "String"
      }
    ]
    Consultez Create product characteristics and characteristic options.
    quoteItem.product. characteristic.id Sys_id de la caractéristique du produit.

    Table : Caractéristique de ligne de devis [sn_quote_mgmt_core_quote_line_characteristic]

    Type de données : chaîne

    quoteItem.product. characteristic.name Nom de la caractéristique du produit.

    Type de données : chaîne

    quoteItem.product. characteristic.@type Cette valeur est toujours StringCharacteristic.

    Type de données : chaîne

    quoteItem.product. characteristic.value Valeur de la caractéristique.

    Type de données : chaîne

    quoteItem.product. spécification Description détaillée d’un objet tangible ou immatériel mis à la disposition de l’extérieur sous la forme d’une Offre de produits aux clients ou à d’autres parties jouant un rôle de partie.

    Type de données : chaîne

    quoteItem.product.@type Cette valeur est toujours Produit.

    Type de données : chaîne

    quoteItem.productOffering Référence d’offre de produit (ProductOfferingRef). Une offre de produit représente les entités qui peuvent être commandées auprès du fournisseur du catalogue.
    "productOffering": {
      "href": "String",
      "name": "String",
      "name": "String",
      "@type": "String"
    }

    Type de données : objet

    quoteItem. offreproduit.href Référence de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.id Sys_id de l’offre de produits.

    Table : Offre de produits [sn_prd_pm_product_offering]

    Type de données : chaîne

    quoteItem. productOffering.name Nom de l’entité associée.

    Type de données : chaîne

    quoteItem. productOffering.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    quoteItem.productRelationship Une liste d’éléments de devis. Chaque élément de devis décrit une action pour un produit à chiffrer.
    "productRelationship": [
     {
      "product": "String",
      "relationshipType": "String"
     }
    ]

    Type de données : tableau d’objets

    quoteItem.productRelationship. produit Référence ou valeur de produit (ProductRefOrValue). Un produit à créer défini par une valeur ou un produit existant défini par référence.
    Le produit répond à l’un des critères suivants :
    • Création de produit en attente définie par la valeur.
    • Produit existant défini par référence.

    Type de données : chaîne

    quoteItem.productRelationship. relationshipType Type de relation de produit, tel que groupé si le produit est un lot et que vous souhaitez décrire les produits groupés à l’intérieur.

    Type de données : chaîne

    quoteItem.quantity Quantité demandée pour cet élément de devis.

    Type de données : nombre

    quoteItem.state Un type d’état de devis (QuoteStateType). État de l’estimation.

    Type de données : chaîne

    quoteItem.@type Cette valeur est toujours QuoteItem.

    Type de données : chaîne

    Fête connexe Liste des contacts de la commande.

    Type de données : tableau d’objets

    "relatedParty": [
      {
        "id": "String",
        "name": "String",
        "@referredType": "String",
        "role": "String",
        "@type": "String"
      }
    ]
    relatedParty.id Sys_id de la table de devis pour obtenir le compte, le contact ou le client.

    Tableau : Devis [sn_quote_mgmt_core_quote]

    Type de données : chaîne

    relatedParty.name Nom du compte, du client ou du consommateur.

    Type de données : chaîne

    relatedParty.@referredType Type de client.
    Valeurs possibles :
    • Consommateur
    • Client
    • Contact client

    Type de données : chaîne

    relatedParty.role Le rôle de la partie dans le contexte de l’estimation (par exemple, compte, contact ou client).

    Type de données : chaîne

    relatedParty.@type Cette valeur est toujours ProductOfferingRef.

    Type de données : chaîne

    État État de l’élément de devis.

    Type de données : chaîne

    @type Type de ressource. Cette valeur est toujours Devis. Ces informations ne sont pas stockées.

    Type de données : chaîne

    L’exemple suivant montre comment créer un devis.

    curl "http://localhost:8080/api/sn_tmf_api/quote_management_api/quote" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"@type\": \"Quote\",
      \"description\": \"Quote for Internet and OTT Bundle\",
      \"state\": \"Draft\",
      \"externalId\": \"12233\",
      \"contactMedium\": [
        {
          \"@type\": \"GeographicalAddressContactMedium\",
          \"mediumType\": \"ShippingAddressRef\",
          \"locationId\": \"6774fee611383110f877366201dea64f\",
          \"city\": \"Santa Clara\",
          \"country\": \"USA\",
          \"postCode\": \"95050\",
          \"stateOrProvince\": \"CA\",
          \"street\": \"2866 Stevens Creek Blvd\"
        }
      ],
      \"note\": [
        {
          \"@type\": \"Note\",
          \"text\": \"This is a quote request for the Internet and OTT Bundle\"
        }
      ],
      \"quoteItem\": [
        {
          \"id\": \"ea88d77c4165ae10f8776348db5f9196\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"ffeb447211bc3110f877366201dea6df\",
            \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/ffeb447211bc3110f877366201dea6df\",
            \"name\": \"Internet and OTT Bundle\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"3688d77c4165ae10f8776348db5f91cf\",
              \"relationshipType\": \"HasChild\"
            },
            {
              \"product\": \"3a881b7c4165ae10f8776348db5f911b\",
              \"relationshipType\": \"HasChild\"
            },
            {
              \"product\": \"7e88d77c4165ae10f8776348db5f91fb\",
              \"relationshipType\": \"HasChild\"
            }
          ]
        },
        {
          \"id\": \"3688d77c4165ae10f8776348db5f91cf\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"0761dd9fd0a63110f8770dbf976be173\",
            \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/0761dd9fd0a63110f8770dbf976be173\",
            \"name\": \"Solana Modem N Series\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"ea88d77c4165ae10f8776348db5f9196\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"7e88d77c4165ae10f8776348db5f91fb\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"8b61dd9fd0a63110f8770dbf976be140\",
            \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/8b61dd9fd0a63110f8770dbf976be140\",
            \"name\": \"Basic internet - 100 Mbps Plan\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"ea88d77c4165ae10f8776348db5f9196\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        },
        {
          \"id\": \"3a881b7c4165ae10f8776348db5f911b\",
          \"@type\": \"QuoteItem\",
          \"action\": \"add\",
          \"quantity\": \"1\",
          \"state\": \"Draft\",
          \"product\": {
            \"@type\": \"Product\"
          },
          \"productOffering\": {
            \"id\": \"62619d9fd0a63110f8770dbf976be180\",
            \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/62619d9fd0a63110f8770dbf976be180\",
            \"name\": \"Solana Movie streaming channel\",
            \"@type\": \"ProductOfferingRef\"
          },
          \"productRelationship\": [
            {
              \"product\": \"ea88d77c4165ae10f8776348db5f9196\",
              \"relationshipType\": \"HasParent\"
            }
          ]
        }
      ],
      \"relatedParty\": [
        {
          \"role\": \"Customer\",
          \"id\": \"ab9a0e8b2fc9a610b79db3bf42faf3a6\",
          \"name\": \"Funco Intl\",
          \"@type\": \"RelatedPartyRef\",
          \"@referredType\": \"Organization\"
        }
      ]
    }" \
    --user 'userName':'password'

    Corps de la réponse.

    {
      "@type": "Quote",
      "description": "Quote for Internet and OTT Bundle",
      "state": "Draft",
      "externalId": "12233",
      "contactMedium": [
        {
          "@type": "GeographicalAddressContactMedium",
          "mediumType": "ShippingAddressRef",
          "locationId": "6774fee611383110f877366201dea64f",
          "city": "Santa Clara",
          "country": "USA",
          "postCode": "95050",
          "stateOrProvince": "CA",
          "street": "2866 Stevens Creek Blvd"
        }
      ],
      "note": [
        {
          "@type": "Note",
          "text": "This is a quote request for the Internet and OTT Bundle"
        }
      ],
      "quoteItem": [
        {
          "id": "ea88d77c4165ae10f8776348db5f9196",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "ffeb447211bc3110f877366201dea6df",
            "href": "api/sn_tmf_api/catalogmanagement/productOffering/ffeb447211bc3110f877366201dea6df",
            "name": "Internet and OTT Bundle",
            "@type": "ProductOfferingRef",
            "internalVersion": "1",
            "version": "",
            "internalId": "ffeb447211bc3110f877366201dea6df"
          },
          "productRelationship": [
            {
              "product": "3688d77c4165ae10f8776348db5f91cf",
              "relationshipType": "HasChild"
            },
            {
              "product": "3a881b7c4165ae10f8776348db5f911b",
              "relationshipType": "HasChild"
            },
            {
              "product": "7e88d77c4165ae10f8776348db5f91fb",
              "relationshipType": "HasChild"
            }
          ]
        },
        {
          "id": "3688d77c4165ae10f8776348db5f91cf",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "0761dd9fd0a63110f8770dbf976be173",
            "href": "api/sn_tmf_api/catalogmanagement/productOffering/0761dd9fd0a63110f8770dbf976be173",
            "name": "Solana Modem N Series",
            "@type": "ProductOfferingRef",
            "internalVersion": "1",
            "version": "",
            "internalId": "0761dd9fd0a63110f8770dbf976be173"
          },
          "productRelationship": [
            {
              "product": "ea88d77c4165ae10f8776348db5f9196",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "7e88d77c4165ae10f8776348db5f91fb",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "8b61dd9fd0a63110f8770dbf976be140",
            "href": "api/sn_tmf_api/catalogmanagement/productOffering/8b61dd9fd0a63110f8770dbf976be140",
            "name": "Basic internet - 100 Mbps Plan",
            "@type": "ProductOfferingRef",
            "internalVersion": "1",
            "version": "",
            "internalId": "8b61dd9fd0a63110f8770dbf976be140"
          },
          "productRelationship": [
            {
              "product": "ea88d77c4165ae10f8776348db5f9196",
              "relationshipType": "HasParent"
            }
          ]
        },
        {
          "id": "3a881b7c4165ae10f8776348db5f911b",
          "@type": "QuoteItem",
          "action": "add",
          "quantity": "1",
          "state": "Draft",
          "product": {
            "@type": "Product"
          },
          "productOffering": {
            "id": "62619d9fd0a63110f8770dbf976be180",
            "href": "api/sn_tmf_api/catalogmanagement/productOffering/62619d9fd0a63110f8770dbf976be180",
            "name": "Solana Movie streaming channel",
            "@type": "ProductOfferingRef",
            "internalVersion": "1",
            "version": "",
            "internalId": "62619d9fd0a63110f8770dbf976be180"
          },
          "productRelationship": [
            {
              "product": "ea88d77c4165ae10f8776348db5f9196",
              "relationshipType": "HasParent"
            }
          ]
        }
      ],
      "relatedParty": [
        {
          "role": "Customer",
          "id": "ab9a0e8b2fc9a610b79db3bf42faf3a6",
          "name": "Funco Intl",
          "@type": "RelatedPartyRef",
          "@referredType": "Organization"
        }
      ],
      "id": "acc805bcfff5a610b79dffffffffffe6",
      "href": "api/sn_tmf_api/quote_management_api/quote/acc805bcfff5a610b79dffffffffffe6"
    }