Create a Product

post

/product

Creates a product.

Request

Query Parameters
  • Specifies the comma-separated properties to include in the response.
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
Represents a base entity schema for TM Forum Open APIs.
Match All
Represents a base entity schema for TM Forum Open APIs.
Represents a base entity schema for TM Forum Open APIs.
Show Source
Nested Schema : Extensible_FVO
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Addressable_FVO
Type: object
Defines a base schema for addressable 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
Represents an entity reference schema for EntityRef classes.
Show Source
Nested Schema : EntityRef_FVO-allOf[2]
Type: object
Represents an entity reference schema for EntityRef classes.
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
Describes a given characteristic of an object or entity through a name/value pair.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Characteristic_FVO-allOf[1]
Type: object
Describes a 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 related characteristic.
Show Source
Nested Schema : CharacteristicRelationship_FVO-allOf[1]
Type: object
The related 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
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
Represents a monetary amount.
Show Source
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
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 : SpecialRatingProfile_FVO
Match All
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 : SpecialRatingProfile
Type: object
Represents a product-linked special rating profile instance for BRM service extended rating.
Show Source
  • Identifies the service extended rating profile type.
  • data
    The rating attribute values used by rating.
  • The profile identifier.
  • The label used to identify the special rating profile in rating rules.
  • The special rating profile name.
  • The special rating profile reference count.
  • Allowed Values: [ "noop", "provisioning", "provisioningFailed", "active", "unprovisioning", "unprovisioningFailed", "unprovisioned", "suspending", "suspendingFailed", "suspended" ]
    The special rating profile provisioning status.
Match All
Represents a product-linked special rating profile instance for BRM service extended rating.
Represents a product-linked special rating profile instance for BRM service extended rating.
Show Source
Nested Schema : SpecialRatingProfile-allOf[1]
Type: object
Nested Schema : SpecialRatingProfile_FVO-allOf[2]
Type: object
Show Source
Nested Schema : data
Type: array
The rating attribute values used by rating.
Show Source
Nested Schema : SpecialRatingProfileData_FVO
Match All
Show Source
Nested Schema : SpecialRatingProfileData
Type: object
A name/value entry for a product-linked special rating profile.
Show Source
Nested Schema : SpecialRatingProfileData_FVO-allOf[1]
Type: object
Nested Schema : TimePeriod
Type: object
Represents a time period with a start date, an end date, or both.
Show Source
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
Nested Schema : Product
Match All
A product offering procured by a customer or any other party playing a party role. The product is realized as one or more services or resources.
Show Source
  • Entity
    Represents a base entity schema for TM Forum Open APIs.
  • Product-allOf[1]
    A product offering procured by a customer or any other party playing a party role. The product is realized as one or more services or resources.
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
Nested Schema : Entity
Type: object
Represents a base entity schema for TM Forum Open APIs.
Match All
Represents a base entity schema for TM Forum Open APIs.
Represents a base entity schema for TM Forum Open APIs.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Addressable
Type: object
Defines a base schema for addressable entities.
Show Source
Nested Schema : Product-allOf[1]
Type: object
A product offering procured by a customer or any other party playing a party role. The product is realized as one or more services or 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", "ProductRef":"#/components/schemas/ProductRef", "ProductOracle":"#/components/schemas/ProductOracle" } }
    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
Represents entities that are orderable from the catalog provider. 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
Nested Schema : EntityRef
Match All
Represents an entity reference schema for EntityRef classes.
Show Source
Nested Schema : EntityRef-allOf[2]
Type: object
Represents an entity reference schema for EntityRef classes.
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
Type: object
A product reference.
Match All
A product reference.
A product reference.
Show Source
Nested Schema : Characteristic
Match All
Describes a given characteristic of an object or entity through a name/value pair.
Show Source
Nested Schema : Characteristic-allOf[1]
Type: object
Describes a 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 related characteristic.
Show Source
Nested Schema : CharacteristicRelationship-allOf[1]
Type: object
The related characteristic.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Represents entities that are orderable from the catalog provider. 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
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
Represents a monetary amount.
Show Source
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
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-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 : specialRatingProfile
Service extended rating profile linked to the product.
Match All
Service extended rating profile linked to the 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-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 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 : SpecialRatingProfile
Type: object
Represents a product-linked special rating profile instance for BRM service extended rating.
Show Source
  • Identifies the service extended rating profile type.
  • data
    The rating attribute values used by rating.
  • The profile identifier.
  • The label used to identify the special rating profile in rating rules.
  • The special rating profile name.
  • The special rating profile reference count.
  • Allowed Values: [ "noop", "provisioning", "provisioningFailed", "active", "unprovisioning", "unprovisioningFailed", "unprovisioned", "suspending", "suspendingFailed", "suspended" ]
    The special rating profile provisioning status.
Match All
Represents a product-linked special rating profile instance for BRM service extended rating.
Represents a product-linked special rating profile instance for BRM service extended rating.
Show Source
Nested Schema : SpecialRatingProfile-allOf[1]
Type: object
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
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

401 Response

The request is unauthorized.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

403 Response

The request is forbidden.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

404 Response

The resource is not found.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

405 Response

The method is not allowed.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

409 Response

The request conflicts with the resource state.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

500 Response

The server encountered an internal error.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

501 Response

The server does not implement this operation.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

503 Response

The service is unavailable.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source
Back to Top

Examples

Example 1: Creating an ERA Service Extended Rating Product

This example shows how to create an ERA service extended rating product by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest1.json

Request Body

The following example shows the contents of the sampleRequest1.json file sent as the request body.

{
    "@type": "Product",
    "isBundle": false,
    "description": "DBE Product Specification instance",
    "name": "Voice Over IP",
    "status": "active",
    "productOffering": {
        "id": "0.0.0.1+-product+628979"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "@type": "ArrayCharacteristic",
            "id": "ERA_PROD_DBE_p040s",
            "name": "ServiceId",
            "valueType": "string",
            "value": "cuke4brm_productChar_array_test_prodct_ootb_p031"
        }
    ],
    "billingAccount": {
        "id": "0.0.0.1+-account+734874"
    },
    "specialRatingProfile": {
        "@type": "SpecialRatingProfile",
        "name": "FRIENDS_FAMILY",
        "label": "Smart Calling up to 5 Numbers",
        "status": "noop",
        "referenceCount": 1,
        "data": [
            {
                "name": "dummy",
                "value": "0039335686849545",
                "validFor": {
                    "startDateTime": "2031-04-02T18:23:39Z"
                }
            },
            {
                "name": "dummy",
                "value": "0039335873473632",
                "validFor": {
                    "startDateTime": "2031-04-02T18:23:39Z",
                    "endDateTime": "2031-05-01T00:00:00Z"
                }
            }
        ]
    }
}

Response Body

The following example shows the response body.

{
    "@type": "ProductOracle",
    "cycleStart": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseStart": {
        "unit": "absolute",
        "amount": 0
    },
    "terminationDate": "",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "status": "active",
    "id": "0.0.0.1+-purchased_product+220637",
    "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+220637",
    "billingAccount": {
        "id": "0.0.0.1+-account+734874",
        "name": "Junior Walter",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+232586",
            "@type": "ServiceRef"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP",
    "specialRatingProfile": {
        "id": "0.0.0.1+-profile-serv_extrating+224539",
        "data": [
            {
                "validFor": {
                    "endDateTime": "",
                    "startDateTime": "2031-04-02T18:23:39.00Z"
                },
                "name": "dummy",
                "value": "0039335686849545"
            },
            {
                "validFor": {
                    "endDateTime": "2031-05-01T00:00:00.00Z",
                    "startDateTime": "2031-04-02T18:23:39.00Z"
                },
                "name": "dummy",
                "value": "0039335873473632"
            }
        ],
        "name": "FRIENDS_FAMILY",
        "label": "Smart Calling up to 5 Numbers",
        "@type": "SpecialRatingProfile",
        "status": "noop"
        "referenceCount": 1
    },
    "description": "DBE Product Specification instance",
    "productOffering": {
        "id": "",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "ERA_PROD_DBE_p040s",
            "name": "ServiceId",
            "valueType": "string",
            "value": "cuke4brm_productChar_array_test_prodct_ootb_p031",
            "@type": "StringCharacteristic"
        }
    ],
    "usageStart": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "quantity": 1,
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 2: Grouping SMS and Telephony Services into a Subscription Group

This example shows how to group SMS and telephony services into a single subscription group by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest2.json

Request Body

The following example shows the contents of the sampleRequest2.json file sent as the request body.

{
    "@type": "Product",
    "isBundle": true,
    "description": "DBE Product Specification instance",
    "name": "Voice Over IP",
    "status": "active",
    "startDate": "2018-01-02T01:30:00Z",
    "terminationDate": "2020-01-03T01:30:00Z",
    "productOffering": {
        "id": "0.0.0.1+-product+709347"
    },
    "quantity": 5,
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "parent_sub29",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "@type": "StringCharacteristic_FVO",
            "valueType": "string",
            "name": "Service Grouping",
            "value": "Y"
        }
    ],
    "billingAccount": {
        "id": "0.0.0.1+-account+734874"
    },
    "product": [
        {
            "isBundle": false,
            "name": "Voice Over SMS",
            "@type": "Product",
            "description": "Test description",
            "terminationDate": "2020-01-04T08:00:00.00Z",
            "productOffering": {
                "id": "0.0.0.1+-product+709357"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_sms29",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/sms",
                    "@type": "StringCharacteristic"
                }
            ],
            "status": "active",
            "billingAccount": {
                "id": "0.0.0.1+-account+734874"
            },
            "startDate": "2018-01-03T08:00:00.00Z"
        },
        {
            "isBundle": false,
            "name": "Voice Over GSM Telephony",
            "@type": "Product",
            "description": "Test description",
            "terminationDate": "2020-01-04T08:00:00.00Z",
            "productOffering": {
                "id": "0.0.0.1+-product+709367"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_telephony29",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/telephony",
                    "@type": "StringCharacteristic"
                }
            ],
            "status": "active",
            "billingAccount": {
                "id": "0.0.0.1+-account+734874"
            },
            "startDate": "2018-01-03T08:00:00.00Z"
        }
    ]
}

Response Body

The following example shows the response body.

{
    "productRelationship": [
        {
            "id": "0.0.0.1+-purchased_product+536529",
            "relationshipType": "bundles",
            "@type": "ProductRelationshipOracle"
        },
        {
            "id": "0.0.0.1+-purchased_product+536530",
            "relationshipType": "bundles",
            "@type": "ProductRelationshipOracle"
        }
    ],
    "@type": "ProductOracle",
    "product": [
        {
            "productRelationship": [
                {
                    "id": "0.0.0.1+-purchased_product+536560",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationshipOracle"
                }
            ],
            "@type": "ProductOracle",
            "terminationDate": "2020-01-02T08:00:00.00Z",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "0.0.0.1+-purchased_product+536529",
            "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+536529",
            "billingAccount": {
                "id": "0.0.0.1+-account+734874",
                "name": "Junior Walter",
                "@type": "BillingAccountRef"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "ServiceRef"
                }
            ],
            "isBundle": false,
            "name": "Voice Over SMS",
            "description": "Test description",
            "productOffering": {
                "name": "Standard SMS",
                "id": "0.0.0.1+-product+709357",
                "@type": "ProductOfferingRef"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_sms30",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/sms",
                    "@type": "StringCharacteristic"
                }
            ],
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        },
        {
            "productRelationship": [
                {
                    "id": "0.0.0.1+-purchased_product+536560",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationshipOracle"
                }
            ],
            "@type": "ProductOracle",
            "terminationDate": "2020-01-02T08:00:00.00Z",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "0.0.0.1+-purchased_product+536530",
            "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+536530",
            "billingAccount": {
                "id": "0.0.0.1+-account+734874",
                "name": "Junior Walter",
                "@type": "BillingAccountRef"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "ServiceRef"
                }
            ],
            "isBundle": false,
            "name": "Voice Over GSM Telephony",
            "description": "Test description",
            "productOffering": {
                "name": "Standard GSM Telephony",
                "id": "0.0.0.1+-product+709367",
                "@type": "ProductOfferingRef"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_telephony30",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/telephony",
                    "@type": "StringCharacteristic"
                }
            ],
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        }
    ],
    "terminationDate": "2020-01-03T01:30:00.00Z",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "status": "active",
    "id": "0.0.0.1+-purchased_product+536560",
    "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+536560",
    "billingAccount": {
        "id": "0.0.0.1+-account+734874",
        "name": "Junior Walter",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "",
            "@type": "ServiceRef"
        }
    ],
    "isBundle": true,
    "name": "Voice Over IP",
    "description": "DBE Product Specification instance",
    "productOffering": {
        "name": "Standard GSM",
        "id": "0.0.0.1+-product+709347",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "parent_sub30",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        }
    ],
    "quantity": 5,
    "startDate": "2018-01-02T01:30:00.00Z"
}

Example 3: Grouping SMS and Telephony Services into a Subscription Group (Custom Payload)

Note:

Key 'externalIdMappingEnabled' should be set to 'true' to use external Ids in custom payload

This example shows how to group SMS and telephony services into a single subscription group using a custom payload by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/'-H 'Content-Type: application/json' -d @sampleRequest3.json

Request Body

The following example shows the contents of the sampleRequest3.json file sent as the request body.

{
    "@type": "Product",
    "id": "cuke4BRM2_productName_test_new_prod_001079",
    "isBundle": true,
    "description": "DBE Product Specification instance",
    "name": "Voice Over IP",
    "status": "active",
    "startDate": "2018-01-02T01:30:00Z",
    "terminationDate": "2020-01-03T01:30:00Z",
    "productOffering": {
        "id": "Standard GSM"
    },
    "quantity": 5,
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "parent_sub29",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "@type": "StringCharacteristic_FVO",
            "valueType": "string",
            "name": "Service Grouping",
            "value": "Y"
        }
    ],
    "billingAccount": {
        "id": "billing-account-post-2"
    },
    "product": [
        {
            "isBundle": false,
            "name": "Voice Over SMS",
            "@type": "Product",
            "description": "Test description",
            "terminationDate": "2020-01-04T08:00:00.00Z",
            "productOffering": {
                "id": "Standard SMS"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_sms29",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/sms",
                    "@type": "StringCharacteristic"
                }
            ],
            "status": "active",
            "id": "ProductServiceFlattenedSMS1079",
            "billingAccount": {
                "id": "billing-account-post-2"
            },
            "startDate": "2018-01-03T08:00:00.00Z"
        },
        {
            "isBundle": false,
            "name": "Voice Over GSM Telephony",
            "@type": "Product",
            "description": "Test description",
            "terminationDate": "2020-01-04T08:00:00.00Z",
            "productOffering": {
                "id": "Standard GSM Telephony"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_telephony29",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/telephony",
                    "@type": "StringCharacteristic"
                }
            ],
            "status": "active",
            "id": "ProductTelephoneyServiceFlattened1079",
            "billingAccount": {
                "id": "billing-account-post-2"
            },
            "startDate": "2018-01-03T08:00:00.00Z"
        }
    ]
}

Response Body

The following example shows the response body.

{
    "productRelationship": [
        {
            "id": "ProductServiceFlattenedSMS1079",
            "relationshipType": "bundles",
            "@type": "ProductRelationship"
        },
        {
            "id": "ProductTelephoneyServiceFlattened1079",
            "relationshipType": "bundles",
            "@type": "ProductRelationship"
        }
    ],
    "@type": "Product",
    "cycleStart": {
        "unit": "absolute",
        "amount": 0
    },
    "product": [
        {
            "productRelationship": [
                {
                    "id": "cuke4BRM2_productName_test_new_prod_001079",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationship"
                }
            ],
            "@type": "Product",
            "cycleStart": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseStart": {
                "unit": "absolute",
                "amount": 0
            },
            "terminationDate": "2020-01-02T08:00:00.00Z",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "ProductServiceFlattenedSMS1079",
            "href": "https://host:port/brm/productInventory/v5/product/ProductServiceFlattenedSMS1079",
            "billingAccount": {
                "id": "billing-account-post-2",
                "name": "Douglas Rachel",
                "@type": "BillingAccount"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "RealizingService"
                }
            ],
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "isBundle": false,
            "name": "Voice Over SMS",
            "description": "Test description",
            "productOffering": {
                "name": "Standard SMS",
                "id": "Standard SMS",
                "@type": "ProductOffering"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_sms29",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/sms",
                    "@type": "StringCharacteristic"
                }
            ],
            "usageStart": {
                "unit": "absolute",
                "amount": 0
            },
            "cycleEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        },
        {
            "productRelationship": [
                {
                    "id": "cuke4BRM2_productName_test_new_prod_001079",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationship"
                }
            ],
            "@type": "Product",
            "cycleStart": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseStart": {
                "unit": "absolute",
                "amount": 0
            },
            "terminationDate": "2020-01-02T08:00:00.00Z",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "ProductTelephoneyServiceFlattened1079",
            "href": "https://host:port/brm/productInventory/v5/product/ProductTelephoneyServiceFlattened1079",
            "billingAccount": {
                "id": "billing-account-post-2",
                "name": "Douglas Rachel",
                "@type": "BillingAccount"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "RealizingService"
                }
            ],
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "isBundle": false,
            "name": "Voice Over GSM Telephony",
            "description": "Test description",
            "productOffering": {
                "name": "Standard GSM Telephony",
                "id": "Standard GSM Telephony",
                "@type": "ProductOffering"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceId",
                    "valueType": "string",
                    "value": "child_sub_telephony29",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/telco/gsm/telephony",
                    "@type": "StringCharacteristic"
                }
            ],
            "usageStart": {
                "unit": "absolute",
                "amount": 0
            },
            "cycleEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        }
    ],
    "purchaseStart": {
        "unit": "absolute",
        "amount": 0
    },
    "terminationDate": "2020-01-02T08:00:00.00Z",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "status": "active",
    "id": "cuke4BRM2_productName_test_new_prod_001079",
    "href": "https://host:port/brm/productInventory/v5/product/cuke4BRM2_productName_test_new_prod_001079",
    "billingAccount": {
        "id": "billing-account-post-2",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": true,
    "name": "Voice Over IP",
    "description": "DBE Product Specification instance",
    "productOffering": {
        "name": "",
        "id": "",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "parent_sub29",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        }
    ],
    "usageStart": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "quantity": 5,
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 4: Creating a Child Account Service Bundle

This example shows how to create the child-account service bundle with two standard telephony child products by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/'  -H 'Content-Type: application/json' -d @sampleRequest4.json

It has the same service-grouping characteristics as the primary bundle. Its two children are standard telephony products and contain no CommunityOffer characteristic.

Request Body

The following example shows the contents of the sampleRequest4.json file sent as the request body.

{
    "isBundle": true,
    "name": "FP Wireless Family Secondary Line Service",
    "id": "SecondaryBundle_01",
    "description": "Member service bundle with two telephony children",
    "status": "active",
    "productOffering": {
        "id": "88-1ZKN60"
    },
    "billingAccount": {
        "id": "child_id_01"
    },
    "realizingService": [
        {
            "id": ""
        }
    ],
    "productCharacteristic": [
        {
            "id": "SECONDARY-SERVICE-ID",
            "name": "ServiceId",
            "valueType": "string",
            "value": "WFSLS_296-120655776"
        },
        {
            "name": "ServicePassword",
            "valueType": "string",
            "value": "CGbu_1234#"
        },
        {
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony"
        },
        {
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y"
        },
        {
            "name": "CommunityMember",
            "valueType": "string",
            "value": "Y"
        }
    ],
    "product": [
        {
            "isBundle": false,
            "id": "SecondaryBundleFirstChild_01",
            "name": "5G Premium Voice Service",
            "description": "Standard GSM telephony subscription",
            "status": "active",
            "productOffering": {
                "id": "Standard GSM Telephony"
            },
            "billingAccount": {
                "id": "child_id_01"
            }
        },
        {
            "isBundle": false,
            "id": "SecondaryBundleSecondChild_01",
            "name": "Standard GSM Telephony Add-on",
            "description": "Second standard GSM telephony product",
            "status": "active",
            "productOffering": {
                "id": "Standard GSM Telephony"
            },
            "billingAccount": {
                "id": "child_id_01"
            }
        }
    ]
}

Response Body

The following example shows the response body.

{
    "productRelationship": [
        {
            "id": "SecondaryBundleFirstChild_01",
            "relationshipType": "bundles",
            "@type": "ProductRelationshipOracle"
        },
        {
            "id": "SecondaryBundleSecondChild_01",
            "relationshipType": "bundles",
            "@type": "ProductRelationshipOracle"
        }
    ],
    "@type": "ProductOracle",
    "cycleStart": {
        "unit": "absolute",
        "amount": 0
    },
    "product": [
        {
            "productRelationship": [
                {
                    "id": "SecondaryBundle_01",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationshipOracle"
                }
            ],
            "@type": "ProductOracle",
            "cycleStart": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseStart": {
                "unit": "absolute",
                "amount": 0
            },
            "terminationDate": "",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "SecondaryBundleFirstChild_01",
            "href": "https://host:port/brm/productInventory/v5/product/SecondaryBundleFirstChild_01",
            "billingAccount": {
                "id": "child_id_01",
                "name": "Douglas Rachel",
                "@type": "BillingAccountRef"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "ServiceRef"
                }
            ],
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "isBundle": false,
            "name": "5G Premium Voice Service",
            "description": "Standard GSM telephony subscription",
            "productOffering": {
                "name": "Standard GSM Telephony",
                "id": "Standard GSM Telephony",
                "@type": "ProductOfferingRef"
            },
            "usageStart": {
                "unit": "absolute",
                "amount": 0
            },
            "cycleEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        },
        {
            "productRelationship": [
                {
                    "id": "SecondaryBundle_01",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationshipOracle"
                }
            ],
            "@type": "ProductOracle",
            "cycleStart": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseStart": {
                "unit": "absolute",
                "amount": 0
            },
            "terminationDate": "",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "SecondaryBundleSecondChild_01",
            "href": "https://host:port/brm/productInventory/v5/product/SecondaryBundleSecondChild_01",
            "billingAccount": {
                "id": "child_id_01",
                "name": "Douglas Rachel",
                "@type": "BillingAccountRef"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "ServiceRef"
                }
            ],
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "isBundle": false,
            "name": "Standard GSM Telephony Add-on",
            "description": "Second standard GSM telephony product",
            "productOffering": {
                "name": "Standard GSM Telephony",
                "id": "Standard GSM Telephony",
                "@type": "ProductOfferingRef"
            },
            "usageStart": {
                "unit": "absolute",
                "amount": 0
            },
            "cycleEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        }
    ],
    "purchaseStart": {
        "unit": "absolute",
        "amount": 0
    },
    "terminationDate": "",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "status": "active",
    "id": "SecondaryBundle_01",
    "href": "https://host:port/brm/productInventory/v5/product/SecondaryBundle_01",
    "billingAccount": {
        "id": "child_id_01",
        "name": "child-billunit ",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "",
            "@type": "ServiceRef"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": true,
    "name": "FP Wireless Family Secondary Line Service",
    "description": "Member service bundle with two telephony children",
    "productOffering": {
        "name": "",
        "id": "",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "CGbu_1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "CommunityMember",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        },
        {
            "id": "SECONDARY-SERVICE-ID",
            "name": "ServiceId",
            "valueType": "string",
            "value": "WFSLS_296-120655776",
            "@type": "StringCharacteristic"
        }
    ],
    "usageStart": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "quantity": 1,
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 5: Creating a Parent Account Service Bundle

This example shows how to create the parent-account service bundle with two shared discount child products by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest5.json

Service Grouping=Y and CommunityMember=Y identify it as the owner-side service bundle. Its two child products are shared discount offers, each marked CommunityOffer=Y.

Request Body

The following example shows the contents of the sampleRequest5.json file sent as the request body.

{
    "isBundle": true,
    "name": "FP Wireless Testing Family Primary Line Service",
    "description": "Owner service bundle; contains the shared discount children",
    "status": "active",
    "id": "PrimaryBundle_01",
    "productOffering": {
        "id": "Standard GSM Telephony"
    },
    "billingAccount": {
        "id": "parent_id_01"
    },
    "realizingService": [
        {
            "id": ""
        }
    ],
    "productCharacteristic": [
        {
            "id": "PRIMARY-SERVICE-ID",
            "name": "ServiceId",
            "valueType": "string",
            "value": "WFPLS_296-120655776"
        },
        {
            "name": "ServicePassword",
            "valueType": "string",
            "value": "CGbu_1234#"
        },
        {
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony"
        },
        {
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y"
        },
        {
            "name": "CommunityMember",
            "valueType": "string",
            "value": "Y"
        }
    ],
    "product": [
        {
            "isBundle": false,
            "id": "PrimaryBundleFirstChild_01",
            "name": "Shared 4000 Minutes Beta Discount",
            "description": "Shared voice minutes discount",
            "status": "active",
            "productOffering": {
                "id": "Standard GSM Discount"
            },
            "billingAccount": {
                "id": "parent_id_01"
            },
            "productCharacteristic": [
                {
                    "name": "CommunityOffer",
                    "valueType": "string",
                    "value": "Y"
                }
            ]
        },
        {
            "isBundle": false,
            "id": "PrimaryBundleSecondChild_01",
            "name": "Shared 20GB Data Beta Discount",
            "description": "Shared data discount",
            "status": "active",
            "productOffering": {
                "id": "Standard GSM Discount"
            },
            "billingAccount": {
                "id": "parent_id_01"
            },
            "productCharacteristic": [
                {
                    "name": "CommunityOffer",
                    "valueType": "string",
                    "value": "Y"
                }
            ]
        }
    ]
}

Response Body

The following example shows the response body.

{
    "productRelationship": [
        {
            "id": "PrimaryBundleFirstChild_01",
            "relationshipType": "bundles",
            "@type": "ProductRelationshipOracle"
        },
        {
            "id": "PrimaryBundleSecondChild_01",
            "relationshipType": "bundles",
            "@type": "ProductRelationshipOracle"
        }
    ],
    "@type": "ProductOracle",
    "cycleStart": {
        "unit": "absolute",
        "amount": 0
    },
    "product": [
        {
            "productRelationship": [
                {
                    "id": "PrimaryBundle_01",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationshipOracle"
                }
            ],
            "@type": "ProductOracle",
            "cycleStart": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseStart": {
                "unit": "absolute",
                "amount": 0
            },
            "terminationDate": "",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "PrimaryBundleFirstChild_01",
            "href": "https://host:port/brm/productInventory/v5/product/PrimaryBundleFirstChild_01",
            "billingAccount": {
                "id": "parent_id_01",
                "name": "Douglas Rachel",
                "@type": "BillingAccountRef"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "ServiceRef"
                }
            ],
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "isBundle": false,
            "name": "Shared 4000 Minutes Beta Discount",
            "description": "Shared voice minutes discount",
            "productOffering": {
                "name": "Standard GSM Discount",
                "id": "Standard GSM Discount",
                "@type": "ProductOfferingRef"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "CommunityOffer",
                    "valueType": "string",
                    "value": "Y",
                    "@type": "StringCharacteristic"
                }
            ],
            "usageStart": {
                "unit": "absolute",
                "amount": 0
            },
            "cycleEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        },
        {
            "productRelationship": [
                {
                    "id": "PrimaryBundle_01",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationshipOracle"
                }
            ],
            "@type": "ProductOracle",
            "cycleStart": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseStart": {
                "unit": "absolute",
                "amount": 0
            },
            "terminationDate": "",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "status": "active",
            "id": "PrimaryBundleSecondChild_01",
            "href": "https://host:port/brm/productInventory/v5/product/PrimaryBundleSecondChild_01",
            "billingAccount": {
                "id": "parent_id_01",
                "name": "Douglas Rachel",
                "@type": "BillingAccountRef"
            },
            "realizingService": [
                {
                    "id": "",
                    "@type": "ServiceRef"
                }
            ],
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "isBundle": false,
            "name": "Shared 20GB Data Beta Discount",
            "description": "Shared data discount",
            "productOffering": {
                "name": "Standard GSM Discount",
                "id": "Standard GSM Discount",
                "@type": "ProductOfferingRef"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "CommunityOffer",
                    "valueType": "string",
                    "value": "Y",
                    "@type": "StringCharacteristic"
                }
            ],
            "usageStart": {
                "unit": "absolute",
                "amount": 0
            },
            "cycleEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        }
    ],
    "purchaseStart": {
        "unit": "absolute",
        "amount": 0
    },
    "terminationDate": "",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "status": "active",
    "id": "PrimaryBundle_01",
    "href": "https://host:port/brm/productInventory/v5/product/PrimaryBundle_01",
    "billingAccount": {
        "id": "parent_id_01",
        "name": "parent-billunit ",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "",
            "@type": "ServiceRef"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": true,
    "name": "FP Wireless Testing Family Primary Line Service",
    "description": "Owner service bundle; contains the shared discount children",
    "productOffering": {
        "name": "",
        "id": "",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "PRIMARY-SERVICE-ID",
            "name": "ServiceId",
            "valueType": "string",
            "value": "WFPLS_296-120655776",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "CGbu_1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "CommunityMember",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        }
    ],
    "usageStart": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "quantity": 1,
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 6: Creating a Discount Sharing Group Owner on a Parent Account

This example shows how to create a Discount Sharing Group owner with a parent account by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest6.json

Request Body

The following example shows the contents of the sampleRequest6.json file sent as the request body.

{
    "isBundle": true,
    "name": "TC04 Owner Service",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+207737"
    },
    "realizingService": [
        {
            "id": ""
        }
    ],
    "productCharacteristic": [
        {
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc04-owner-service-ob"
        },
        {
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony"
        },
        {
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y"
        },
        {
            "name": "Community Member",
            "valueType": "string",
            "value": "Y"
        }
    ]
}

Response Body

The following example shows the response body.

{
    "@type": "Product",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+220819",
    "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+220819",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+207737",
        "name": "parent-billunit ",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+219283",
            "@type": "ServiceRef"
        }
    ],
    "isBundle": true,
    "name": "TC04 Owner Service",
    "description": "",
    "productOffering": {
        "id": "0.0.0.0++0",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc04-owner-service-ob",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Community Member",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        }
    ],
    "quantity": 1
}

Example 7: Adding an AR Child to an Existing Parent Discount Sharing Group

This example shows how to add an AR child to an automatic Discount Sharing Group when the parent account already has a Discount Sharing Group by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest7.json

Request Body

The following example shows the contents of the sampleRequest7.json file sent as the request body.

{
    "isBundle": true,
    "name": "TC04 Automatic Member",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+211178"
    },
    "realizingService": [
        {
            "id": ""
        }
    ],
    "productCharacteristic": [
        {
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc04-member-service-ob"
        },
        {
            "name": "ServicePassword",
            "valueType": "string",
            "value": "CGbu_1234#"
        },
        {
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony"
        },
        {
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y"
        },
        {
            "name": "Community Member",
            "valueType": "string",
            "value": "Y"
        }
    ]
}

Response Body

The following example shows the response body.

{
    "@type": "Product",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+219145",
    "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+219145",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+211178",
        "name": "child-billunit ",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+220657",
            "@type": "ServiceRef"
        }
    ],
    "isBundle": true,
    "name": "TC04 Automatic Member",
    "description": "",
    "productOffering": {
        "id": "0.0.0.0++0",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc04-member-service-ob",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "CGbu_1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Community Member",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        }
    ],
    "quantity": 1
}

Example 8: Creating an Account Level Discount Sharing Group Without a Service

This example shows how to create an account-level Discount Sharing Group when the purchased product has no service by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest8.json

Request Body

The following example shows the contents of the sampleRequest8.json file sent as the request body.

{
    "isBundle": true,
    "name": "TC02 Account Owner",
    "status": "active",
    "productOffering": {
        "id": "0.0.0.1+-product+64390"
    },
    "billingAccount": {
        "id": "0.0.0.1+-account+205787"
    },
    "productCharacteristic": [
        {
            "name": "Community Member",
            "valueType": "string",
            "value": "Y"
        }
    ]
}

Response Body

The following example shows the response body.

{
    "@type": "Product",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+218120",
    "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+218120",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+205787",
        "name": "parent-billunit ",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+218096",
            "@type": "ServiceRef"
        }
    ],
    "isBundle": true,
    "name": "TC02 Account Owner",
    "description": "",
    "productOffering": {
        "id": "0.0.0.1+-product+64390",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "Community Member",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        }
    ],
    "quantity": 1
}

Example 9: Creating a Parent Discount Sharing Group with an Explicit Name

This example shows how to create a parent Discount Sharing Group with an explicit group name by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest9.json

Request Body

The following example shows the contents of the sampleRequest9.json file sent as the request body.

{
    "isBundle": true,
    "name": "TC05 Owner Service",
    "status": "active",
    "productOffering": {
        "id": "0.0.0.1+-product+64390"
    },
    "billingAccount": {
        "id": "0.0.0.1+-account+206203"
    },
    "realizingService": [
        {
            "id": ""
        }
    ],
    "productCharacteristic": [
        {
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc05A-owner-service"
        },
        {
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony"
        },
        {
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y"
        },
        {
            "name": "Community Member",
            "valueType": "string",
            "value": "ExplicitGroupName"
        }
    ]
}

Response Body

The following example shows the response body.

{
    "@type": "Product",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+219784",
    "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+219784",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+206203",
        "name": "parent-billunit ",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+220936",
            "@type": "ServiceRef"
        }
    ],
    "isBundle": true,
    "name": "TC05 Owner Service",
    "description": "",
    "productOffering": {
        "id": "0.0.0.1+-product+64390",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc05A-owner-service",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Community Member",
            "valueType": "string",
            "value": "ExplicitGroupName",
            "@type": "StringCharacteristic"
        }
    ],
    "quantity": 1
}

Example 10: Creating a Bundled Discount Sharing Group with a Community Offer

This example shows how to create a bundled discount Discount Sharing Group with a community offer by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest10.json

Request Body

The following example shows the contents of the sampleRequest10.json file sent as the request body.

{
    "isBundle": true,
    "name": "TC07 Owner Service Bundle",
    "status": "active",
    "productOffering": {
        "id": "0.0.0.1+-product+64390"
    },
    "billingAccount": {
        "id": "0.0.0.1+-account+206471"
    },
    "realizingService": [
        {
            "id": ""
        }
    ],
    "productCharacteristic": [
        {
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc07x-owner-service"
        },
        {
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony"
        },
        {
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y"
        },
        {
            "name": "Community Member",
            "valueType": "string",
            "value": "Y"
        }
    ],
    "product": [
        {
            "isBundle": false,
            "name": "TC07 Shared Minutes Discount",
            "status": "active",
            "productOffering": {
                "id": "0.0.0.1+-discount+61766"
            },
            "billingAccount": {
                "id": "0.0.0.1+-account+206471"
            },
            "productCharacteristic": [
                {
                    "name": "Community Offer",
                    "valueType": "string",
                    "value": "Y"
                }
            ]
        }
    ]
}

Response Body

The following example shows the response body.

{
    "productRelationship": [
        {
            "id": "0.0.0.1+-purchased_discount+219529",
            "relationshipType": "bundles",
            "@type": "ProductRelationship"
        }
    ],
    "@type": "Product",
    "product": [
        {
            "productRelationship": [
                {
                    "id": "0.0.0.1+-purchased_product+218761",
                    "relationshipType": "bundledBy",
                    "@type": "ProductRelationship"
                }
            ],
            "@type": "Product",
            "terminationDate": "",
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "id": "0.0.0.1+-purchased_discount+219529",
            "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_discount+219529",
            "status": "active",
            "billingAccount": {
                "id": "0.0.0.1+-account+206471",
                "name": "parent-billunit ",
                "@type": "BillingAccountRef"
            },
            "realizingService": [
                {
                    "id": "0.0.0.1+-service-telco-gsm-telephony+220937",
                    "@type": "ServiceRef"
                }
            ],
            "isBundle": false,
            "name": "TC07 Shared Minutes Discount",
            "description": "",
            "productOffering": {
                "id": "0.0.0.1+-discount+61766",
                "@type": "ProductOfferingRef"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "Community Offer",
                    "valueType": "string",
                    "value": "Y",
                    "@type": "StringCharacteristic"
                }
            ],
            "quantity": 1,
            "startDate": "2018-01-01T08:00:00.00Z"
        }
    ],
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+218761",
    "href": "https://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+218761",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+206471",
        "name": "parent-billunit ",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+220937",
            "@type": "ServiceRef"
        }
    ],
    "isBundle": true,
    "name": "TC07 Owner Service Bundle",
    "description": "",
    "productOffering": {
        "id": "0.0.0.1+-product+64390",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceId",
            "valueType": "string",
            "value": "tc07x-owner-service",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Service Grouping",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "Community Member",
            "valueType": "string",
            "value": "Y",
            "@type": "StringCharacteristic"
        }
    ],
    "quantity": 1
}

Example 11: Creating an ERA Service Extended Rating Product (Custom Payload with External ID Enabled)

Note:

Key 'externalIdMappingEnabled' should be set to 'true' to use external Ids in custom payload

This example shows how to create an ERA service extended rating product using a custom payload with external ID enabled by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest11.json

Request Body

The following example shows the contents of the sampleRequest11.json file sent as the request body.

{
    "@type": "Product",
    "id": "ERA_PROD_DBE_p008x",
    "isBundle": false,
    "description": "DBE Product Specification instance",
    "name": "Voice Over IP",
    "status": "active",
    "productOffering": {
        "id": "Teen Telephony C4B0"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "@type": "StringCharacteristic",
            "id": "ERA_PROD_DBE_p040s",
            "name": "ServiceId",
            "valueType": "string",
            "value": "cuke4brm_productChar_array_test_prodct_ootb_p031"
        }
    ],
    "billingAccount": {
        "id": "cuke4brm-rsm-customer-actno-new70"
    },
    "specialRatingProfile": {
        "id": "SPECIAL_RATING_006",
        "@type": "SpecialRatingProfile",
        "name": "FRIENDS_FAMILY",
        "label": "Smart Calling up to 5 Numbers",
        "status": "noop",
        "referenceCount": 1,
        "data": [
            {
                "name": "dummy",
                "value": "0039335686849545",
                "validFor": {
                    "startDateTime": "2031-04-02T18:23:39Z"
                }
            },
            {
                "name": "dummy",
                "value": "0039335873473632",
                "validFor": {
                    "startDateTime": "2031-04-02T18:23:39Z",
                    "endDateTime": "2031-05-01T00:00:00Z"
                }
            }
        ]
    }
}

Response Body

The following example shows the response body.

{
    "@type": "ProductOracle",
    "cycleStart": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseStart": {
        "unit": "absolute",
        "amount": 0
    },
    "terminationDate": "",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "status": "active",
    "id": "ERA_PROD_DBE_p008x",
    "href": "https://host:port/brm/productInventory/v5/product/ERA_PROD_DBE_p008x",
    "billingAccount": {
        "id": "cuke4brm-rsm-customer-actno-new70",
        "name": "Junior Walter",
        "@type": "BillingAccountRef"
    },
    "realizingService": [
        {
            "id": "",
            "@type": "ServiceRef"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP",
    "specialRatingProfile": {
        "id": "SPECIAL_RATING_006",
        "data": [
            {
                "validFor": {
                    "endDateTime": "",
                    "startDateTime": "2031-04-02T18:23:39.00Z"
                },
                "name": "dummy",
                "value": "0039335686849545"
            },
            {
                "validFor": {
                    "endDateTime": "2031-05-01T00:00:00.00Z",
                    "startDateTime": "2031-04-02T18:23:39.00Z"
                },
                "name": "dummy",
                "value": "0039335873473632"
            }
        ],
        "name": "FRIENDS_FAMILY",
        "label": "Smart Calling up to 5 Numbers",
        "@type": "SpecialRatingProfile",
        "status": "noop",
        "referenceCount": 1
    },
    "description": "DBE Product Specification instance",
    "productOffering": {
        "id": "Teen Telephony C4B0",
        "name": "Teen Telephony C4B0",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "ERA_PROD_DBE_p040s",
            "name": "ServiceId",
            "valueType": "string",
            "value": "cuke4brm_productChar_array_test_prodct_ootb_p031",
            "@type": "StringCharacteristic"
        }
    ],
    "usageStart": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "quantity": 1,
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 12: Creating an ERA Account Extended Rating Child Product (Custom Payload with External ID Enabled)

Note:

Key 'externalIdMappingEnabled' should be set to 'true' to use external Ids in custom payload

This example shows how to create an ERA account extended rating child product using a custom payload with external ID enabled by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest12.json

Request Body

The following example shows the contents of the sampleRequest12.json file sent as the request body.

{
    "@type": "Product",
    "id": "ERA_PROD_DBE_p001x",
    "isBundle": false,
    "description": "DBE Product Specification instance",
    "name": "Voice Over IP",
    "status": "active",
    "productOffering": {
        "id": "Account Level Product"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "@type": "StringCharacteristic",
            "id": "ERA_PROD_DBE_p001s",
            "name": "ServiceId",
            "valueType": "string",
            "value": "cuke4brm_productChar_array_test_prodct_ootb_p031"
        }
    ],
    "billingAccount": {
        "id": "cuke4brm-rsm-customer-actno-new70"
    },
    "specialRatingProfile": {
        "id": "SPECIAL_RATING_001",
        "@type": "SpecialRatingProfile",
        "name": "FRIENDS_FAMILY",
        "data": [
            {
                "name": "dummy",
                "value": "0039335686849545",
                "validFor": {
                    "startDateTime": "2031-04-02T18:23:39Z"
                }
            },
            {
                "name": "dummy",
                "value": "0039335873473632",
                "validFor": {
                    "startDateTime": "2031-04-02T18:23:39Z",
                    "endDateTime": "2031-05-01T00:00:00Z"
                }
            }
        ]
    }
}

Response Body

The following example shows the response body.

{
    "@type": "Product",
    "cycleStart": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseStart": {
        "unit": "absolute",
        "amount": 0
    },
    "terminationDate": "",
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "status": "active",
    "id": "ERA_PROD_DBE_p001",
    "href": "https://host:port/brm/productInventory/v5/product/ERA_PROD_DBE_p001",
    "billingAccount": {
        "id": "cuke4brm-rsm-customer-actno-new70",
        "name": "Junior Walter",
        "@type": "BillingAccountRef"
    },
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP",
    "specialRatingProfile": {
        "id": "SPECIAL_RATING_001",
        "data": [
            {
                "validFor": {
                    "endDateTime": "",
                    "startDateTime": "2031-04-02T18:23:39.00Z"
                },
                "name": "dummy",
                "value": "0039335686849545"
            },
            {
                "validFor": {
                    "endDateTime": "2031-05-01T00:00:00.00Z",
                    "startDateTime": "2031-04-02T18:23:39.00Z"
                },
                "name": "dummy",
                "value": "0039335873473632"
            }
        ],
        "name": "FRIENDS_FAMILY",
        "@type": "SpecialRatingProfile",
    },
    "description": "DBE Product Specification instance",
    "productOffering": {
        "id": "",
        "@type": "ProductOfferingRef"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "ERA_PROD_DBE_p001s",
            "name": "ServiceId",
            "valueType": "string",
            "value": "cuke4brm_productChar_array_test_prodct_ootb_p031",
            "@type": "StringCharacteristic"
        }
    ],
    "usageStart": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "quantity": 1,
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 13: Creating a Product Purchase Object

This 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 sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest13.json

Request Body

The following example shows the contents of the sampleRequest13.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": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbServiceLoginIp_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "status": "active",
    "quantity": 1,
    "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 response 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+48958",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@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",
        "@type": "BillingAccount",
        "name": "John "
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+242469",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-01T08:00:00.00Z",
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    }
}

Example 14: Creating a Purchase Product With a Service Alias

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

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest14.json

Request Body

The following example shows the contents of the sampleRequest14.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",
    "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 response 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"
        },
        {
            "name": "MSISDN",
            "valueType": "string",
            "value": "OotbServiceAliasMSISDN_0001",
            "@type": "StringCharacteristic",
            "id": ""
        },
        {
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbServiceAliasIMEI_0001",
            "@type": "StringCharacteristic",
            "id": ""
        }
    ],
    "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",
        "@type": "BillingAccount",
        "name": "John "
    },
    "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 15: Creating a Bundle Purchase Product

This example shows how to create a bundle purchase product with a child product by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest15.json

Request Body

The following example shows the contents of the sampleRequest15.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,
    "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": "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": "OotbBundleWProdOffServiceAliasMSISDN_0001",
                    "@type": "StringCharacteristic"
                },
                {
                    "name": "IMEI",
                    "valueType": "string",
                    "value": "OotbBundleWProdOffServiceAliasIMEI_0001",
                    "@type": "StringCharacteristic"
                }
            ],
            "status": "active",
            "quantity": 1,
            "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 response body.

{
    "isBundle": true,
    "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",
    "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+244391",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+244391",
    "status": "active",
    "quantity": 1,
    "billingAccount": {
        "id": "0.0.0.1+-account+219307",
        "@type": "BillingAccount",
        "name": "John "
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+242471",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-01T08:00:00.00Z",
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "productRelationship": {
        "id": "0.0.0.1+-purchased_product+243367",
        "relationshipType": "bundles"
    },
    "productOffering": {
        "id": "0.0.0.0++0",
        "@type": "ProductOffering"
    },
    "product": [
        {
            "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"
                },
                {
                    "name": "MSISDN",
                    "valueType": "string",
                    "value": "OotbBundleWProdOffServiceAliasMSISDN_0001",
                    "@type": "StringCharacteristic",
                    "id": ""
                },
                {
                    "name": "IMEI",
                    "valueType": "string",
                    "value": "OotbBundleWProdOffServiceAliasIMEI_0001",
                    "@type": "StringCharacteristic",
                    "id": ""
                }
            ],
            "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+243367",
            "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+243367",
            "status": "active",
            "quantity": 1,
            "billingAccount": {
                "id": "0.0.0.1+-account+219307",
                "@type": "BillingAccount",
                "name": "John "
            },
            "realizingService": [
                {
                    "id": "0.0.0.1+-service-telco-gsm-telephony+243879",
                    "@type": "RealizingService"
                }
            ],
            "startDate": "2018-01-01T08:00:00.00Z",
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "productRelationship": {
                "id": "0.0.0.1+-purchased_product+244391",
                "relationshipType": "bundledBy"
            }
        }
    ]
}

Example 16: Creating a Discount Purchase

This 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.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest16.json

Request Body

The following example shows the contents of the sampleRequest16.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,
    "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 response 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+-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",
            "id": ""
        },
        {
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbNewServiceAliasIMEIDisc_0001",
            "@type": "StringCharacteristic",
            "id": ""
        }
    ],
    "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",
        "@type": "BillingAccount",
        "name": "John "
    },
    "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 17: Creating a Product With CPU Date and Quantity

This example shows how to create a product with cycle, purchase, and usage dates and a quantity by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest17.json

Request Body

The following example shows the contents of the sampleRequest17.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": "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": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbNewServiceLoginIpCPUDates_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "status": "active",
    "quantity": 2,
    "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",
    "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"
    }
}

Response Body

The following example shows the response body.

{
    "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": "Cgbu1234#",
            "@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",
        "@type": "BillingAccount",
        "name": "John "
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+245332",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-06T08:00:00.00Z",
    "usageEnd": {
        "unit": "months",
        "amount": 1
    }
}

Example 18: Creating a Purchase Product With An Existing Service

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

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest18.json

Request Body

The following example shows the contents of the sampleRequest18.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",
    "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 response 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+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",
        "@type": "BillingAccount",
        "name": "John "
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+242469",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-01T08:00:00.00Z",
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    }
}

Example 19: Creating a Product Price Override

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

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest19.json

Request Body

The following example shows the contents of the sampleRequest19.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,
    "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-03T08:00:00.00Z",
    "productPrice": [
        {
            "@type": "ProductPrice",
            "priceType": "oneTime",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "@type": "Price",
                        "dutyFreeAmount": {
                            "value": 29.99,
                            "unit": "USD"
                        }
                    }
                }
            ]
        }
    ]
}

Response Body

The following example shows the response 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"
        },
        {
            "name": "MSISDN",
            "valueType": "string",
            "value": "OotbNewServiceAliasMSISDNPriceOverride_0001",
            "@type": "StringCharacteristic",
            "id": ""
        },
        {
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbNewServiceAliasIMEIPriceOverride_0001",
            "@type": "StringCharacteristic",
            "id": ""
        }
    ],
    "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+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",
        "@type": "BillingAccount",
        "name": "John "
    },
    "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
    },
    "productPrice": [
        {
            "@type": "ProductPrice",
            "priceType": "oneTime",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "@type": "Price",
                        "dutyFreeAmount": {
                            "value": "29.99",
                            "unit": "USD"
                        }
                    }
                }
            ]
        }
    ]
}

Example 20: Creating a Tied Discount or Product

This example shows how to create a product tied to an existing discount by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest20.json

Request Body

The following example shows the contents of the sampleRequest20.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": "OotbBaseServiceAliasMSISDNTiedProductwithId_0001",
            "@type": "StringCharacteristic"
        },
        {
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbBaseServiceAliasIMEITiedProductwithId_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "status": "active",
    "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-03T08:00:00.00Z",
    "tieId": "tiedDiscountId_0001",
    "productRelationship": {
        "id": "0.0.0.1+-purchased_discount+180272",
        "relationshipType": "tiedDiscount"
    }
}

Response Body

The following example shows the response body.

{
    "isBundle": true,
    "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+175112",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "name": "MSISDN",
            "valueType": "string",
            "value": "OotbBaseServiceAliasMSISDNTiedProductwithId_0001",
            "@type": "StringCharacteristic",
            "id": ""
        },
        {
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbBaseServiceAliasIMEITiedProductwithId_0001",
            "@type": "StringCharacteristic",
            "id": ""
        }
    ],
    "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",
        "@type": "BillingAccount",
        "name": "Junior Walter"
    },
    "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
    },
    "productRelationship": {
        "id": "0.0.0.1+-purchased_discount+180272",
        "relationshipType": "tiedDiscount"
    }
}

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

This example shows how to create a product with price tags specified as product characteristics by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest21.json

Request Body

The following example shows the contents of the sampleRequest21.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"
    },
    "status": "active",
    "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",
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "newLoginBase_0019koke",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@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
                }
            ]
        }
    ]
}

Response Body

The following example shows the response 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"
    },
    "status": "active",
    "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",
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "newLoginBase_0019koke",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@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
                }
            ]
        }
    ],
    "id": "0.0.0.1+-purchased_product+293101",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+293101"
}

Example 22: Creating a Product with Balance Group Characteristics

This example shows how to create a product with balance group characteristics by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest22.json

Request Body

The following example shows the contents of the sampleRequest22.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": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbNewServiceLoginIpBalanceGroup_0001",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "BalanceGroup",
            "valueType": "string",
            "value": "0.0.0.1 /balance_group 169929",
            "@type": "StringCharacteristic"
        }
    ],
    "status": "active",
    "quantity": 1,
    "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 response 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+41250",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbNewServiceLoginIpBalanceGroup_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",
        "@type": "BillingAccount",
        "name": "Junior Walter"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+176720",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-03T08:00:00.00Z",
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    }
}

Example 23: Creating a Product with Bill Structure Characteristics

This example shows how to create a product with bill structure characteristics by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest23.json

Request Body

The following example shows the contents of the sampleRequest23.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": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbNewServiceLoginIpBillInfo_0001",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "BillStructure",
            "valueType": "string",
            "value": "0.0.0.1 /billinfo 169417",
            "@type": "StringCharacteristic"
        }
    ],
    "status": "active",
    "quantity": 1,
    "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 response 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+41250",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbNewServiceLoginIpBillInfo_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",
        "@type": "BillingAccount",
        "name": "Junior Walter"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+179952",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-03T08:00:00.00Z",
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    }
}

Example 24: Creating a Product with Product Relationship Bundles

This example shows how to create a product that bundles an existing purchased product through a product relationship by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

The -d option specifies the sample request body file.

curl -X POST 'http://hostname:port/brm/productInventory/v5/product/' -H 'Content-Type: application/json' -d @sampleRequest24.json

Request Body

The following example shows the contents of the sampleRequest24.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",
    "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 response body.

{
    "isBundle": true,
    "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+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",
            "id": ""
        },
        {
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbBaseServiceAliasIMEIBundles_0001",
            "@type": "StringCharacteristic",
            "id": ""
        }
    ],
    "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",
        "@type": "BillingAccount",
        "name": "Junior Walter"
    },
    "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
    },
    "productRelationship": {
        "id": "0.0.0.1+-purchased_product+179696",
        "relationshipType": "bundles"
    },
    "product": [
        {
            "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": "Cgbu1234#",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceLogin",
                    "valueType": "string",
                    "value": "OotbNewServiceLoginIpBillInfo_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",
                "@type": "BillingAccount",
                "name": "Junior Walter"
            },
            "realizingService": [
                {
                    "id": "0.0.0.1+-service-ip+179952",
                    "@type": "RealizingService"
                }
            ],
            "startDate": "2018-01-03T08:00:00.00Z",
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "productRelationship": {
                "id": "0.0.0.1+-purchased_product+178275",
                "relationshipType": "bundledBy"
            }
        }
    ]
}

Example 25: 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"
        }
    ],
    "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"
    }
}
Back to Top