Create a Product

post

/product

Creates a product.

Request

Query Parameters
Supported Media Types
Request Body - application/json ()
Root Schema : schema
Match One Schema
Show Source
Nested Schema : Product_FVO
Match All
A product offering procured by a customer or a party playing a party role. A product is realized as one or more services and resources.
Show Source
Nested Schema : ProductOracle_FVO
Match All
Provides extended fields for the product schema.
Show Source
Nested Schema : Entity_FVO
Type: object
The Base entity schema for use in TMForum Open-APIs Property.
Match All
The Base entity schema for use in TMForum Open-APIs Property.
The Base entity schema for use in TMForum Open-APIs Property.
Show Source
  • Extensible_FVO
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Addressable_FVO
    The base schema for adressable entities.
Nested Schema : Extensible_FVO
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Addressable_FVO
Type: object
The base schema for adressable entities.
Show Source
Nested Schema : Product_FVO-allOf[1]
Type: object
A product offering procured by a customer or a party playing a party role. A product is realized as one or more services and resources.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Refers to the billing account. The billing account describes the bill structure.
Show Source
Nested Schema : product
Type: array
Show Source
  • Discriminator: @type
    Discriminator: { "propertyName":"@type", "mapping":{ "Product":"#/components/schemas/Product_FVO", "ProductRef":"#/components/schemas/ProductRef_FVO", "ProductOracle":"#/components/schemas/ProductOracle_FVO" } }
    The polymorphic attributes (@type, @schemaLocation, and @referredType) apply to the Product entity, not to the ProductRefOrValue class.
Nested Schema : productCharacteristic
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : realizingService
Type: array
Show Source
  • Discriminator: @type
    Discriminator: { "propertyName":"@type", "mapping":{ "ServiceRef":"#/components/schemas/ServiceRef_FVO" } }
    The service reference used by other entities.
Nested Schema : EntityRef_FVO
Match All
The entity reference schema to be used for all entityRef class.
Show Source
Nested Schema : EntityRef_FVO-allOf[2]
Type: object
The entity reference schema to be used for all entityRef class.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Refers to the billing account. The billing account describes the bill structure.
Show Source
  • Indicates if the account follows a specific payment option such as prepaid or postpaid.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

The polymorphic attributes (@type, @schemaLocation, and @referredType) apply to the Product entity, not to the ProductRefOrValue class.
Match One Schema
Show Source
Nested Schema : ProductRef_FVO
Type: object
A product reference.
Match All
A product reference.
A product reference.
Show Source
Nested Schema : Characteristic_FVO
Match All
The given characteristic of an object or entity through a name-value pair.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Characteristic_FVO-allOf[1]
    The given characteristic of an object or entity through a name-value pair.
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Characteristic_FVO-allOf[1]
Type: object
The given characteristic of an object or entity through a name-value pair.
Show Source
Nested Schema : characteristicRelationship
Type: array
Show Source
Nested Schema : CharacteristicRelationship_FVO
Match All
The characteristic that is related to the current characteristic.
Show Source
Nested Schema : CharacteristicRelationship_FVO-allOf[1]
Type: object
The characteristic that is related to the current characteristic.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes the price and any discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Describes the price and any discount awarded.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Show Source
  • Extensible_FVO
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Discriminator: @type-allOf[1]
    Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Show Source
Nested Schema : Money
Type: object
The base / value business entity used to represent money.
Show Source
  • The currency (ISO4217 norm uses 3 letters to define the currency).
  • The signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that modifies the price charged for an order item.
Show Source
  • Extensible_FVO
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Discriminator: @type-allOf[1]
    An amount, usually monetary, that modifies the price charged for an order item.
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes the relationship between products.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Describes the relationship between products.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

The service reference used by other entities.
Match All
The service reference used by other entities.
The service reference used by other entities.
Show Source
Nested Schema : ProductOracle_FVO-allOf[1]
Type: object
Provides extended fields for the product schema.
Show Source
Nested Schema : CycleEndRef_FVO
Match All
CycleEnd reference. Provides details about the cycle end date for a purchased product
Show Source
Nested Schema : CycleStartRef_FVO
Match All
CycleStart reference. Provides details about the cycle start date for a purchased product.
Show Source
Nested Schema : GracePeriodRef_FVO
Match All
GracePeriod reference. Provides details about the grace period date for a purchased product.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : PurchaseEndRef_FVO
Match All
PurchaseEnd reference. Provides details about the purchase end date for a purchased product.
Show Source
Nested Schema : PurchaseStartRef_FVO
Match All
PurchaseStart reference. Provides details about the purchase start date for a purchased product.
Show Source
Nested Schema : UsageEndRef_FVO
Match All
UsageEnd reference. Provides details about the usage end date for a purchased product.
Show Source
Nested Schema : UsageStartRef_FVO
Match All
UsageStart reference. Provides details about the usage start date for a purchased product.
Show Source
Nested Schema : CPUDatesExtension_FVO
Type: object
Contains the CPU extension dates' common properties.
Show Source
  • Indicates the amount of time of a given unit.
  • Allowed Values: [ "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage", "absolute" ]
    Indicates the unit of time for the CPU extension date. Can be "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage" and "absolute".
Nested Schema : CycleEndRef_FVO-allOf[1]
Type: object
CycleEnd reference. Provides details about the cycle end date for a purchased product
Nested Schema : CycleStartRef_FVO-allOf[1]
Type: object
CycleStart reference. Provides details about the cycle start date for a purchased product.
Nested Schema : GracePeriodRef_FVO-allOf[1]
Type: object
GracePeriod reference. Provides details about the grace period date for a purchased product.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
A description of the price and discount awarded.
Show Source
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
  • Allowed Values: [ "AmountOverride", "DiscountPercentageOverride", "DiscountAmountOverride" ]
    A category that describes the price, such as AmountOverride, DiscountPercentageOverride, or DiscountAmountOverride.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Used to describe the relationship between the products.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Used to describe the relationship between the products.
Show Source
Nested Schema : PurchaseEndRef_FVO-allOf[1]
Type: object
PurchaseEnd reference. Provides details about the purchase end date for a purchased product.
Nested Schema : PurchaseStartRef_FVO-allOf[1]
Type: object
PurchaseStart reference. Provides details about the purchase start date for a purchased product.
Nested Schema : UsageEndRef_FVO-allOf[1]
Type: object
UsageEnd reference. Provides details about the usage end date for a purchased product.
Nested Schema : UsageStartRef_FVO-allOf[1]
Type: object
UsageStart reference. Provides details about the usage start date for a purchased product.
Examples

Back to Top

Response

201 Response

The product was created successfully.
Body ()
Root Schema : schema
Match One Schema
Show Source
  • Product
    A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
  • ProductOracle
Nested Schema : Product
Type: object
A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
Show Source
Nested Schema : ProductOracle
Match All
A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service and/or resources.
Show Source
  • Product
    A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
  • ProductOracle-allOf[1]
    A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service and/or resources.
Nested Schema : OwnerAccount
Type: object
Provides unique identifier of the owner account.
Show Source
Nested Schema : productCharacteristic
Type: array
Show Source
Nested Schema : productTerm
Type: array
Show Source
Nested Schema : ServiceAccount
Type: object
Provides unique identifier of the service account.
Show Source
Nested Schema : Characteristic
Match All
The given characteristic of an object or entity through a name-value pair.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Characteristic-allOf[1]
    The given characteristic of an object or entity through a name-value pair.
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Characteristic-allOf[1]
Type: object
The given characteristic of an object or entity through a name-value pair.
Show Source
Nested Schema : characteristicRelationship
Type: array
Show Source
Nested Schema : CharacteristicRelationship
Match All
The characteristic that is related to the current characteristic.
Show Source
Nested Schema : CharacteristicRelationship-allOf[1]
Type: object
The characteristic that is related to the current characteristic.
Show Source
Nested Schema : ProductTerm
Type: object
Description of a product term linked to this product. This represents a commitment with a duration.
Show Source
Nested Schema : Quantity
Type: object
The amount in a given unit.
Show Source
Nested Schema : ProductOracle-allOf[1]
Type: object
A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service and/or resources.
Show Source
Nested Schema : CycleEndRef
Match All
CycleEnd reference. A CycleEnd contains details regarding cycle end date for purchased product.
Show Source
Nested Schema : CycleStartRef
Match All
CycleStart reference. A CycleStart contains details regarding cycle start date for purchased product.
Show Source
Nested Schema : GracePeriodRef
Match All
GracePeriod reference. A GracePeriod contains details regarding grace period date for purchased product.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : PurchaseEndRef
Match All
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Show Source
Nested Schema : PurchaseStartRef
Match All
PurchaseStart reference. A PurchaseStart contains details regarding purchase start date for purchased product.
Show Source
Nested Schema : UsageEndRef
Match All
UsageEnd reference. A UsageEnd contains details regarding usage end date for purchased product.
Show Source
Nested Schema : UsageStartRef
Match All
UsageStart reference. A UsageStart contains details regarding usage start date for purchased product.
Show Source
Nested Schema : CPUDatesExtension_FVO
Type: object
Contains the CPU extension dates' common properties.
Show Source
  • Indicates the amount of time of a given unit.
  • Allowed Values: [ "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage", "absolute" ]
    Indicates the unit of time for the CPU extension date. Can be "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage" and "absolute".
Nested Schema : CycleEndRef-allOf[1]
Type: object
CycleEnd reference. A CycleEnd contains details regarding cycle end date for purchased product.
Nested Schema : CycleStartRef-allOf[1]
Type: object
CycleStart reference. A CycleStart contains details regarding cycle start date for purchased product.
Nested Schema : GracePeriodRef-allOf[1]
Type: object
GracePeriod reference. A GracePeriod contains details regarding grace period date for purchased product.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes the price and any discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Describes the price and any discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
A description of the price and discount awarded.
Show Source
Nested Schema : Price
Type: object
Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
Show Source
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Money
Type: object
The base / value business entity used to represent money.
Show Source
  • The currency (ISO4217 norm uses 3 letters to define the currency).
  • The signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type
Nested Schema : PriceAlteration
Type: object
The object is an amount, usually of money, that modifies the price charged for an order item.
Show Source
Nested Schema : EntityRef
Match All
The entity reference schema to be used for all entityRef class.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Addressable
    The base schema for adressable entities.
  • EntityRef-allOf[2]
    The entity reference schema to be used for all entityRef class.
Nested Schema : Addressable
Type: object
The base schema for adressable entities.
Show Source
Nested Schema : EntityRef-allOf[2]
Type: object
The entity reference schema to be used for all entityRef class.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
  • Allowed Values: [ "AmountOverride", "DiscountPercentageOverride", "DiscountAmountOverride" ]
    A category that describes the price, such as AmountOverride, DiscountPercentageOverride, or DiscountAmountOverride.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Used to describe the relationship between products.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes the relationship between products.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Describes the relationship between products.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Used to describe the relationship between products.
Show Source
  • Allowed Values: [ "bundles", "bundledBy", "tiedDiscount", "tiedProduct" ]
    The relationship type: bundles, bundledBy, tiedDiscount, tiedProduct.
Nested Schema : PurchaseEndRef-allOf[1]
Type: object
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Nested Schema : PurchaseStartRef-allOf[1]
Type: object
PurchaseStart reference. A PurchaseStart contains details regarding purchase start date for purchased product.
Nested Schema : UsageEndRef-allOf[1]
Type: object
UsageEnd reference. A UsageEnd contains details regarding usage end date for purchased product.
Nested Schema : UsageStartRef-allOf[1]
Type: object
UsageStart reference. A UsageStart contains details regarding usage start date for purchased product.
Examples

202 Response

Accepted

400 Response

The server received a bad request.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

401 Response

The request was not authorized.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

403 Response

The request was forbidden.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

404 Response

The requested resource cannot be found.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

405 Response

The method is not allowed.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

409 Response

The request could not be processed due to a conflict with the existing state of the resource.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

500 Response

The system has encountered an internal server error.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

501 Response

The request was not implemented.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

503 Response

The service is unavailable.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source
Back to Top

Examples

Example 1: Creating a Product Purchase Object

The following example shows how to create a product purchase object by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the file to attach as the request body.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Product 1a - Internet Access",
      "id": "0.0.0.1+-product+48958",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "OotbServiceLoginIp_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "quantity": 1,
   "id": "OotbPurchasedProduct_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+48958",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "OotbServiceLoginIp_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+241829",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+241829",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+242469",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 2: Creating a Purchase Product With a Service Alias

The following example shows how to create a purchase product with a service alias by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Teen Telephony C4B0",
      "id": "0.0.0.1+-product+193461",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbServiceAliasMSISDN_0001",
         "@type": "StringCharacteristic"
      },
      {
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbServiceAliasIMEI_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "id": "OotbPurchasedProductTelcoWSerAlias_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+193461",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbServiceAliasMSISDN_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbServiceAliasIMEI_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+243092",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+243092",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+243348",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 3: Creating a Bundle Purchase Product

The following example shows how to create a bundle purchase product with a productBundle at the top level by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": true,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "quantity": 1,
   "id": "OotbPurchasedProductKartikesBaseWoProdOffDisc_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "product": [
      {
         "isBundle": false,
         "name": "Voice Over IP12",
         "@type": "Product",
         "description": "Test description",
         "terminationDate": "2020-01-01T08:00:00.00Z",
         "productOffering": {
            "name": "Discount-product",
            "id": "0.0.0.1+-discount+197972",
            "@type": "ProductOffering"
         },
         "productCharacteristic": [
            {
               "id": "",
               "name": "ServiceType",
               "valueType": "string",
               "value": "/service/telco/gsm/telephony",
               "@type": "StringCharacteristic"
            },
            {
               "name": "MSISDN",
               "valueType": "string",
               "value": "OotbBundleWProdOffServiceAliasMSISDNDisc_0001",
               "@type": "StringCharacteristic"
            },
            {
               "name": "IMEI",
               "valueType": "string",
               "value": "OotbBundleWProdOffServiceAliasIMEIDisc_0001",
               "@type": "StringCharacteristic"
            }
         ],
         "status": "active",
         "id": "OotbPurchasedProductKartikesBundleWProdOffDisc_0001",
         "billingAccount": {
            "id": "0.0.0.1+-account+219307",
            "@type": "BillingAccount"
         },
         "realizingService": [
            {
               "id": "0.0.0.1+-service-telco-gsm-telephony+0",
               "@type": "RealizingService"
            }
         ],
         "startDate": "2018-01-01T08:00:00.00Z"
      }
   ]
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": true,
   "name": "Voice Over IP12",
   "productRelationship": {
      "id": "0.0.0.1+-purchased_discount+243943",
      "relationshipType": "bundles"
   },
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "product": [
      {
         "isBundle": false,
         "name": "Voice Over IP12",
         "productRelationship": {
            "id": "0.0.0.1+-purchased_product+241895",
            "relationshipType": "bundledBy"
         },
         "@type": "Product",
         "cycleStart": {
            "unit": "absolute",
            "amount": 0
         },
         "purchaseStart": {
            "unit": "absolute",
            "amount": 0
         },
         "description": "Test description",
         "terminationDate": "2020-01-01T08:00:00.00Z",
         "productOffering": {
            "id": "0.0.0.1+-discount+197972",
            "@type": "ProductOffering"
         },
         "productCharacteristic": [
            {
               "id": "",
               "name": "ServiceType",
               "valueType": "string",
               "value": "/service/telco/gsm/telephony",
               "@type": "StringCharacteristic"
            },
            {
               "id": "",
               "name": "MSISDN",
               "valueType": "string",
               "value": "OotbBundleWProdOffServiceAliasMSISDNDisc_0001",
               "@type": "StringCharacteristic"
            },
            {
               "id": "",
               "name": "IMEI",
               "valueType": "string",
               "value": "OotbBundleWProdOffServiceAliasIMEIDisc_0001",
               "@type": "StringCharacteristic"
            }
         ],
         "usageStart": {
            "unit": "absolute",
            "amount": 0
         },
         "gracePeriod": {
            "unit": "absolute",
            "amount": 0
         },
         "purchaseEnd": {
            "unit": "absolute",
            "amount": 0
         },
         "cycleEnd": {
            "unit": "absolute",
            "amount": 0
         },
         "id": "0.0.0.1+-purchased_discount+243943",
         "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_discount+243943",
         "status": "active",
         "quantity": 1,
         "billingAccount": {
            "id": "0.0.0.1+-account+219307",
            "name": "John ",
            "@type": "BillingAccount"
         },
         "realizingService": [
            {
               "id": "0.0.0.1+-service-telco-gsm-telephony+242535",
               "@type": "RealizingService"
            }
         ],
         "startDate": "2018-01-01T08:00:00.00Z",
         "usageEnd": {
            "unit": "absolute",
            "amount": 0
         }
      }
   ],
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.0++0",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+241895",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+241895",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+245351",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 4: Creating a Discount Purchase

The following example shows how to create a discount purchase by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @discountCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the discountCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Discount-product",
      "id": "0.0.0.1+-discount+197972",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbNewServiceAliasMSISDNDisc_0001",
         "@type": "StringCharacteristic"
      },
      {
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbNewServiceAliasIMEIDisc_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "quantity": 1,
   "id": "OotbPurchasedProductsTelcoWSerAliasDisc_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-discount+197972",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbNewServiceAliasMSISDNDisc_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbNewServiceAliasIMEIDisc_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_discount+242199",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_discount+242199",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+241687",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 5: Creating a Product With CPU Date and Quantity

The following example shows how to create a product with CPU date and quantity by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": true,
   "name": "Voice Over IP12",
   "@type": "Product",
   "quantity": 2,
   "cycleStart": {
      "amount": 5,
      "unit": "days"
   },
   "usageStart": {
      "amount": 5,
      "unit": "days"
   },
   "purchaseStart": {
      "amount": 5,
      "unit": "days"
   },
   "cycleEnd": {
      "amount": 1,
      "unit": "months"
   },
   "usageEnd": {
      "amount": 1,
      "unit": "months"
   },
   "purchaseEnd": {
      "amount": 1,
      "unit": "months"
   },
   "gracePeriod": {
      "amount": 1,
      "unit": "days"
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Product 1a - Internet Access",
      "id": "0.0.0.1+-product+48958",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "OotbNewServiceLoginIpCPUDates_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "id": "OotbPurchasedProductCPUDates_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": true,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "days",
      "amount": 5
   },
   "purchaseStart": {
      "unit": "days",
      "amount": 5
   },
   "description": "Test description",
   "terminationDate": "2018-02-06T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+48958",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "OotbNewServiceLoginIpCPUDates_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "days",
      "amount": 5
   },
   "gracePeriod": {
      "unit": "days",
      "amount": 1
   },
   "purchaseEnd": {
      "unit": "months",
      "amount": 1
   },
   "cycleEnd": {
      "unit": "months",
      "amount": 1
   },
   "id": "0.0.0.1+-purchased_product+245076",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+245076",
   "status": "active",
   "quantity": 2,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+245332",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-06T08:00:00.00Z",
   "usageEnd": {
      "unit": "months",
      "amount": 1
   }
}

Example 6: Creating a Purchase Product With An Existing Service

The following example shows how to create a purchase product with an existing service by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Product 1a - Internet Access",
      "id": "0.0.0.1+-product+48958",
      "@type": "ProductOffering"
   },
   "status": "active",
   "id": "OotbPurchasedProductKartikesExisting_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+242469",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+48958",
      "@type": "ProductOffering"
   },
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+248342",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+248342",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+242469",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 7: Creating a Product Price Override

The following example shows how to create a product priceOverride with a product by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Teen Telephony C4B0",
      "id": "0.0.0.1+-product+193461",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbNewServiceAliasMSISDNPriceOverride_0001",
         "@type": "StringCharacteristic"
      },
      {
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbNewServiceAliasIMEIPriceOverride_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "quantity": 1,
   "id": "OotbPurchasedProductPriceOverride_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+0",
         "@type": "RealizingService"
      }
   ],
   "productPrice": [
      {
         "@type": "ProductPrice",
         "priceType": "oneTime",
         "priceAlteration": [
            {
               "@type": "PriceAlteration",
               "priceType": "AmountOverride",
               "price": {
                  "@type": "Price",
                  "dutyFreeAmount": {
                     "value": 29.99,
                     "unit": "USD"
                  }
               }
            }
         ]
      }
   ],
   "startDate": "2018-01-03T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+193461",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbNewServiceAliasMSISDNPriceOverride_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbNewServiceAliasIMEIPriceOverride_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "productPrice": [
      {
         "@type": "ProductPrice",
         "priceType": "oneTime",
         "priceAlteration": [
            {
               "@type": "PriceAlteration",
               "priceType": "AmountOverride",
               "price": {
                  "dutyFreeAmount": {
                     "unit": "USD",
                     "value": "29.99"
                  },
                  "@type": "Price"
               }
            }
         ]
      }
   ],
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+249732",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+249732",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+249220",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-03T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 8: Creating a Tied Discount or Product

The following example shows how to create a tied discount or product with a tie ID by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+193461",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbNewServiceAliasMSISDNPriceOverride_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbNewServiceAliasIMEIPriceOverride_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "productPrice": [
      {
         "@type": "ProductPrice",
         "priceType": "oneTime",
         "priceAlteration": [
            {
               "@type": "PriceAlteration",
               "priceType": "AmountOverride",
               "price": {
                  "dutyFreeAmount": {
                     "unit": "USD",
                     "value": "29.99"
                  },
                  "@type": "Price"
               }
            }
         ]
      }
   ],
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+249732",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+249732",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+219307",
      "name": "John ",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+249220",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-03T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": true,
   "name": "Voice Over IP12",
   "productRelationship": {
      "id": "0.0.0.1+-purchased_discount+180272",
      "relationshipType": "tiedDiscount"
   },
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+175112",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbBaseServiceAliasMSISDNTiedProductwithId_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbBaseServiceAliasIMEITiedProductwithId_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+179144",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+179144",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+170441",
      "name": "Junior Walter",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+176584",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-03T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 9: POST Request With Query Parameters

The following example shows how to submit a POST request with query parameters on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product?fields=name,billingAccount,productCharacteristic' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+173233",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "QueryParamMSISDN_0004",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "QueryParamIMEI_0004",
         "@type": "StringCharacteristic"
      }
   ],
   "id": "QueryParamId_0004",
   "status": "active",
   "billingAccount": {
      "id": "0.0.0.1+-account+173169",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-03T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "name": "Voice Over IP12",
   "@type": "Product",
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "QueryParamMSISDN_0004",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "QueryParamIMEI_0004",
         "@type": "StringCharacteristic"
      }
   ],
   "id": "0.0.0.1+-purchased_product+174512",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+174512",
   "billingAccount": {
      "id": "0.0.0.1+-account+173169",
      "name": "Junior Walter",
      "@type": "BillingAccount"
   }
}

Example 10: Creating a Product with Price Tags as Product Characteristics

The following example shows how to submit a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP ",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2024-01-04T08:00:00.00Z",
   "productOffering": {
      "name": "Product 1a - Internet Access",
      "id": "0.0.0.1+-product+43220",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "newLoginBase_0019",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "PriceTags_0019",
         "name": "PriceOverride",
         "valueType": "array",
         "value": [
            {
               "priceType": "Recurring",
               "recurringChargePeriodLength": 1,
               "recurringChargePeriodType": "MONTH",
               "startDate": "2023-01-07T00:00:00.000Z",
               "endDate": "2023-01-07T00:00:00.000Z",
               "name": "PRICE1",
               "amount": 12
            },
            {
               "priceType": "One Time",
               "startDate": "2023-01-07T00:00:00.000Z",
               "endDate": "2023-01-07T00:00:00.000Z",
               "name": "ONE Time PRICE1",
               "percentage": 12
            }
         ]
      }
   ],
   "status": "active",
   "id": "ProductIpServiceFlattened_0019",
   "billingAccount": {
      "name": "Junior Walter",
      "id": "0.0.0.1+-account+90210",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2020-01-01T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": false,
   "name": "Voice Over IP ",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2024-01-04T08:00:00.00Z",
   "productOffering": {
      "name": "Product 1a - Internet Access",
      "id": "0.0.0.1+-product+43220",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "newLoginBase_0019",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "PriceTags_0019",
         "name": "PriceOverride",
         "valueType": "array",
         "value": [
            {
               "priceType": "Recurring",
               "recurringChargePeriodLength": 1,
               "recurringChargePeriodType": "MONTH",
               "startDate": "2023-01-07T00:00:00.000Z",
               "endDate": "2023-01-07T00:00:00.000Z",
               "name": "PRICE1",
               "amount": 12
            },
            {
               "priceType": "One Time",
               "startDate": "2023-01-07T00:00:00.000Z",
               "endDate": "2023-01-07T00:00:00.000Z",
               "name": "ONE Time PRICE1",
               "percentage": 12
            }
         ]
      }
   ],
   "status": "active",
   "id": "0.0.0.1+-purchased_product+293101",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+293101",
   "billingAccount": {
      "name": "Junior Walter",
      "id": "0.0.0.1+-account+90210",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+181921",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2020-01-01T08:00:00.00Z"
}

Example 11: Creating a Product with Balance Group Characteristics

The following example shows how to submit a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
    "isBundle": false,
    "name": "Voice Over IP12",
    "@type": "Product",
    "description": "Test description",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "productOffering": {
        "name": "Product 1a - Internet Access",
        "id": "0.0.0.1+-product+41250",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "password",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbNewServiceLoginIpKartikesBalanceGroup_0001",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "BalanceGroup",
            "valueType": "string",
            "value": "0.0.0.1 /balance_group 169929",
            "@type": "StringCharacteristic"
        }
    ],
    "status": "active",
    "quantity": 1,
    "id": "OotbPurchasedProductKartikesBalanceGroup_0001",
    "billingAccount": {
        "id": "0.0.0.1+-account+170441",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+0",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-03T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
    "isBundle": false,
    "name": "Voice Over IP12",
    "@type": "Product",
    "cycleStart": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseStart": {
        "unit": "absolute",
        "amount": 0
    },
    "description": "Test description",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "productOffering": {
        "id": "0.0.0.1+-product+41250",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "password",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbNewServiceLoginIpKartikesBalanceGroup_0001",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "BalanceGroup",
            "valueType": "string",
            "value": "0.0.0.1 /balance_group 169929",
            "@type": "StringCharacteristic"
        }
    ],
    "usageStart": {
        "unit": "absolute",
        "amount": 0
    },
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+176464",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+176464",
    "status": "active",
    "quantity": 1,
    "billingAccount": {
        "id": "0.0.0.1+-account+170441",
        "name": "Junior Walter",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+176720",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-03T08:00:00.00Z",
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    }
}

Example 12: Creating a Product with Bill Structure Characteristics

The following example shows how to submit a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Product 1a - Internet Access",
      "id": "0.0.0.1+-product+41250",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "OotbNewServiceLoginIpKartikesBillInfo_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "BillStructure",
         "valueType": "string",
         "value": "0.0.0.1 /billinfo 169417",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "quantity": 1,
   "id": "OotbPurchasedProductKartikesBillInfo_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+170441",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-03T08:00:00.00Z"
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": false,
   "name": "Voice Over IP12",
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+41250",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/ip",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServicePassword",
         "valueType": "string",
         "value": "password",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "ServiceLogin",
         "valueType": "string",
         "value": "OotbNewServiceLoginIpKartikesBillInfo_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "BillStructure",
         "valueType": "string",
         "value": "0.0.0.1 /billinfo 169417",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+179696",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+179696",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+170441",
      "name": "Junior Walter",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-ip+179952",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-03T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}

Example 13: Creating a Product with Product Relationship Bundles

The following example shows how to submit a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X POST 'http://host:port/brm/productInventory/version/product' -d @productCreate.json

The -d option specifies the file to attach as the request body.

Request Body

The following is an example of the contents of the productCreate.json file sent as the request body.

{
   "isBundle": true,
   "name": "Voice Over IP12",
   "@type": "Product",
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "name": "Teen Telephony C4B0",
      "id": "0.0.0.1+-product+175112",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbBaseServiceAliasMSISDNBundles_0001",
         "@type": "StringCharacteristic"
      },
      {
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbBaseServiceAliasIMEIBundles_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "status": "active",
   "id": "OotbPurchasedProductKartikesBaseBundles_0001",
   "billingAccount": {
      "id": "0.0.0.1+-account+170441",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+0",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "productRelationship": {
      "id": "0.0.0.1+-purchased_product+179696",
      "relationshipType": "bundles"
   }
}

Response Body

The following example shows the contents of the response body in JSON format.

{
   "isBundle": true,
   "name": "Voice Over IP12",
   "productRelationship": {
      "id": "0.0.0.1+-purchased_product+179696",
      "relationshipType": "bundles"
   },
   "@type": "Product",
   "cycleStart": {
      "unit": "absolute",
      "amount": 0
   },
   "product": [
      {
         "isBundle": false,
         "name": "Voice Over IP12",
         "productRelationship": {
            "id": "0.0.0.1+-purchased_product+178275",
            "relationshipType": "bundledBy"
         },
         "@type": "Product",
         "cycleStart": {
            "unit": "absolute",
            "amount": 0
         },
         "purchaseStart": {
            "unit": "absolute",
            "amount": 0
         },
         "description": "Test description",
         "terminationDate": "2020-01-01T08:00:00.00Z",
         "productOffering": {
            "id": "0.0.0.1+-product+41250",
            "@type": "ProductOffering"
         },
         "productCharacteristic": [
            {
               "id": "",
               "name": "ServiceType",
               "valueType": "string",
               "value": "/service/ip",
               "@type": "StringCharacteristic"
            },
            {
               "id": "",
               "name": "ServicePassword",
               "valueType": "string",
               "value": "password",
               "@type": "StringCharacteristic"
            },
            {
               "id": "",
               "name": "ServiceLogin",
               "valueType": "string",
               "value": "OotbNewServiceLoginIpKartikesBillInfo_0001",
               "@type": "StringCharacteristic"
            },
            {
               "id": "",
               "name": "BillStructure",
               "valueType": "string",
               "value": "0.0.0.1 /billinfo 169417",
               "@type": "StringCharacteristic"
            }
         ],
         "usageStart": {
            "unit": "absolute",
            "amount": 0
         },
         "gracePeriod": {
            "unit": "absolute",
            "amount": 0
         },
         "purchaseEnd": {
            "unit": "absolute",
            "amount": 0
         },
         "cycleEnd": {
            "unit": "absolute",
            "amount": 0
         },
         "id": "0.0.0.1+-purchased_product+179696",
         "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+179696",
         "status": "active",
         "quantity": 1,
         "billingAccount": {
            "id": "0.0.0.1+-account+170441",
            "name": "Junior Walter",
            "@type": "BillingAccount"
         },
         "realizingService": [
            {
               "id": "0.0.0.1+-service-ip+179952",
               "@type": "RealizingService"
            }
         ],
         "startDate": "2018-01-03T08:00:00.00Z",
         "usageEnd": {
            "unit": "absolute",
            "amount": 0
         }
      }
   ],
   "purchaseStart": {
      "unit": "absolute",
      "amount": 0
   },
   "description": "Test description",
   "terminationDate": "2020-01-01T08:00:00.00Z",
   "productOffering": {
      "id": "0.0.0.1+-product+175112",
      "@type": "ProductOffering"
   },
   "productCharacteristic": [
      {
         "id": "",
         "name": "ServiceType",
         "valueType": "string",
         "value": "/service/telco/gsm/telephony",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "MSISDN",
         "valueType": "string",
         "value": "OotbBaseServiceAliasMSISDNBundles_0001",
         "@type": "StringCharacteristic"
      },
      {
         "id": "",
         "name": "IMEI",
         "valueType": "string",
         "value": "OotbBaseServiceAliasIMEIBundles_0001",
         "@type": "StringCharacteristic"
      }
   ],
   "usageStart": {
      "unit": "absolute",
      "amount": 0
   },
   "gracePeriod": {
      "unit": "absolute",
      "amount": 0
   },
   "purchaseEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "cycleEnd": {
      "unit": "absolute",
      "amount": 0
   },
   "id": "0.0.0.1+-purchased_product+178275",
   "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+178275",
   "status": "active",
   "quantity": 1,
   "billingAccount": {
      "id": "0.0.0.1+-account+170441",
      "name": "Junior Walter",
      "@type": "BillingAccount"
   },
   "realizingService": [
      {
         "id": "0.0.0.1+-service-telco-gsm-telephony+179107",
         "@type": "RealizingService"
      }
   ],
   "startDate": "2018-01-01T08:00:00.00Z",
   "usageEnd": {
      "unit": "absolute",
      "amount": 0
   }
}
Back to Top