In this document:
The considered APS type (download
)
extends the Resource APS type(s) and looks as follows:
{
"name": "ProductInventory",
"id": "http://ingrammicro.com/pa/flat-catalog/1.4",
"apsVersion": "2.0",
"implements": [
"http://aps-standard.org/types/core/resource/1.0"
],
"access": {
"public": true
},
"properties": {
"refreshStatsUUID": {
"type": "string"
}
},
"operations": {
"getProductItems": {
"path": "/flat-catalog/product-items",
"verb": "GET",
"response": {
"type": "array",
"items": {
"type": "BssProductItem"
}
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#view-product-inventory"
}
},
"getProducts": {
"path": "/flat-catalog/products",
"verb": "GET",
"response": {
"type": "array",
"items": {
"type": "ProductItem"
}
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#view-product-inventory"
}
},
"getProductsInXlsx": {
"path": "/flat-catalog/products-xlsx",
"verb": "GET",
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#view-product-inventory"
}
},
"getContext": {
"path": "/flat-catalog/context",
"verb": "GET",
"response": {
"type": "ProductInventoryContext"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#view-product-inventory"
}
},
"createPriceList": {
"path": "/flat-catalog/price-import-wizard/upload",
"verb": "POST",
"response": {
"type": "PriceListState"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#manage-product-inventory"
}
},
"parsePriceList": {
"path": "/flat-catalog/price-import-wizard/{dataId}/parse",
"verb": "POST",
"response": {
"type": "PriceListState"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#manage-product-inventory"
},
"parameters": {
"dataId": {
"kind": "path",
"type": "integer"
}
}
},
"prepareProposals": {
"path": "/flat-catalog/price-import-wizard/{dataId}/prepare-proposals",
"verb": "POST",
"response": {
"type": "PriceListState"
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#manage-product-inventory"
},
"parameters": {
"dataId": {
"kind": "path",
"type": "integer"
}
}
},
"getProductDiffs": {
"path": "/flat-catalog/price-import-wizard/{dataId}/product-diffs",
"verb": "GET",
"response": {
"type": "array",
"items": {
"type": "ProductDiff"
}
},
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#view-product-inventory"
},
"parameters": {
"dataId": {
"kind": "path",
"type": "integer"
}
}
},
"setPrices": {
"path": "/flat-catalog/price-import-wizard/{dataId}/set-prices",
"verb": "POST",
"errorResponse": {
"type": "object"
},
"access": {
"public": false,
"privilege": "http://www.odin.com/products/automation/billing#manage-product-inventory"
},
"parameters": {
"dataId": {
"kind": "path",
"type": "integer"
},
"settings": {
"kind": "body",
"type": "PriceImportWizardSettings"
}
}
},
"updateStats": {
"path": "/flat-catalog/update-stats",
"verb": "PUT",
"errorResponse": {
"type": "object"
},
"access": {
"referrer": false,
"public": false
}
}
},
"structures": {
"Currency": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"code": {
"type": "string"
}
}
},
"BssProductItem": {
"type": "object",
"properties": {
"product": {
"type": "string"
},
"productItem": {
"type": "string"
},
"resourceId": {
"type": "integer"
},
"resourceUUID": {
"type": "string"
},
"mpn": {
"type": "string"
},
"billingPeriod": {
"type": "integer"
},
"billingPeriodType": {
"type": "integer",
"enum": [
"1",
"2",
"3"
],
"enumTitles": [
"Day",
"Month",
"Year"
]
},
"period": {
"type": "integer"
},
"periodType": {
"type": "integer",
"enum": [
"1",
"2",
"3"
],
"enumTitles": [
"Day",
"Month",
"Year"
]
},
"cost": {
"type": "Currency"
},
"price": {
"type": "Currency"
},
"margin": {
"type": "number"
},
"msrpPrice": {
"type": "Currency"
},
"feeType": {
"type": "string",
"enum": [
"SETUP",
"RECURRING",
"OVERUSE"
]
},
"minimum": {
"type": "number"
},
"maximum": {
"type": "number"
},
"subscriptions": {
"type": "integer"
},
"seats": {
"type": "number"
},
"planUuids": {
"type": "array",
"items": {
"type": "string"
}
},
"dependsOn": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ItemIdentifier": {
"type": "object",
"properties": {
"resourceId": {
"type": "integer"
},
"mpn": {
"type": "string"
},
"billingPeriod": {
"type": "Period"
},
"subscriptionPeriod": {
"type": "Period"
}
}
},
"Period": {
"type": "object",
"properties": {
"period": {
"type": "integer"
},
"type": {
"type": "string",
"enum": [
"DAY",
"MONTH",
"YEAR"
],
"enumTitles": [
"Day",
"Month",
"Year"
]
}
}
},
"Expense": {
"type": "object",
"properties": {
"ranges": {
"type": "array",
"items": {
"type": "PriceRange"
}
},
"model": {
"type": "string",
"enum": [
"FLAT",
"TIERED",
"VOLUME_SUBSCRIPTION",
"VOLUME_ORDER"
]
}
}
},
"PriceRange": {
"type": "object",
"properties": {
"level": {
"type": "number"
},
"price": {
"type": "Currency"
}
}
},
"ItemStats": {
"type": "object",
"properties": {
"subscriptions": {
"type": "integer"
},
"seats": {
"type": "number"
}
}
},
"ItemTechInfo": {
"type": "object",
"properties": {
"resourceUUID": {
"type": "string"
},
"planUuids": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ProductItem": {
"type": "object",
"properties": {
"identifier": {
"type": "ItemIdentifier"
},
"cost": {
"type": "Expense"
},
"price": {
"type": "Expense"
},
"msrp": {
"type": "Expense"
},
"feeType": {
"type": "string",
"enum": [
"SETUP",
"RECURRING",
"OVERUSE"
]
},
"effectiveDate": {
"type": "string",
"format": "date"
},
"application": {
"type": "string"
},
"product": {
"type": "string"
},
"margin": {
"type": "number"
},
"resellerMargin": {
"type": "number"
},
"minimum": {
"type": "number"
},
"maximum": {
"type": "number"
},
"stats": {
"type": "ItemStats"
},
"dependsOn": {
"type": "array",
"items": {
"type": "string"
}
},
"technicalInfo": {
"type": "ItemTechInfo"
}
}
},
"ProductInventoryContext": {
"type": "object",
"properties": {
"provider": {
"type": "boolean"
},
"costsSupported": {
"type": "boolean"
},
"msrpSupported": {
"type": "boolean"
},
"timezoneId": {
"type": "string"
}
}
},
"PriceListState": {
"type": "object",
"properties": {
"status": {
"type": "string",
"required": true,
"title": "Price list status",
"enum": [
"UPLOAD_FAILED",
"PARSING_FAILED",
"PARSED"
]
},
"errorMessage": {
"type": "string"
},
"priceListStructure": {
"type": "array",
"items": {
"type": "string"
}
},
"pricingModel": {
"type": "string"
},
"feeType": {
"type": "string"
},
"dataId": {
"type": "integer"
}
}
},
"ProductDiff": {
"type": "object"
},
"PriceImportWizardSettings": {
"type": "object",
"properties": {
"exportCosts": {
"type": "boolean"
},
"exportPrices": {
"type": "boolean"
},
"exportMSRP": {
"type": "boolean"
},
"effectiveDate": {
"type": "string",
"format": "date"
},
"priceModel": {
"type": "string",
"enum": [
"FLAT",
"TIERED",
"VOLUME_SUBSCRIPTION",
"VOLUME_ORDER"
]
},
"feeType": {
"type": "string",
"enum": [
"SETUP",
"RECURRING",
"OVERUSE"
]
},
"fileName": {
"type": "string"
}
}
}
}
}
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
refreshStatsUUID |
String |
Not Required |
OPERATION |
VERB |
PATH |
RETURNS |
Description |
---|---|---|---|---|
GET |
/flat-catalog/product-items |
|||
GET |
/flat-catalog/products |
|||
GET |
/flat-catalog/products-xlsx |
|||
GET |
/flat-catalog/context |
|||
POST |
/flat-catalog/price-import-wizard/upload |
|||
POST |
/flat-catalog/price-import-wizard/{dataId}/parse |
|||
POST |
/flat-catalog/price-import-wizard/{dataId}/prepare-proposals |
|||
GET |
/flat-catalog/price-import-wizard/{dataId}/product-diffs |
|||
POST |
/flat-catalog/price-import-wizard/{dataId}/set-prices |
|||
PUT |
/flat-catalog/update-stats |
HTTP Request
GET /aps/2/resources/{aps-id}/flat-catalog/product-items
Description
Returns
HTTP Request
GET /aps/2/resources/{aps-id}/flat-catalog/products-xlsx
Description
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/flat-catalog/price-import-wizard/upload
Description
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/flat-catalog/price-import-wizard/{dataId}/parse
Description
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
---|---|---|
dataId |
Integer |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/flat-catalog/price-import-wizard/{dataId}/prepare-proposals
Description
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
---|---|---|
dataId |
Integer |
Returns
HTTP Request
GET /aps/2/resources/{aps-id}/flat-catalog/price-import-wizard/{dataId}/product-diffs
Description
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
---|---|---|
dataId |
Integer |
Returns
HTTP Request
POST /aps/2/resources/{aps-id}/flat-catalog/price-import-wizard/{dataId}/set-prices
Description
Parameters
PARAMETER |
TYPE |
DESCRIPTION |
---|---|---|
dataId |
Integer |
|
settings |
Returns
HTTP Request
PUT /aps/2/resources/{aps-id}/flat-catalog/update-stats
Description
Returns
Basic currency structure.
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
value |
String |
Not Required |
Amount. |
|
code |
String |
Not Required |
Currency Code |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
product |
String |
Not Required |
||
productItem |
String |
Not Required |
||
resourceId |
Integer |
Not Required |
||
resourceUUID |
String |
Not Required |
||
mpn |
String |
Not Required |
||
billingPeriod |
Integer |
Not Required |
||
billingPeriodType |
Integer |
Not Required |
||
period |
Integer |
Not Required |
||
periodType |
Integer |
Not Required |
||
cost |
Not Required |
|||
price |
Not Required |
|||
margin |
Number |
Not Required |
||
msrpPrice |
Not Required |
|||
feeType |
Enum |
Not Required |
||
minimum |
Number |
Not Required |
||
maximum |
Number |
Not Required |
||
subscriptions |
Integer |
Not Required |
||
seats |
Number |
Not Required |
||
planUuids |
Array of String |
Not Required |
||
dependsOn |
Array of String |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
resourceId |
Integer |
Not Required |
||
mpn |
String |
Not Required |
||
billingPeriod |
Not Required |
|||
subscriptionPeriod |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
period |
Integer |
Not Required |
||
type |
Enum |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
ranges |
Array of PriceRange |
Not Required |
||
model |
Enum |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
level |
Number |
Not Required |
||
price |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
subscriptions |
Integer |
Not Required |
||
seats |
Number |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
resourceUUID |
String |
Not Required |
||
planUuids |
Array of String |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
identifier |
Not Required |
|||
cost |
Not Required |
|||
price |
Not Required |
|||
msrp |
Not Required |
|||
feeType |
Enum |
Not Required |
||
effectiveDate |
String |
Not Required |
||
application |
String |
Not Required |
||
product |
String |
Not Required |
||
margin |
Number |
Not Required |
||
resellerMargin |
Number |
Not Required |
||
minimum |
Number |
Not Required |
||
maximum |
Number |
Not Required |
||
stats |
Not Required |
|||
dependsOn |
Array of String |
Not Required |
||
technicalInfo |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
provider |
Boolean |
Not Required |
||
costsSupported |
Boolean |
Not Required |
||
msrpSupported |
Boolean |
Not Required |
||
timezoneId |
String |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
status |
Enum |
Required |
||
errorMessage |
String |
Not Required |
||
priceListStructure |
Array of String |
Not Required |
||
pricingModel |
String |
Not Required |
||
feeType |
String |
Not Required |
||
dataId |
Integer |
Not Required |
NAME |
TYPE |
ATTRIBUTES |
DEFAULT |
DESCRIPTION |
---|---|---|---|---|
exportCosts |
Boolean |
Not Required |
||
exportPrices |
Boolean |
Not Required |
||
exportMSRP |
Boolean |
Not Required |
||
effectiveDate |
String |
Not Required |
||
priceModel |
Enum |
Not Required |
||
feeType |
Enum |
Not Required |
||
fileName |
String |
Not Required |
Please find general description of create-read-update-delete (CRUD) operations with resources, properties, and structures respectively at:
Since the considered APS type contains custom operations, refer to Custom Operations for the general explanation of their structure and examples of operation calls.