...
Filtering and attribute selection rules are described in the TMF REST Design Guidelines.
Notifications are also described in a subsequent section.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
This Uniform Contract operation is used to retrieve the representation of a managed entity or a task.
Note that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :
...
- Standard behavior and response codes for GET operations
- Filtering is enabled on all attributes, particularly due to the hierarchical nature of productCategory, children of a productCategory are obtained by filtering on the parentId attribute of the resource.
Attribute selection is not enabled for this simple resource
REQUEST
GET /catalogManagement/category/{42}
Accept: application/jsonRESPONSE
200
Content-Type: application/json
{
"id": "42",
"href": "http://serverlocation:port/catalogManagement/category/42",
"lastUpdate": "2013-04-19T16:42:23-04:00",
"version": "2.0",
"lifecycleStatus": "Active",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"parentId": " 41",
"isRoot": "false",
"name": "Cloud Services",
"description": "A category to hold all available cloud service offers"
}Anchor _Toc362514687 _Toc362514687
GET /catalogManagement/productOffering/{ID}This Uniform Contract operation is used to retrieve the representation of a managed entity or a task.Anchor _Toc405197197 _Toc405197197
Note that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :- This operation returns all productOfferings from the catalog, unless an ID is specified in which case a specific productOffering resource would be returned. The ProductOffering resource represents entities that are orderable from the provider of the catalog. This resource includes pricing information.
- The resource instance being returned is a productOffering or an array of product offering if the query returns multiple resources
- The resource is either a managed entity or a collection depending on the query pattern.
- The ID may be a string (or a string containing numbers).
...
- What status and exception codes are returned.
- 200 if no productOffering found for supplied categoryId (200) (filter expression)
- 404 Not found when the supplied ID doesn't match a known productOffering.
- Filtering is enabled on all productOffering attributes.
Attribute selection is enabled.
REQUEST
GET /catalogManagement/productOffering/{42}
Accept: application/jsonRESPONSE
200
Content-Type: application/json
{
"id": "42",
"href": "http://serverlocation:port/catalogManagement/productOffering/42",
"version": "2.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": ""
}
]
}
Another example of a query on the category.href attribute would be executed, however only a limited set of attributes is initially returned (id, name, description, productSpecification and validFor).REQUEST
GET /catalogManagement/productOffering/name,id,description,validFor,productSpecification,isBundle,bundledProductOffering?category.id=12
Accept: application/jsonRESPONSE for bundled ProductOffering
200
Content-Type: application/json
{
"id": "42",
"href": "http://serverlocation:port/catalogManagement/productOffering/42",
"name": "Virtual Storage Medium",
"description": "Virtual Storage Medium",
"isBundle": "true",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": "2013-06-19T00:00:00-04:00"
},
"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"
}
],
"productSpecification": {"id": "13",
"href": "http://serverlocation:port/catalogManagement/productSpecification/13",
"version": "2.0",
"name": "specification product 1"
}
}RESPONSE for simple ProductOffering
200
Content-Type: application/json
{
"id": "42",
"href": "http://serverlocation:port/catalogManagement/productOffering/42",
"name": "Virtual Storage Medium",
"description": "Virtual Storage Medium",
"isBundle": "false",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": "2013-06-19T00:00:00-04:00"
},"productSpecification": {
"id": "13",
"href": "http://serverlocation:port/catalogManagement/productSpecification/13",
"version": "2.0",
"name": "specification product 1"
}
}Anchor _Toc362514688 _Toc362514688
GET /catalogManagement/productSpecification/{ID}This Uniform Contract operation is used to retrieve the representation of a managed entity or collection.Anchor _Toc405197198 _Toc405197198
Note that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :- This operation returns productSpecifications from a catalog. A detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to Customers or other Parties playing a PartyRole.
- The resource instance being returned is a productSpecification or an array of productSpecifications if the query returns multiple specifications.
- The resource represents a managed entity or a collection.
- The ID may be a string (or a string containing numbers).
...
- What status and exception codes are returned.
- 200 if no productSpecification found
- 404 Not found when the supplied ID doesn't match a known productSpecification.
- Filtering is enabled on all productSpecification attributes.
Attribute selection is enabled.
REQUEST
GET /catalogManagement/productSpecification/22
Accept: application/jsonRESPONSE
{
"id": "22",
"href": "http://serverlocation:port/catalogManagement/productSpecification/22",
"productNumber": "WS45-230-FC",
"version": "2.0",
"lastUpdate": "2013-04-19T16:42:23-04:00",
"name": "iPhone 42",
"description": "Siri works on this iPhone",
"isBundle": "true",
"brand": "Apple",
"lifecycleStatus": "Active",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": "2013-06-19T00:00:00-04:00"
},
"relatedParty": [
{"id": "1234",
"role": "Owner",
"href": "http ://serverLocation:port/partyManagement/partyRole/1234"
}
],
"attachment": [
{"id": “22",
"href": "http://serverlocation:port/documentManagement/attachment/22",
"type": "Picture",
"url": "http://xxxxx"
}
],
"bundledProductSpecification": [
{"id": “15”,
"href": "http://serverlocation:port/catalogManagement/productSpecification/15",
"lifecycleStatus": "Active",
"name": "Product specification 15"
}, {"id": “64”,
"href": "http://serverlocation:port/catalogManagement/productSpecification/64",
"lifecycleStatus": "Active",
"name": "Product specification 64"
}
],
"productSpecificationRelationship": [
{
"id": "23","href": "http://serverlocation:port/productCatalogManagement/productSpecification/23",
"type": "dependency",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
}
],
"serviceSpecification": [
{"id": “13”,
"href": "http://serverlocation:port/catalogManagement/serviceSpecification/13",
"name": "specification 1",
"version": "1.1"
}
],
"resourceSpecification": [
{"id": “13”,
"href": "http://serverlocation:port/catalogManagement/resourceSpecification/13",
"name": "specification 1",
"version": "1.1"
}
],
"productSpecCharacteristic": [
{
"name": "Screen Size",
"description": "Screen size",
"valueType": "number",
"configurable": "false",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},"productSpecCharacteristicValue": [
{
"valueType": "number",
"default": "true",
"value": "4.2",
"unitOfMeasure": "inches",
"valueFrom": "",
"valueTo": "",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
}
]
}, {"name": "Colour",
"description": "Colour",
"valueType": "string",
"configurable": "true",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"productSpecCharacteristicValue": [
{
"valueType": "string",
"default": "true",
"value": "Black",
"unitOfMeasure": "",
"valueFrom": "",
"valueTo": "",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
}, {
"valueType": "string",
"default": "false",
"value": "White",
"unitOfMeasure": "",
"valueFrom": "",
"valueTo": "",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
}
]
}
]
}
PUT /catalogManagement/category/{ID}This Uniform Contract operation is used to completely update the representation of a managed entity or a task.Anchor _Toc405197199 _Toc405197199
Description :- This operation completely updates a category.
- The resource represents a managed entity.
- The ID may be a string (or a string containing numbers).
...
- What status and exception codes are returned.
- Returns HTTP/1.1 status code 201 if the request was successful.
Any other special return and/or exception codes.
REQUEST
PUT /catalogManagement/category/42
Content-type: application/json
{
"id": "42",
"href": "http://serverlocation:port/catalogManagement/category/42",
"lastUpdate": "2013-04-19T16:42:23-04:00",
"version": "2.0",
"lifecycleStatus": "Launched",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"parentId": " 41",
"isRoot": "false",
"name": "Cloud Services",
"description": "A category to hold all available cloud service offers"
}RESPONSE
201
Content-Type: application/json
{
"id": "42",
"href": "http://serverlocation:port/catalogManagement/category/42",
"lastUpdate": "2013-04-25T09:28:10-04:00",
"version": "2.0",
"lifecycleStatus": "Launched",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"parentId": "41",
"isRoot": "false",
"name": "Cloud Services",
"description": "A category to hold all available cloud service offers"
}
PUT /catalogManagement/productOffering/{ID}This Uniform Contract operation is used to completely update the representation of a managed entity or a task.Anchor _Toc405197200 _Toc405197200
Description :- This operation completely updates a productOffering.
- The resource represents a managed entity.
- The ID may be a string (or a string containing numbers).
...
- What status and exception codes are returned.
- Returns HTTP/1.1 status code 201 if the request was successful.
Any other special return and/or exception codes.
REQUEST
PUT /catalogManagement/productOffering/42
Content-type: application/json
{
"id": "42",
"href": "http://serverlocation:port/catalogManagement/productOffering/42",
"version": "2.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"
},
{"id": "14",
"href": "http://serverlocation:port/marketSales/channel/14",
"name": "Shop"
}
],
"place": [
{
"id": "12",
"href": "http://serverlocation:port/marketSales/place/12",
"name": "France"
},
{
"id": "14",
"href": "http://serverlocation:port/marketSales/place/14",
"name": "Belgium"
}
],
"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": "3.0",
"lastUpdate": "2013-06-05T08:30:45-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"
},
{"id": "14",
"href": "http://serverlocation:port/marketSales/channel/14",
"name": "Shop"
}
],
"place": [
{"id": "12",
"href": "http://serverlocation:port/marketSales/place/12",
"name": "France"
},
{"id": "14",
"href": "http://serverlocation:port/marketSales/place/14",
"name": "Belgium"
}
],
"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": ""
}
]
}
PUT /catalogManagement/productSpecificationAnchor _Toc405197201 _Toc405197201
Description :This Uniform Contract operation is used to completely update the representation of a managed entity or a task.
- This operation completely updates a productSpecification.
- The resource represents a managed entity.
- The ID may be a string (or a string containing numbers).
...
- What status and exception codes are returned.
- Returns HTTP/1.1 status code 201 if the request was successful.
Any other special return and/or exception codes.
REQUEST PUT /catalogManagement/productSpecification
Content-type:application/json
{
"id": "22",
"href": "http://serverlocation:port/catalogManagement/productSpecification/22",
"version": "2.0", "lastUpdate": "2013-04-19T16:42:23-04:00", "name": "iPhone 42", "description": "Siri works on this iPhone", "isBundle": "true", "brand": "Apple", "lifecycleStatus": "Launched", "validFor": {
"startDateTime": "2013-06-20T16:42:23-04:00", "endDateTime": "" },
"relatedParty": [ {"id": "1234", "role": "Owner", "href": "http://serverLocation:port/partyManagement/partyRole/1234" } ], "attachment": [ {
"id": "22", "href": "http://serverlocation:port/documentManagement/attachment/22", "type": "Picture", "url": "http://xxxxx" }
], "bundledProductSpecification": [ {"id": "15", "href": "http://serverlocation:port/catalogManagement/productSpecification/15", "lifecycleStatus": "Launched",
"name": "Product specification 15" }, {"id": "64", "href": "http://serverlocation:port/catalogManagement/productSpecification/64", "lifecycleStatus": "Launched", "name": "Product specification 64" }
], "productSpecificationRelationship": [ { "type": "dependency","id": "23",
"href": "http://serverlocation:port/catalogManagement/productSpecification/23", "validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } } ],
"serviceSpecification": [ {"id": "13", "href": "http://serverlocation:port/catalogManagement/serviceSpecification/13", "name": "specification 1", "version": "1.1" } ],
"resourceSpecification": [ {
"id": "13", "href": "http://serverlocation:port/catalogManagement/resourceSpecification/13", "name": "specification 1", "version": "1.1" } ], "productSpecCharacteristic": [ { "name": "Screen Size", "description": "Screen size", "valueType": "number", "configurable": "false", "validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }, "productSpecCharacteristicValue": [
{ "valueType": "number", "default": "true", "value": "4.2", "unitOfMeasure": "inches", "valueFrom": "", "valueTo": "", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } } ] }, { "name": "Colour", "description": "Colour", "valueType": "string", "configurable": "true", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" },
"productSpecCharacteristicValue": [ {
"valueType": "string", "default": "true", "value": "Black", "unitOfMeasure": "", "valueFrom": "", "valueTo": "", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } }, {
"valueType": "string", "default": "false", "value": "White", "unitOfMeasure": "", "valueFrom": "", "valueTo": "", "validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } } ] } ] }RESPONSE 201
Content-Type: application/json
{ "id": "22", "href": "http://serverlocation:port/catalogManagement/productSpecification/22", "version": "2.0", "lastUpdate": "2013-06-20T16:42:23-04:00", "name": "iPhone 42", "description": "Siri works on this iPhone", "isBundle": "true", "brand": "Apple", "lifecycleStatus": "Launched", "validFor": { "startDateTime": "2013-06-20T16:42:23-04:00", "endDateTime": "" }, "relatedParty": [ {
"id": "1234", "role": "Owner", "href": "http://serverLocation:port/partyManagement/partyRole/1234"
}
], "attachment": [ {"id": "22", "href": "http://serverlocation:port/documentManagement/attachment/22", "type": "Picture", "url": "http://xxxxx" } ], "bundledProductSpecification": [ {
"id": "15", "href": "http://serverlocation:port/catalogManagement/productSpecification/15",
"lifecycleStatus": "Launched",
"name": "Product specification 15" }, {"id": "64", "href": "http://serverlocation:port/catalogManagement/productSpecification/64",
"lifecycleStatus": "Launched",
"name": "Product specification 64"
}
],
"productSpecificationRelationship": [ {
"type": "dependency","id": "23", "href": " "http://serverlocation:port/catalogManagement/productSpecification/23", "validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }
}
], "serviceSpecification": [ {"id": "13", "href": "http://serverlocation:port/catalogManagement/serviceSpecification/13",
"id": "13"
"name": "specification 1",
"version": "1.1"
}
], "resourceSpecification": [
{"href": "http://serverlocation:port/catalogManagement/resourceSpecification/13", "name": "specification 1", "version": "1.1" } ], "productSpecCharacteristic": [ {
"name": "Screen Size", "description": "Screen size", "valueType": "number", "configurable": "false", "validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }, "productSpecCharacteristicValue": [ { "valueType": "number", "default": "true", "value": "4.2", "unitOfMeasure": "inches", "valueFrom": "", "valueTo": "",
"validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } } ] }, { "name": "Colour", "description": "Colour", "valueType": "string", "configurable": "true", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }, "productSpecCharacteristicValue": [ {
"valueType": "string", "default": "true", "value": "Black", "unitOfMeasure": "", "valueFrom": "", "valueTo": "", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } }, { "valueType": "string", "default": "false", "value": "White", "unitOfMeasure": "", "valueFrom": "", "valueTo": "", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } } ] } ] }
PATCH /catalogManagement/category/{ID}Anchor _Toc405197202 _Toc405197202 Anchor _Ref234978967 _Ref234978967 Anchor _Toc235288517 _Toc235288517 Anchor _Toc236554611 _Toc236554611 Anchor _Toc236554912 _Toc236554912 Anchor _Toc236555375 _Toc236555375 Anchor _Toc225613455 _Toc225613455 Anchor _Toc225603244 _Toc225603244 Anchor _Ref226733430 _Ref226733430 Anchor _Ref230885009 _Ref230885009 Anchor _Ref231980155 _Ref231980155 Anchor _Ref232940733 _Ref232940733
This Uniform Contract operation is used to partially update the representation of a managed entity or a task.Anchor _Ref232940829 _Ref232940829
Description :
- This operation partially updates a category.
- The resource represents a managed entity.
- The ID may be a string (or a string containing numbers).
...
REQUEST |
PATCH /catalogManagement/category/{42} "isRoot": "true" } |
RESPONSE |
201 Content-Type: application/json { "id": "42", "href": "http://serverlocation:port/catalogManagement/category/42", "lastUpdate": "2013-04-19T16:42:23-04:00", "version": "2.0", "lifecycleStatus": "Active", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }, "parentId": "", "isRoot": "true", "name": "Cloud Services", "description": "A category to hold all available cloud service offers" } |
Anchor | ||||
---|---|---|---|---|
|
This Uniform Contract operation is used to partially update the representation of a managed entity or a task.
Description :
...
REQUEST |
PATCH /catalogManagement/productOffering/{42} Content-type: application/json-patch+json { "op": "add", "path": "/place", "value": { "id": "44", "href": "http://serverlocation:port/marketSales/place/44", "name": "Spain" } } |
RESPONSE |
201 Content-Type: application/json
{ ], "serviceCandidate": { "resourceCandidate": { "productOfferingTerm": [ "name": "Monthly 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": "" } ] } |
Anchor | ||||
---|---|---|---|---|
|
This Uniform Contract operation is used to partially update the representation of a managed entity or a task.
Description :
...
REQUEST |
PATCH /catalogManagement/productSpecification/{22} { |
RESPONSE |
201 Content-Type: application/json
{ "id": "1234", "id": "22", "id": "15", "id": "64", "validFor": { "id": "13", "href": "http://serverlocation:port/catalogManagement/serviceSpecification/13", "id": "13", "name": "Colour", "description": "Colour", "valueType": "string", "configurable": "true", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }, "productSpecCharacteristicValue": [ { "valueType": "string", "default": "true", "value": "Black", "unitOfMeasure": "", "valueFrom": "", "valueTo": "", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } }, { "valueType": "string", "default": "false", "value": "White", "unitOfMeasure": "", "valueFrom": "", "valueTo": "", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" } } ] } ] } |
Anchor | ||||
---|---|---|---|---|
|
This Uniform Contract operation is used to create a managed entity or a task.
Description :
...
Further specify any rules on the creation of the entity
Rule name
Rule
REQUEST
POST catalogManagement/category
Content-type: application/json
{ "version": "1.0","lifecycleStatus": "Active", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }, "parentid": "http://serverlocation:port/catalogManagement/category/42",
"isRoot": "false",
"name": "Cloud Services", "description": "A category to hold all available cloud service offers"
}RESPONSE
201
Content-Type: application/json
{"id": "42", "href": "http://serverlocation:port/catalogManagement/category/42", "lastUpdate": "2013-04-19T16:42:23-04:00", "version": "1.0", "lifecycleStatus": "Active", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "" }, "parentid": "http://serverlocation:port/catalogManagement/category/42",
"isRoot": "false",
"name": "Cloud Services", "description": "A category to hold all available cloud service offers"
}
POST /catalogManagement/productOfferingThis Uniform Contract operation is used to create a managed entity or a task.Anchor _Toc405197206 _Toc405197206
Description :- This operation creates a productOffering
- The resource represents a managed entity.
- The ID may be a string (or a string containing numbers).
...
Further specify any rules on the creation of the entity
Rule name
Rule
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",
"name": "Usage 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"
}, {
"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",
"name": "Usage 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"
}, {
"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": ""
}
]
}
POST /catalogManagement/productSpecificationAnchor _Toc405197207 _Toc405197207
This Uniform Contract operation is used to create a managed entity or a task.
Description :- This operation creates a productSpecification.
- The resource represents a managed entity.
- The ID may be a string (or a string containing numbers).
...
Further specify any rules on the creation of the entity
Rule name
Rule
REQUEST
POST catalogManagement/productSpecification
Content-type: application/json
{
"productNumber": "I42-340-DX",
"version": "2.0",
"lastUpdate": "2013-04-19T16:42:23.0Z",
"name": "iPhone 42",
"description": "Siri works on this iPhone",
"isBundle": true,
"brand": "Apple",
"lifecycleStatus": "Active",
"validFor":
{
"startDateTime": "2013-06-19T00:00:00.0Z",
"endDateTime": "2013-04-19T16:42:23.0Z"
},
"relatedParty":
[
{
"id": "1234",
"href": "http ://serverLocation:port/partyManagement/partyRole/1234",
"role": "Owner"
}
],
"attachment":
[
{
"id": "22",
"href": "http://serverlocation:port/documentManagement/attachment/22",
"type": "Picture",
"url": "http://xxxxx"
}
],
"bundledProductSpecification":
[
{
"id": "15",
"href": "http://serverlocation:port/productCatalogManagement/productSpecification/15",
"lifecycleStatus": "Active",
"name": "Product specification 15"
},
{
"id": "64",
"href": "http://serverlocation:port/productCatalogManagement/productSpecification/64",
"lifecycleStatus": "Active",
"name": "Product specification 64"
}
],
"productSpecificationRelationship":
[
{
"id": "23",
"href": "http://serverlocation:port/productCatalogManagement/productSpecification/23",
"type": "dependency",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
],
"serviceSpecification":
[
{
"id": "13",
"href": "http://serverlocation:port/serviceCatalogManagement/serviceSpecification/13",
"name": "specification 13",
"version": "1.1"
}
],
"resourceSpecification":
[
{
"id": "13",
"href": "http://serverlocation:port/resourceCatalogManagement/resourceSpecification/13",
"name": "specification 13",
"version": "1.1"
}
],
"productSpecCharacteristic":
[
{
"name": "Screen Size",
"description": "Screen size",
"valueType": "number",
"configurable": false,
"ProductSpecCharacteristicValue":
[
{
"valueType": "number",
"default": true,
"value": "4.2",
"unitOfMeasure": "inches",
"valueFrom": "",
"valueTo": "",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
],
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
},
{
"name": "Colour",
"description": "Colour",
"valueType": "string",
"configurable": true,
"ProductSpecCharacteristicValue":
[
{
"valueType": "string",
"default": true,
"value": "Black",
"unitOfMeasure": "",
"valueFrom": "",
"valueTo": "",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
},
{
"valueType": "string",
"default": false,
"value": "White",
"unitOfMeasure": "",
"valueFrom": "",
"valueTo": "",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
],
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
]
}RESPONSE
201
Content-Type: application/json
{
"id": "22",
"href": "http://serverlocation:port/productCatalogManagement/productSpecification/22",
"productNumber": "I42-340-DX",
"version": "2.0",
"lastUpdate": "2013-04-19T16:42:23.0Z",
"name": "iPhone 42",
"description": "Siri works on this iPhone",
"isBundle": true,
"brand": "Apple",
"lifecycleStatus": "Active",
"validFor":
{
"startDateTime": "2013-06-19T00:00:00.0Z",
"endDateTime": "2013-04-19T16:42:23.0Z"
},
"relatedParty":
[
{
"id": "1234",
"href": "http ://serverLocation:port/partyManagement/partyRole/1234",
"role": "Owner"
}
],
"attachment":
[
{
"id": "22",
"href": "http://serverlocation:port/documentManagement/attachment/22",
"type": "Picture",
"url": "http://xxxxx"
}
],
"bundledProductSpecification":
[
{
"id": "15",
"href": "http://serverlocation:port/productCatalogManagement/productSpecification/15",
"lifecycleStatus": "Active",
"name": "Product specification 15"
},
{
"id": "64",
"href": "http://serverlocation:port/productCatalogManagement/productSpecification/64",
"lifecycleStatus": "Active",
"name": "Product specification 64"
}
],
"productSpecificationRelationship":
[
{
"id": "23",
"href": "http://serverlocation:port/productCatalogManagement/productSpecification/23",
"type": "dependency",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
],
"serviceSpecification":
[
{
"id": "13",
"href": "http://serverlocation:port/serviceCatalogManagement/serviceSpecification/13",
"name": "specification 13",
"version": "1.1"
}
],
"resourceSpecification":
[
{
"id": "13",
"href": "http://serverlocation:port/resourceCatalogManagement/resourceSpecification/13",
"name": "specification 13",
"version": "1.1"
}
],
"productSpecCharacteristic":
[
{
"name": "Screen Size",
"description": "Screen size",
"valueType": "number",
"configurable": false,
"ProductSpecCharacteristicValue":
[
{
"valueType": "number",
"default": true,
"value": "4.2",
"unitOfMeasure": "inches",
"valueFrom": "",
"valueTo": "",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
],
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
},
{
"name": "Colour",
"description": "Colour",
"valueType": "string",
"configurable": true,
"ProductSpecCharacteristicValue":
[
{
"valueType": "string",
"default": true,
"value": "Black",
"unitOfMeasure": "",
"valueFrom": "",
"valueTo": "",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
},
{
"valueType": "string",
"default": false,
"value": "White",
"unitOfMeasure": "",
"valueFrom": "",
"valueTo": "",
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
],
"validFor":
{
"startDateTime": "2013-04-19T16:42:23.0Z"
}
}
]
}Anchor _Toc277486389 _Toc277486389
POST catalogManagement/importJobAnchor _Toc405197208 _Toc405197208 ImportJob Tasks are created as resources.
The ImportJob is attached to the URL of the root resource where the content of the file specified by the ImportJob will be applied.
For example to apply the content of the import file located at ftp://ftp.myCatalog.com/catalog.json to the catalogManagement root.REQUEST
POST ../partyManagement/importJob
Content-type: application/json
{
"url": "ftp://ftp.myCatalog.com/catalog.json"
}RESPONSE
201
Content-Type: application/json
Location: ../partyManagement/importJob/554
{"id": "54", "href": "http:/api/catalogManagement/importJob/54", "status": "running", "path": "catalogManagement/", "content-type": "application/json",
"errorLog": "", "creationDate": "2013-04-19T16:42:23-04:00",
"url": "ftp://ftp.myCatalog.com/catalog.json"}
Anchor _Toc277486390 _Toc277486390
POST catalogManagement/exportJobExportJob Tasks are created as resources.Anchor _Toc405197209 _Toc405197209
The ExportJob is attached to a specific resource acting as the root for the collection of resources to be streamed to a File.
An ExportJob can be attached to a specific Resource in the Catalog Management application for example:- ../catalogManagement/exportJob
...
REQUEST |
POST ../catalogManagement/exportJob |
RESPONSE |
201 |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
ExportJob resources can be found under the API/exportJob collection and may be retrieved using the normal GET constructs for individual resources or queries on the exportJob collection i.e GET ../catalogManagement/exportJob/?(name=value)*
For example:
REQUEST |
GET ../catalogManagement/exportJob/54 |
RESPONSE |
200 |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
ImportJob resources can be found under the API/importJob collection and may be retrieved using the normal GET constructs for individual resources or queries on the importJob collection. GET ../catalogManagement/importJob/?(name=value)*
For example:
REQUEST |
GET ../catalogManagement/importJob/54 |
RESPONSE |
200 |
Anchor | ||||
---|---|---|---|---|
|
No delete operations
This Uniform Contract operation is used to delete a managed entity or a task.
Description :
...
- What status and exception codes are returned.
- Returns HTTP/1.1 status code 200 if the request was successful.
Any other special return and/or exception codes.
REQUEST
DELETE API/{RESOURCE}/{ID}
RESPONSE
200
Example see TMF REST Design Guidelines.
© TM Forum 2015. All Rights Reserved.