Skip to content

Orders


Orders are seen as billable changes to a subscription. They can apply to a new tenant with a first subscription or to an existing tenant who wants a new subscription or wants to upgrade/downgrade an existing subscription. Only system (group) administrators can launch order requests. These API are dedicated to be used by external ordering systems (CRM, BSS, marketplace, ...).

Get the list of orders

List all orders that have been processed by the system.

Request

Endpoint

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

Authorization

Required role

Available for all authenticated users (API will list all orders of tenants that are related to the level of the authenticated administrator)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of an order that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
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

Response

Status codes

ParameterDescription
200One or more orders found
400Error while processing the request
403The administrator level doesn't allow to see this order
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 orders has to be continuedyes
ordersarrayList containing all order objects for the tenants related to the level of the authenticated administratorno
Example
json
{
    "next": "cGFnZV9zaXplPTImcGFnZT0y",
    "orders": [
        {
            "date": "2022-08-04T10:51:23",
            "id": 117,
            "name": "Upgrading my plan",
            "orderId": "1659610283",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "post"
        },
        {
            "date": "2022-08-04T10:51",
            "id": 118,
            "name": "Downgrading my plan",
            "orderId": "1659610295",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "delete"
        }
    ],
    "page": 1,
    "pages": 2,
    "results": 2
}

Get the details of an order

Returns an order details with its associated product items, quantities and provisioning status.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/public/orders/{order_id}

Authorization

Required role

Available for all authenticated users (but only available if the administrator level allows the maintenance of the related tenant)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
order_idintegerID of the order in database as returned by this API

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200Details of the order
400Error while processing the request
403The administrator level doesn't allow to see this order
404No orders found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
namestringName of the orderno
datestringDate and time the order has been processedno
orderIdstringA unique identifier of the orderno
typestringType of order, post for a resource provisioning or delete for a resource removingno
provisionedbooleanFlag indicating if the order has been corrctly processed for all products items and requested quantitiesno
tenantobjectA tenant object giving details about the related tenant for this orderno
subscriptionobjectA subscription object giving details about the related tenant for this orderno
orderItemsarrayList containing all order item objects providing details about SKU quantities and request statusno
Example
json
{
    "order": {
        "date": "2022-08-04T10:52:25",
        "name": "Downgrading my plan",
        "orderId": "1659610345",
        "orderItems": [
            {
                "name": "NL SIP trunk pack small",
                "provisioned": true,
                "quantity": 10,
                "sku": "MST_CP_NL"
            },
            {
                "name": "MS Teams BE calling plan",
                "provisioned": false,
                "quantity": 5,
                "sku": "MST_CP_BE"
            },
            {
                "name": "Pack 10 NL Numbers",
                "provisioned": true,
                "quantity": 2,
                "sku": "NBS_NL_10"
            }
        ],
        "provisioned": false,
        "subscription": {
            "billingId": "cbur::order::subscription",
            "id": 463,
            "name": "Upgrading my plan"
        },
        "tenant": {
            "id": 259,
            "name": "CBUR Test Tenant",
            "uuid": "test-tenant-cbur-id"
        },
        "type": "delete"
    }
}

Get the list of orders (System Admin)

List all orders of tenants that are related to the system level administrators.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/orders

Authorization

Required role

orders.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of an order that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
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

Response

Status codes

ParameterDescription
200One or more orders found
400Error while processing the request
403The administrator level doesn't allow to see this order
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 orders has to be continuedyes
ordersarrayList containing all order objects for the tenants related to the level of the authenticated administratorno
Order Object
ParameterTypeDescriptionConditional?Searchable?
idintegerID of the order in databasenono
namestringName of the ordernoyes
datestringDate and time the order has been processednono
orderIdstringA unique identifier of the ordernoyes
typestringType of order, post for a resource provisioning or delete for a resource removingnoyes
provisionedbooleanFlag indicating if the order has been corrctly processed for all products items and requested quantitiesnono
tenantobjectA tenant object giving details about the related tenant for this ordernono
subscriptionobjectA subscription object giving details about the related tenant for this ordernono
Tenant Object
ParameterTypeDescriptionConditional?
idintegerID of the tenant in databaseno
namestringName of the tenantno
uuidstringUniversal unique id uniquely identifying the tenantno
Subscription Object
ParameterTypeDescriptionConditional?
idintegerID of the subscription in databaseno
namestringName of the subscriptionno
billingIdstringExternal ID used in CDR as billing reference, also the one used as reference for order provisioning requestsno
Example
json
{
    "next": "cGFnZV9zaXplPTImcGFnZT0y",
    "orders": [
        {
            "date": "2022-08-04T10:51:23",
            "id": 117,
            "name": "Upgrading my plan",
            "orderId": "1659610283",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "post"
        },
        {
            "date": "2022-08-04T10:51",
            "id": 118,
            "name": "Downgrading my plan",
            "orderId": "1659610295",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "delete"
        }
    ],
    "page": 1,
    "pages": 2,
    "results": 2
}

Get the details of an order (System Admin)

Returns an order details with its associated product items, quantities and provisioning status.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/orders/{order_id}

Authorization

Required role

orders.instance

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
order_idintegerID of the order in database as returned by this API

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200Details of the order
400Error while processing the request
403The administrator level doesn't allow to see this order
404No orders found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
namestringName of the orderno
datestringDate and time the order has been processedno
orderIdstringA unique identifier of the orderno
typestringType of order, post for a resource provisioning or delete for a resource removingno
provisionedbooleanFlag indicating if the order has been corrctly processed for all products items and requested quantitiesno
tenantobjectA tenant object giving details about the related tenant for this orderno
subscriptionobjectA subscription object giving details about the related tenant for this orderno
orderItemsarrayList containing all order item objects providing details about SKU quantities and request statusno
Order Item Object
ParameterTypeDescriptionConditional?
skustringStock keeping unit of the requested productno
namestringName of the requested productno
quantityintegerQuantity of the requested product that was to be provided or removedno
provisionedbooleanFlag indicating if the product has been correctly processed for the requested quantityno
Example
json
{
    "order": [
        {
            "date": "2022-08-04T10:52:25",
            "name": "Downgrading my plan",
            "orderId": "1659610345",
            "orderItems": [
                {
                    "name": "NL SIP trunk pack small",
                    "provisioned": true,
                    "quantity": 10,
                    "sku": "MST_CP_NL"
                },
                {
                    "name": "MS Teams BE calling plan",
                    "provisioned": false,
                    "quantity": 5,
                    "sku": "MST_CP_BE"
                },
                {
                    "name": "Pack 10 NL Numbers",
                    "provisioned": true,
                    "quantity": 2,
                    "sku": "NBS_NL_10"
                }
            ],
            "provisioned": false,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "delete"
        }
    ]
}

Get the list of orders (Group Admin)

List all orders of tenants that are related to the group level administrators.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/groups/{uuid}/orders

Authorization

Required role

groups.instance.orders.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of an order that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
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

Response

Status codes

ParameterDescription
200One or more orders found
400Error while processing the request
403The administrator level doesn't allow to see this order
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 orders has to be continuedyes
ordersarrayList containing all order objects for the tenants related to the level of the authenticated administratorno
Example
json
{
    "next": "cGFnZV9zaXplPTImcGFnZT0y",
    "orders": [
        {
            "date": "2022-08-04T10:51:23",
            "id": 117,
            "name": "Upgrading my plan",
            "orderId": "1659610283",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "post"
        },
        {
            "date": "2022-08-04T10:51",
            "id": 118,
            "name": "Downgrading my plan",
            "orderId": "1659610295",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "delete"
        }
    ],
    "page": 1,
    "pages": 2,
    "results": 2
}

Get the details of an order (Group Admin)

Returns an order details with its associated product items, quantities and provisioning status.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/groups/{uuid}/orders/{order_id}

Authorization

Required role

groups.instance.orders.instance

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
order_idintegerID of the order in database as returned by this API

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200Details of the order
400Error while processing the request
403The administrator level doesn't allow to see this order
404No orders found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
namestringName of the orderno
datestringDate and time the order has been processedno
orderIdstringA unique identifier of the orderno
typestringType of order, post for a resource provisioning or delete for a resource removingno
provisionedbooleanFlag indicating if the order has been corrctly processed for all products items and requested quantitiesno
tenantobjectA tenant object giving details about the related tenant for this orderno
subscriptionobjectA subscription object giving details about the related tenant for this orderno
orderItemsarrayList containing all order item objects providing details about SKU quantities and request statusno
Order Item Object
ParameterTypeDescriptionConditional?
skustringStock keeping unit of the requested productno
namestringName of the requested productno
quantityintegerQuantity of the requested product that was to be provided or removedno
provisionedbooleanFlag indicating if the product has been correctly processed for the requested quantityno
Example
json
{
    "order": {
        "date": "2022-08-04T10:52:25",
        "name": "Downgrading my plan",
        "orderId": "1659610345",
        "orderItems": [
            {
                "name": "NL SIP trunk pack small",
                "provisioned": true,
                "quantity": 10,
                "sku": "MST_CP_NL"
            },
            {
                "name": "MS Teams BE calling plan",
                "provisioned": false,
                "quantity": 5,
                "sku": "MST_CP_BE"
            },
            {
                "name": "Pack 10 NL Numbers",
                "provisioned": true,
                "quantity": 2,
                "sku": "NBS_NL_10"
            }
        ],
        "provisioned": false,
        "subscription": {
            "billingId": "cbur::order::subscription",
            "id": 463,
            "name": "Upgrading my plan"
        },
        "tenant": {
            "id": 259,
            "name": "CBUR Test Tenant",
            "uuid": "test-tenant-cbur-id"
        },
        "type": "delete"
    }
}

Get the list of orders (Distributor Admin)

List all orders of tenants that are related to the distributor level administrators.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/distributors/{uuid}/orders

Authorization

Required role

distributors.instance.orders.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of an order that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
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

Response

Status codes

ParameterDescription
200One or more orders found
400Error while processing the request
403The administrator level doesn't allow to see this order
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 orders has to be continuedyes
ordersarrayList containing all order objects for the tenants related to the level of the authenticated administratorno
Example
json
{
    "next": "cGFnZV9zaXplPTImcGFnZT0y",
    "orders": [
        {
            "date": "2022-08-04T10:51:23",
            "id": 117,
            "name": "Upgrading my plan",
            "orderId": "1659610283",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "post"
        },
        {
            "date": "2022-08-04T10:51",
            "id": 118,
            "name": "Downgrading my plan",
            "orderId": "1659610295",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "delete"
        }
    ],
    "page": 1,
    "pages": 2,
    "results": 2
}

Get the details of an order (Distributor Admin)

Returns an order details with its associated product items, quantities and provisioning status.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/distributors/{uuid}/orders/{order_id}

Authorization

Required role

distributors.instance.orders.instance

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
order_idintegerID of the order in database as returned by this API

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200Details of the order
400Error while processing the request
403The administrator level doesn't allow to see this order
404No orders found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
namestringName of the orderno
datestringDate and time the order has been processedno
orderIdstringA unique identifier of the orderno
typestringType of order, post for a resource provisioning or delete for a resource removingno
provisionedbooleanFlag indicating if the order has been corrctly processed for all products items and requested quantitiesno
tenantobjectA tenant object giving details about the related tenant for this orderno
subscriptionobjectA subscription object giving details about the related tenant for this orderno
orderItemsarrayList containing all order item objects providing details about SKU quantities and request statusno
Order Item Object
ParameterTypeDescriptionConditional?
skustringStock keeping unit of the requested productno
namestringName of the requested productno
quantityintegerQuantity of the requested product that was to be provided or removedno
provisionedbooleanFlag indicating if the product has been correctly processed for the requested quantityno
Example
json
{
    "order": {
        "date": "2022-08-04T10:52:25",
        "name": "Downgrading my plan",
        "orderId": "1659610345",
        "orderItems": [
            {
                "name": "NL SIP trunk pack small",
                "provisioned": true,
                "quantity": 10,
                "sku": "MST_CP_NL"
            },
            {
                "name": "MS Teams BE calling plan",
                "provisioned": false,
                "quantity": 5,
                "sku": "MST_CP_BE"
            },
            {
                "name": "Pack 10 NL Numbers",
                "provisioned": true,
                "quantity": 2,
                "sku": "NBS_NL_10"
            }
        ],
        "provisioned": false,
        "subscription": {
            "billingId": "cbur::order::subscription",
            "id": 463,
            "name": "Upgrading my plan"
        },
        "tenant": {
            "id": 259,
            "name": "CBUR Test Tenant",
            "uuid": "test-tenant-cbur-id"
        },
        "type": "delete"
    }
}

Get the list of orders (Reseller Admin)

List all orders of tenants that are related to the reseller level administrators.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/resellers/{uuid}/orders

Authorization

Required role

resellers.instance.orders.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of an order that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
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

Response

Status codes

ParameterDescription
200One or more orders found
400Error while processing the request
403The administrator level doesn't allow to see this order
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 orders has to be continuedyes
ordersarrayList containing all order objects for the tenants related to the level of the authenticated administratorno
Example
json
{
    "next": "cGFnZV9zaXplPTImcGFnZT0y",
    "orders": [
        {
            "date": "2022-08-04T10:51:23",
            "id": 117,
            "name": "Upgrading my plan",
            "orderId": "1659610283",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "post"
        },
        {
            "date": "2022-08-04T10:51",
            "id": 118,
            "name": "Downgrading my plan",
            "orderId": "1659610295",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "delete"
        }
    ],
    "page": 1,
    "pages": 2,
    "results": 2
}

Get the details of an order (Reseller Admin)

Returns an order details with its associated product items, quantities and provisioning status.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/resellers/{uuid}/orders/{order_id}

Authorization

Required role

resellers.instance.orders.instance

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
order_idintegerID of the order in database as returned by this API

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200Details of the order
400Error while processing the request
403The administrator level doesn't allow to see this order
404No orders found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
namestringName of the orderno
datestringDate and time the order has been processedno
orderIdstringA unique identifier of the orderno
typestringType of order, post for a resource provisioning or delete for a resource removingno
provisionedbooleanFlag indicating if the order has been corrctly processed for all products items and requested quantitiesno
tenantobjectA tenant object giving details about the related tenant for this orderno
subscriptionobjectA subscription object giving details about the related tenant for this orderno
orderItemsarrayList containing all order item objects providing details about SKU quantities and request statusno
Order Item Object
ParameterTypeDescriptionConditional?
skustringStock keeping unit of the requested productno
namestringName of the requested productno
quantityintegerQuantity of the requested product that was to be provided or removedno
provisionedbooleanFlag indicating if the product has been correctly processed for the requested quantityno
Example
json
{
    "order": {
        "date": "2022-08-04T10:52:25",
        "name": "Downgrading my plan",
        "orderId": "1659610345",
        "orderItems": [
            {
                "name": "NL SIP trunk pack small",
                "provisioned": true,
                "quantity": 10,
                "sku": "MST_CP_NL"
            },
            {
                "name": "MS Teams BE calling plan",
                "provisioned": false,
                "quantity": 5,
                "sku": "MST_CP_BE"
            },
            {
                "name": "Pack 10 NL Numbers",
                "provisioned": true,
                "quantity": 2,
                "sku": "NBS_NL_10"
            }
        ],
        "provisioned": false,
        "subscription": {
            "billingId": "cbur::order::subscription",
            "id": 463,
            "name": "Upgrading my plan"
        },
        "tenant": {
            "id": 259,
            "name": "CBUR Test Tenant",
            "uuid": "test-tenant-cbur-id"
        },
        "type": "delete"
    }
}

Get the list of orders (Tenant Admin)

List all orders of tenants that are related to the tenant level administrators.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/orders

Authorization

Required role

tenants.instance.orders.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of an order that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
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

Response

Status codes

ParameterDescription
200One or more orders found
400Error while processing the request
403The administrator level doesn't allow to see this order
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 orders has to be continuedyes
ordersarrayList containing all order objects for the tenants related to the level of the authenticated administratorno
Example
json
{
    "next": "cGFnZV9zaXplPTImcGFnZT0y",
    "orders": [
        {
            "date": "2022-08-04T10:51:23",
            "id": 117,
            "name": "Upgrading my plan",
            "orderId": "1659610283",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "post"
        },
        {
            "date": "2022-08-04T10:51",
            "id": 118,
            "name": "Downgrading my plan",
            "orderId": "1659610295",
            "provisioned": true,
            "subscription": {
                "billingId": "cbur::order::subscription",
                "id": 463,
                "name": "Upgrading my plan"
            },
            "tenant": {
                "id": 259,
                "name": "CBUR Test Tenant",
                "uuid": "test-tenant-cbur-id"
            },
            "type": "delete"
        }
    ],
    "page": 1,
    "pages": 2,
    "results": 2
}

Get the details of an order (Tenant Admin)

Returns an order details with its associated product items, quantities and provisioning status.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/orders/{order_id}

Authorization

Required role

tenants.instance.orders.instance

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
order_idintegerID of the order in database as returned by this API

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200Details of the order
400Error while processing the request
403The administrator level doesn't allow to see this order
404No orders found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
namestringName of the orderno
datestringDate and time the order has been processedno
orderIdstringA unique identifier of the orderno
typestringType of order, post for a resource provisioning or delete for a resource removingno
provisionedbooleanFlag indicating if the order has been corrctly processed for all products items and requested quantitiesno
tenantobjectA tenant object giving details about the related tenant for this orderno
subscriptionobjectA subscription object giving details about the related tenant for this orderno
orderItemsarrayList containing all order item objects providing details about SKU quantities and request statusno
Order Item Object
ParameterTypeDescriptionConditional?
skustringStock keeping unit of the requested productno
namestringName of the requested productno
quantityintegerQuantity of the requested product that was to be provided or removedno
provisionedbooleanFlag indicating if the product has been correctly processed for the requested quantityno
Example
json
{
    "order": {
        "date": "2022-08-04T10:52:25",
        "name": "Downgrading my plan",
        "orderId": "1659610345",
        "orderItems": [
            {
                "name": "NL SIP trunk pack small",
                "provisioned": true,
                "quantity": 10,
                "sku": "MST_CP_NL"
            },
            {
                "name": "MS Teams BE calling plan",
                "provisioned": false,
                "quantity": 5,
                "sku": "MST_CP_BE"
            },
            {
                "name": "Pack 10 NL Numbers",
                "provisioned": true,
                "quantity": 2,
                "sku": "NBS_NL_10"
            }
        ],
        "provisioned": false,
        "subscription": {
            "billingId": "cbur::order::subscription",
            "id": 463,
            "name": "Upgrading my plan"
        },
        "tenant": {
            "id": 259,
            "name": "CBUR Test Tenant",
            "uuid": "test-tenant-cbur-id"
        },
        "type": "delete"
    }
}

Submit a new order for providing resources

This endpoint allows to create a new order with its SKU list and required quantities for providing products.

Request

Endpoint

POST /api/v01/draas/{draas_instance}/public/orders/tenants/{uuid}/subscriptions/{billing_id}

Authorization

Required role

public.product.create (only allowed to system administrators)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA unique ID identifying the tenant for which you want to provide new products as defined in the external requesting system
billing_idintegerBilling ID of an existing subscription as defined in the external requesting system

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringName of the productyes
productsarrayList containing all product quantities defining the orderyes

Example

json
{
    "name": "Upgrading my plan",
    "products": [
        {
            "sku": "MST_CP_NL",
            "quantity": 10
        },
        {
            "sku": "MST_CP_BE",
            "quantity": 5
        },
        {
            "sku": "NBS_NL_10",
            "quantity": 2
        }
    ]
}

Response

Status codes

ParameterDescription
200The order was correctly processed (see details of response for complete status report)
400Error while processing the order
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerID of the order in databaseno
orderIdstringA unique identifier of the orderno
resultsarrayList containing all result objects providing details about SKU product quantities and request statusno
Example
json
{
    "id": 121,
    "orderId": "1659691233",
    "results": [
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 10,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 14,
                    "provisioned": true,
                    "quantity": 10,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 10,
            "sku": "MST_CP_NL"
        },
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 5,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 1,
                    "provisioned": true,
                    "quantity": 5,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 5,
            "sku": "MST_CP_BE"
        },
        {
            "details": [
                {
                    "id": 3,
                    "provisioned": true,
                    "quantity": 20,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 2,
            "sku": "NBS_NL_10"
        }
    ]
}

Submit a new order for providing resources

This endpoint allows to create a new order with its SKU list and required quantities for providing products.

Request

Endpoint

POST /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/orders

Authorization

Required role

tenants.instance.subscriptions.instance.orders.create (not allowed to system administrators)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA unique ID identifying the tenant for which you want to provide new products as defined in the external requesting system
sub_idstringA system generated ID identifying the subscription for which you want to get the licenses

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringName of the productyes
productsarrayList containing all product quantities defining the orderyes
Product Quantity Object
ParameterTypeDescriptionRequired
skustringStock keeping unit of the requested productyes
quantityintegerQuantity of the requested product that has to be providedyes

Example

json
{
    "name": "Upgrading my plan",
    "products": [
        {
            "sku": "MST_CP_NL",
            "quantity": 10
        },
        {
            "sku": "MST_CP_BE",
            "quantity": 5
        },
        {
            "sku": "NBS_NL_10",
            "quantity": 2
        }
    ]
}

Response

Status codes

ParameterDescription
200The order was correctly processed (see details of response for complete status report)
400Error while processing the order
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerID of the order in databaseno
orderIdstringA unique identifier of the orderno
resultsarrayList containing all result objects providing details about SKU product quantities and request statusno
Result Object
ParameterTypeDescriptionConditional?
skustringStock keeping unit of the requested productno
quantityintegerQuantity of the requested product that was to be provided or removedno
provisionedbooleanFlag indicating if the product has been correctly processed for the requested quantity. Set to false if one of the underlying product item has been failing during provisioningno
detailsarrayList containing all detail objects providing details about every SKU product items quantities and request statusno
Detail 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
quantityintegerThe final quantity of the specified product item, resulting from product order quantity times product item defined quantityno
provisionedbooleanFlag indicating if the product item has been correctly processed for the requested quantityno
Example
json
{
    "id": 121,
    "orderId": "1659691233",
    "results": [
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 10,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 14,
                    "provisioned": true,
                    "quantity": 10,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 10,
            "sku": "MST_CP_NL"
        },
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 5,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 1,
                    "provisioned": true,
                    "quantity": 5,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 5,
            "sku": "MST_CP_BE"
        },
        {
            "details": [
                {
                    "id": 3,
                    "provisioned": true,
                    "quantity": 20,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 2,
            "sku": "NBS_NL_10"
        }
    ]
}

Submit a new order for removing resources

This endpoint allows to create a new order with its SKU list and required quantities for removing products.

Request

Endpoint

DELETE /api/v01/draas/{draas_instance}/public/orders/tenants/{uuid}/subscriptions/{billing_id}

Authorization

Required role

public.order.delete (not allowed to system administrators)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA unique ID identifying the tenant for which you want to remove existing products as defined in the external requesting system
billing_idintegerBilling ID of an existing subscription as defined in the external requesting system

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringName of the productyes
productsarrayList containing all product quantities defining the orderyes

Example

json
{
    "name": "Downgrading my plan",
    "products": [
        {
            "sku": "MST_CP_NL",
            "quantity": 10
        },
        {
            "sku": "MST_CP_BE",
            "quantity": 5
        },
        {
            "sku": "NBS_NL_10",
            "quantity": 2
        }
    ]
}

Response

Status codes

ParameterDescription
200The order was correctly processed (see details of response for complete status report)
400Error while processing the order
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerID of the order in databaseno
orderIdstringA unique identifier of the orderno
resultsarrayList containing all result objects providing details about SKU product quantities and request statusno
Example
json
{
    "id": 122,
    "orderId": "1659691400",
    "results": [
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 10,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 14,
                    "provisioned": true,
                    "quantity": 10,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 10,
            "sku": "MST_CP_NL"
        },
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 5,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 1,
                    "provisioned": true,
                    "quantity": 5,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 5,
            "sku": "MST_CP_BE"
        },
        {
            "details": [
                {
                    "id": 3,
                    "provisioned": true,
                    "quantity": 20,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 2,
            "sku": "NBS_NL_10"
        }
    ]
}

Submit a new order for removing resources

This endpoint allows to create a new order with its SKU list and required quantities for removing products.

Request

Endpoint

DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/orders

Authorization

Required role

tenants.instance.subscriptions.instance.orders.delete (not allowed to system administrators)

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA unique ID identifying the tenant for which you want to remove existing products as defined in the external requesting system
billing_idintegerBilling ID of an existing subscription as defined in the external requesting system

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringName of the productyes
productsarrayList containing all product quantities defining the orderyes

Example

json
{
    "name": "Downgrading my plan",
    "products": [
        {
            "sku": "MST_CP_NL",
            "quantity": 10
        },
        {
            "sku": "MST_CP_BE",
            "quantity": 5
        },
        {
            "sku": "NBS_NL_10",
            "quantity": 2
        }
    ]
}

Response

Status codes

ParameterDescription
200The order was correctly processed (see details of response for complete status report)
400Error while processing the order
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerID of the order in databaseno
orderIdstringA unique identifier of the orderno
resultsarrayList containing all result objects providing details about SKU product quantities and request statusno
Example
json
{
    "id": 122,
    "orderId": "1659691400",
    "results": [
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 10,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 14,
                    "provisioned": true,
                    "quantity": 10,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 10,
            "sku": "MST_CP_NL"
        },
        {
            "details": [
                {
                    "provisioned": true,
                    "quantity": 5,
                    "subType": "msTeamsUsers",
                    "type": "license"
                },
                {
                    "id": 1,
                    "provisioned": true,
                    "quantity": 5,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 5,
            "sku": "MST_CP_BE"
        },
        {
            "details": [
                {
                    "id": 3,
                    "provisioned": true,
                    "quantity": 20,
                    "type": "entitlement"
                }
            ],
            "provisioned": true,
            "quantity": 2,
            "sku": "NBS_NL_10"
        }
    ]
}