FlatCatalogService

GraphViz

Schema

The considered APS type (download) extends the Resource APS type(s) and looks as follows:

{
  "name": "FlatCatalogService",
  "id": "http://ingrammicro.com/pa/flat-catalog/1.0",
  "apsVersion": "2.0",
  "implements": [
    "http://aps-standard.org/types/core/resource/1.0"
  ],
  "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"
      }
    },
    "getProductItemsInXlsx": {
      "path": "/flat-catalog/product-items-xlsx",
      "verb": "GET",
      "errorResponse": {
        "type": "object"
      },
      "access": {
        "public": false,
        "privilege": "http://www.odin.com/products/automation/billing#view-product-inventory"
      }
    }
  },
  "structures": {
    "Currency": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "code": {
          "type": "string"
        }
      }
    },
    "BssProductItem": {
      "type": "object",
      "properties": {
        "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"
          }
        }
      }
    }
  }
}

Custom Operations

OPERATION

VERB

PATH

RETURNS

Description

getProductItems

GET

/flat-catalog/product-items

getProductItemsInXlsx

GET

/flat-catalog/product-items-xlsx

getProductItems

HTTP Request

GET /aps/2/resources/{aps-id}/flat-catalog/product-items

Description

Returns

getProductItemsInXlsx

HTTP Request

GET /aps/2/resources/{aps-id}/flat-catalog/product-items-xlsx

Description

Returns

Structures

Currency

Basic currency structure.

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

value

String

Not Required

Amount.

code

String

Not Required

Currency Code

BssProductItem

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

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

Currency

Not Required

price

Currency

Not Required

margin

Number

Not Required

msrpPrice

Currency

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

Examples

Since the considered APS type contains custom operations, refer to Custom Operations for the general explanation of their structure and examples of operation calls.