API Gestion des devis
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.
- 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
| Nom | Description |
|---|---|
| id | Sys_id du devis à supprimer. Type de données : chaîne Tableau : Devis [sn_quote_mgmt_core_quote] |
| Nom | Description |
|---|---|
| Aucun |
| 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.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| 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.
| 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.
- 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
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| champs | Liste des champs à renvoyer dans la réponse. Les champs non valides sont ignorés. Champs valides :
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 |
| 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.
| En-tête | Description |
|---|---|
| Aucun |
| En-tête | Description |
|---|---|
| Plage de contenu | Plage de contenu renvoyé lors d’un appel paginé. Par exemple, si |
| Type de contenu | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Lien | Contient les liens suivants pour parcourir les résultats de la requête.
|
| 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.
| 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 :
|
| 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 | 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.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.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.Type de données : objet |
| quoteItem.product. caractéristique | Liste des caractéristiques du produit. Type de données : tableau d’objets 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.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 | 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 :
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.
- 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
| Nom | Description |
|---|---|
| id | Sys_id du devis à récupérer. Type de données : chaîne Tableau : Devis [sn_quote_mgmt_core_quote] |
| Nom | Description |
|---|---|
| Aucun |
| 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.
| En-tête | Description |
|---|---|
| Aucun |
| 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.
| 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 :
|
| 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 | 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.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.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.Type de données : objet |
| quoteItem.product. caractéristique | Liste des caractéristiques du produit. Type de données : tableau d’objets 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.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 | 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 :
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
| Nom | Description |
|---|---|
| id | Sys_id du devis à mettre à jour. Type de données : chaîne Tableau : Devis [sn_quote_mgmt_core_quote] |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| contactMedium | Liste des médiums de contact. Coordonnées relatives au demandeur de devis. |
| 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 | 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.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.Type de données : objet |
| quoteItem.product. caractéristique | Liste des caractéristiques du produit. Type de données : tableau d’objets 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.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.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 :
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 | 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 :
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.
| 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. |
| 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.
| 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 :
|
| 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 | 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 | 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.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.Type de données : objet |
| quoteItem.product. caractéristique | Liste des caractéristiques du produit. Type de données : tableau d’objets 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.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.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 :
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 | 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 :
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.
- 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
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| contactMedium | Liste des médiums de contact. Coordonnées relatives au demandeur de devis. |
| 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 | 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.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.Type de données : objet |
| quoteItem.product. caractéristique | Liste des caractéristiques du produit. Type de données : tableau d’objets 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.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.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 :
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 | 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 :
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.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| 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.
| 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 :
|
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 | 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 | 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.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.Type de données : objet |
| quoteItem.product. caractéristique | Liste des caractéristiques du produit. Type de données : tableau d’objets 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.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.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 :
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 | 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 :
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"
}