Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

REQUEST

POST /orderManagement/productOrder

Content-type: application/json

 

{   "note":[
      {
         "text":"A free text detailing the note"
      }
   ],
   "relatedParty":[
      {
         "role":"customer",
         "id":"345221",
         "href":"http://serverlocation:port/partyManagement/customer/345221",
         "name":"John Doe"
      },
      {
         "role":"seller",
         "id":"4563",
         "href":"http://serverlocation:port/partnerManagement/partner/4563"
      }
   ],
   "orderItem":[
      {
         "id":"1",
         "action":"add",
         "billingAccount":[{
               "id":"1789",
               "href":"http://serverlocation:port/billingManagement/billingAccount/1789"
         }],
         "productOffering":{
            "id":"42",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/42"
         },
         "product":{
            "productCharacteristic":[
               {
                  "name":"Colour",
                  "value":"White"
               },
               {
                  "name":"Memory",
                  "value":"16"
               }
            ]
         }
      },
      {
         "id":"2",
         "action":"modify",
         "product":{
            "id":"456",
            "href":"http: //serverlocation: port/inventoryManagement/product/456",
            "relatedParty":[
               {
                  "role":"user",
                  "id":"5667443",
                  "href":"http://serverlocation:port/partyManagement/user/5667443",
                  "name":"Jimmy Doe"
               }
            ]
         }
      },
      {
         "id":"3",
         "action":"delete",
         "product":{
            "id":"456",
            "href":"http: //serverlocation: port/inventoryManagement/product/456"
         }
      }
   ]
}

RESPONSE

201

Content-Type: application/json

{
   "id":"42",
   "href":"http://serverlocation:port/orderManagement/productOrder/42",
   "priority":"4",
   "category":"uncategorized",
   "state":"Acknowledged",
   "orderDate":"2013-04-12T16:42:23-04:00",
   "expectedCompletionDate":"2013-04-19T16:42:23-04:00",   "note":[
      {
         "text":"A free text detailing the note"
      }
   ],
   "relatedParty":[
      {
         "role":"customer",
         "id":"345221",
         "href":"http://serverlocation:port/partyManagement/customer/345221"
         "name":"John Doe"
      },
      {
         "role":"seller",
         "id":"4563",
         "href":"http://serverlocation:port/partnerManagement/partner/4563"
      }
   ],
   "orderItem":[
      {
         "id":"1",
         "action":"add",
         "state":"Acknowledged",
         "billingAccount":[{
               "id":"1789",
               "href":"http://serverlocation:port/billingManagement/billingAccount/1789"
         }],
         "productOffering":{
            "id":"42",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/42"
         },
         "product":{
            "productCharacteristic":[
               {
                  "name":"Colour",
                  "value":"White"
               },
               {
                  "name":"Memory",
                  "value":"16"
               }
            ]
         }
      },
      {
         "id":"2",
         "action":"modify",
         "state":"Acknowledged",
         "product":{
            "id":"456",
            "href":"http: //serverlocation: port/inventoryManagement/product/456",
            "relatedParty":[
               {
                  "role":"user",
                  "id":"5667443",
                  "href":"http://serverlocation:port/partyManagement/user/5667443",
                  "name":"Jimmy Doe"
               }
            ]
         }
      },
      {
         "id":"3",
         "action":"delete",
         "state":"Acknowledged",
         "product":{
            "id":"456",
            "href":"http: //serverlocation: port/inventoryManagement/product/456"
         }
      }
   ]
}

 

API

...

NOTIFICATION TEMPLATES 

For every single of operation on the entities use the following templates and provide sample REST notification POST calls.

It is assumed that the Pub/Sub uses the Register and UnRegister mechanisms described in the REST Guidelines reproduced below.

 

 

 REGISTER  REGISTER LISTENER POST /hub hub 

Description :

Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics. Subsequent POST calls will be rejected by the service if it does not support multiple listeners. In this case DELETE /api/hub/{id} must be called before an endpoint can be created again.

Behavior :

  • Returns HTTP/1.1 status code 204 if the request was successful.

 

  • Returns HTTP/1.1 status code 409 if request is not successful.
   

REQUEST

POST /api/hub

Accept: application/json

 

{"callback":
"http://in.listener.com"}

RESPONSE

201

Content-Type: application/json

Location: /api/hub/42

 

{"id":"42","callback":"http://in.listener.com","query":null}

Anchor
_Toc404092923
_Toc404092923
PRODUCT OFFERING RESOURCE MODEL

Managed Entity and Task Resource Models

...

REQUEST

POST catalogManagement/productOffering

Content-type: application/json

 

{

            "version": "1.0",

            "name": "Virtual Storage Medium",
            "description": "Virtual Storage Medium",
            "isBundle": "true",
            "lifecycleStatus": "Active",
            "validFor": {
                        "startDateTime": "2013-04-19T16:42:23-04:00",
                        "endDateTime": "2013-06-19T00:00:00-04:00"
            },
            "category": [
                        {
                                   "id": "12",
                                   "href": "http://serverlocation:port/catalogManagement/category/12",
                                   "version": "2.0",
                                   "name": "Cloud offerings"
                        }
            ],
            "channel": [
                        {
                                   "id": "13",
                                   "href": "http://serverlocation:port/marketSales/channel/13",
                                   "name": "Online Channel"
                        }
            ],
            "place": [
                        {
                                   "id": "12",
                                   "href": "http://serverlocation:port/marketSales/place/12",
                                   "name": "France"
                        }
            ],
            "bundledProductOffering": [
                        {
                                   "id": "15",
                                   "href": "http://serverlocation:port/catalogManagement/productOffering/15",
                                   "lifecycleStatus": "Active",
                                   "name": "Offering 15"
                        }, {
                                   "id": "64",
                                   "href": "http://serverlocation:port/catalogManagement/productOffering/64",
                                   "lifecycleStatus": "Active",
                                   "name": "Offering 64"
                        }
            ],
            "serviceLevelAgreement": {
                        "id": "28",
                        "href": "http://serverlocation:port/slaManagement/serviceLevelAgreement/28",
                        "name": "Standard SLA"
            },
            "productSpecification": {
                                   "id": "13",
                                   "href": "http://serverlocation:port/catalogManagement/productSpecification/13",
                                   "version": "2.0",
                                   "name": "specification product 1"
                        },

            "serviceCandidate": {
                                   "id": "13",
                                   "href": "http://serverlocation:port/catalogManagement/serviceCandidate/13",
                                   "version": "2.0",
                                   "name": "specification service 1"
                        },

            "resourceCandidate": {
                                   "id": "13",
                                   "href": "http://serverlocation:port/catalogManagement/resourceCandidate/13",
                                   "version": "2.0",
                                   "name": "specification resource 1"
                        },

            "productOfferingTerm": [
                        {
                                   "name": "12 Month",
                                   "description": "12 month contract",
                                   "duration": "12",
                                    "validFor": {
                                               "startDateTime": "2013-04-19T16:42:23-04:00",
                                               "endDateTime": "2013-06-19T00:00:00-04:00"
                                   }
                        }
            ],
            "productOfferingPrice": [
                        {

                                   "name": "Monthly Price",
                                   "description": "monthlyprice",
                                   "validFor": {
                                               "startDateTime": "2013-04-19T16:42:23-04:00",
                                               "endDateTime": "2013-06-19T00:00:00-04:00"
                                   },
                                   "priceType": "recurring",
                                   "unitOfMeasure": "",
                                   "price": {
                                               "taxIncludedAmount": "12.00",
                                               "dutyFreeAmount": "10.00",
                                               "taxRate": "20.00",
                                               "currencyCode": "EUR"
                                   },
                                   "recurringChargePeriod": "monthly"
                        }, {

                                   "name": "Usage Price",
                                   "description": "usageprice",
                                   "validFor": {
                                               "startDateTime": "2013-04-19T16:42:23-04:00",
                                               "endDateTime": "2013-06-19T00:00:00-04:00"
                                   },
                                   "priceType": "usage",
                                   "unitOfMeasure": "second",
                                   "price": {
                                               "taxIncludedAmount": "12.00",
                                               "dutyFreeAmount": "10.00",
                                               "taxRate": "20.00",
                                               "currencyCode": "EUR"
                                   },
                                   "recurringChargePeriod": ""
                        }
            ]
}

RESPONSE

201

Content-Type: application/json

 

{
            "id": "42",
            "href": "http://serverlocation:port/catalogManagement/productOffering/42",
            "version": "1.0",
            "lastUpdate": "2013-04-19T16:42:23-04:00",
            "name": "Virtual Storage Medium",
            "description": "Virtual Storage Medium",
            "isBundle": "true",
            "lifecycleStatus": "Active",
            "validFor": {
                        "startDateTime": "2013-04-19T16:42:23-04:00",
                        "endDateTime": "2013-06-19T00:00:00-04:00"
            },
            "category": [
                        {
                                   "id": "12",
                                   "href": "http://serverlocation:port/catalogManagement/category/12",
                                   "version": "2.0",
                                   "name": "Cloud offerings"
                        }
            ],
            "channel": [
                        {
                                   "id": "13",
                                   "href": "http://serverlocation:port/marketSales/channel/13",
                                   "name": "Online Channel"
                        }
            ],
            "place": [
                        {
                                   "id": "12",
                                   "href": "http://serverlocation:port/marketSales/place/12",
                                   "name": "France"
                        }
            ],
            "bundledProductOffering": [
                        {
                                   "id": "15",
                                   "href": "http://serverlocation:port/catalogManagement/productOffering/15",
                                   "lifecycleStatus": "Active",
                                   "name": "Offering 15"
                        }, {
                                   "id": "64",
                                   "href": "http://serverlocation:port/catalogManagement/productOffering/64",
                                   "lifecycleStatus": "Active",
                                   "name": "Offering 64"
                        }
            ],
            "serviceLevelAgreement": {
                        "id": "28",
                        "href": "http://serverlocation:port/slaManagement/serviceLevelAgreement/28",
                        "name": "Standard SLA"
            },
            "productSpecification": {
                                   "id": "13",
                                   "href": "http://serverlocation:port/catalogManagement/productSpecification/13",
                                   "version": "2.0",
                                   "name": "specification product 1"
                        },

            "serviceCandidate": {
                                   "id": "13",
                                   "href": "http://serverlocation:port/catalogManagement/serviceCandidate/13",
                                   "version": "2.0",
                                   "name": "specification service 1"
                        },

            "resourceCandidate":             {
                                    "id": "13",
                                   "href": "http://serverlocation:port/catalogManagement/resourceCandidate/13",
                                   "version": "2.0",
                                   "name": "specification resource 1"
                        },

            "productOfferingTerm": [
                        {
                                   "name": "12 Month",
                                   "description": "12 month contract",
                                   "duration": "12",
                                   "validFor": {
                                               "startDateTime": "2013-04-19T16:42:23-04:00",
                                               "endDateTime": "2013-06-19T00:00:00-04:00"
                                   }
                        }
            ],
            "productOfferingPrice": [
                        {

                                   "name": "Monthly Price",
                                   "description": "monthlyprice",
                                   "validFor": {
                                               "startDateTime": "2013-04-19T16:42:23-04:00",
                                               "endDateTime": "2013-06-19T00:00:00-04:00"
                                   },
                                   "priceType": "recurring",
                                   "unitOfMeasure": "",
                                   "price": {
                                               "taxIncludedAmount": "12.00",
                                               "dutyFreeAmount": "10.00",
                                               "taxRate": "20.00",
                                               "currencyCode": "EUR"
                                   },
                                   "recurringChargePeriod": "monthly"
                        }, {

                                   "name": "Usage Price",
                                   "description": "usageprice",
                                   "validFor": {
                                               "startDateTime": "2013-04-19T16:42:23-04:00",
                                               "endDateTime": "2013-06-19T00:00:00-04:00"
                                   },
                                   "priceType": "usage",
                                   "unitOfMeasure": "second",
                                   "price": {
                                               "taxIncludedAmount": "12.00",
                                               "dutyFreeAmount": "10.00",
                                               "taxRate": "20.00",
                                               "currencyCode": "EUR"
                                   },
                                   "recurringChargePeriod": ""
                        }
            ]
}



API NOTIFICATIOn TEMPLATES 

For every single of operation on the entities use the following templates and provide sample REST notification POST calls.

It is assumed that the Pub/Sub uses the Register and UnRegister mechanisms described in the REST Guidelines reproduced below.

 

 

 REGISTER LISTENER POST /hub 

Description :

Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics. Subsequent POST calls will be rejected by the service if it does not support multiple listeners. In this case DELETE /api/hub/{id} must be called before an endpoint can be created again.

...

Returns HTTP/1.1 status code 409 if request is not successful.

 

REQUEST

POST /api/hub

Accept: application/json

 

{"callback": "http://in.listener.com"} 

RESPONSE

201

Content-Type: application/json

Location: /api/hub/42

 

{"id":"42","callback":"http://in.listener.com","query":null}