Skip to content

Products


Products are any combination of technical resources supported by the platform that can be limited in allowed quantities. Products are identified by their SKU (Stock Keeping Unit ID) and define a list of Fusion licenses or number entitlements.

Get the list of product items

List all license types and entitlements available for building a product.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/public/products/items

Authorization

Required role

Available for all authenticated users

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
parentstringSpecify a group UUIDyes

Note

Deprecated

This endpoint is deprecated. Use instead the equivalent endpoint with groups structure.

Endpoint

GET /api/v01/draas/{draas_instance}/groups/{uuid}/products/items

Authorization

Required role

groups.instance.products.items.read

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the group managing the subscription

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200One or more product items found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
itemsarrayList containing all product items objects available in the systemno
Product Item Object
ParameterTypeDescriptionConditional?
typestringType of product item, may be license for Fusion specific licenses or entitlement for number entitlementno
subTypestringIn case the type is a license, sub-type may take msTeamsUsers or sipTrunkChannels valuesyes
idstringIn case the type is an entitlement, this ID points to the right reference in our numbers management systemyes
namestringName of the product itemno
Example
json
{
    "items": [
        {
            "type": "license",
            "subType": "msTeamsUsers",
            "name": "MS Teams User"
        },
        {
            "type": "license",
            "subType": "sipTrunkChannels",
            "name": "SIP Trunk Channel"
        },
        {
            "type": "entitlement",
            "id": 2,
            "name": "Belgium - tollfree numbers"
        },
        {
            "type": "entitlement",
            "id": 8,
            "name": "France - geo"
        },
        {
            "type": "entitlement",
            "id": 14,
            "name": "NL - Real numbers"
        }
    ]
}

Get the list of products

List all products that have been defined for the group.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/public/products

Authorization

Required role

Available for all authenticated users

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of a product that look like the string passedno
sortstringAllows to specify one searchable property of a product to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
parentstringSpecify a group UUID. Only products defined for this specific UUID parent group are returnedyes / no
page_sizeintegerUsed for pagination, determines the maximum number of records on one page of results (defaults to 10)no
nextstringA token used to get the next records in the list. This token is taken back from the results of the previous callno

Use of parent query parameter

If logged as a system administrator the API consumer has to provide a parent UUID, otherwise the system doesn't know to which parent entity the request reports to.

Response

Status codes

ParameterDescription
200One or more products found
400Error while processing the request
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
resultsintegerTotal number of results from the queryno
pagesintegerTotal number of pages according to pagination settingsno
pageintegerCurrent displayed page from the set of pagesno
nextstringA token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of products has to be continuedyes
productsarrayList containing all product objects for the groupno
Product Object
ParameterTypeDescriptionConditional?
idintegerID of the product in databaseno
namestringName of the productno
descriptionstringDescription of the productyes
skustringStock keeping unit uniquely identifying the productno
statusstringStatus of the productno
Example
json
{
    "results": 2,
    "pages": 2,
    "page": 1,
    "next": "c2VhcmNoPVBDODM4OSZzb3J0PXN0YXR1cyZkaXI9ZGVzYyZwYWdlX3NpemU9MSZwYWdlPTI=",
    "products": [
        {
            "id": 25,
            "name": "NL Calling Plan",
            "sku": "PC83890",
            "status": "enabled"
        }
    ]
}

Get the details of a product

Returns a product details with its associated product items and allowed quantities.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/public/products/{product_id}

Authorization

Required role

Available for all authenticated users

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
product_idintegerID of the product in database as returned by this API

URL/Query parameters

|Parameter|Type|Description|Required?| |parent|string|Specify a group UUID. Only products defined for this specific UUID parent group are returned|yes / no|

Use of parent query parameter

If logged as a system administrator the API consumer has to provide a parent UUID, otherwise the system doesn't know to which parent entity the request reports to.

Response

Status codes

ParameterDescription
200Details of the product
400Error while processing the request
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
namestringName of the productno
descriptionstringDescription of the productyes
skustringStock keeping unit uniquely identifying the productno
statusstringStatus of the productno
itemsarrayList containing all product items quantities defining the productno
Example
json
{
    "name": "NL Calling Plan",
    "description": "blablabla",
    "sku": "PC83895",
    "status": "disabled",
    "items": [
        {
            "type": "license",
            "subType": "msTeamsUsers",
            "quantity": 0
        },
        {
            "type": "entitlement",
            "id": 14,
            "quantity": 1
        }
    ]
}

Define a new product

This endpoint allows to add a new product with its items list and allowed quantity.

Request

Endpoint

POST /api/v01/draas/{draas_instance}/groups/{uuid}/products

Authorization

Required role

groups.instance.product.create (only allowed to system or group administrators)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringSystem generated universal unique ID (UUID) identifying the group for which you want to add a new product

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringName of the productyes
descriptionstringDescription of the productno
skustringStock keeping unit uniquely identifying the productyes
statusstringStatus of the product. Possible values are:
  • enabled(default),
  • disabled.
no
itemsarrayList containing all product items quantities defining the productno
Product Item Quantity Object
ParameterTypeDescriptionConditional?
typestringType of product item, may be license for Fusion specific licenses or entitlement for number entitlementno
subTypestringIn case the type is a license, Possible values are:
  • msTeamsUsers,
  • sipTrunkChannels.
yes
idstringIn case the type is an entitlement, this ID points to the right reference in our numbers management systemyes
quantityintegerThe allowed quantity of the specified product itemyes

Example

json
{
    "name": "NL Calling Plan",
    "description": "blablabla",
    "sku": "PC83892",
    "status": "enabled",
    "items": [
        {
            "type": "license",
            "subType": "msTeamsUsers",
            "quantity": 1
        },
        {
            "type": "entitlement",
            "id": 14,
            "quantity": 1
        }
    ]
}

Response

Status codes

ParameterDescription
200The product was correctly created
400Error while creating the product
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerID of the product in databaseno
Example
json
{
    "id": 29
}

Modify an existing product

This endpoint allows to modify an existing product together with its items list and allowed quantity.

Request

Endpoint

PUT /api/v01/draas/{draas_instance}/groups/{uuid}/products/{product_id}

Authorization

Required role

groups.instance.product.instance.update (only allowed to system or group administrators)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringSystem generated universal unique ID (UUID) identifying the group for which you want to modify an existing product
product_idintegerID of the product in database as returned by this API

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringName of the productno
descriptionstring or nullDescription of the product. Set to null to remove an existing descriptionno
statusstringStatus of the product, allowed values are enabled or disabledno
itemsarrayList containing all product items quantities defining the productno

Product items modification

You should always pass the complete new product items list when calling this API. New items will be added to the product, existing items will be modified, missing items will be removed. Do not use the item request parameter if you don't need to modify the list.

Example

json
{
    "name": "NL New Calling Plan",
    "description": null,
    "status": "enabled",
    "items": [
        {
            "type": "license",
            "subType": "sipTrunkChannels",
            "quantity": 10
        },
        {
            "type": "entitlement",
            "id": 15,
            "quantity": 10
        }
    ]
}

Response

Status codes

ParameterDescription
204The product was correctly modified
400Error while modifying the product
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body

N/A