Developer Guide

Component Version

List component versions

URL

GET https://api.billagain.com/v1/components/{componentID}/versions

URL PARAMETERS

None - optional paging values can be passed through

OUTPUT PARAMETERS (7 Fields)

Parameter Format Description
componentID Numeric Unique component identifier
componentVersionID Numeric Unique component version identifier
isActive Boolean Indicates if component version is active
isDefault Boolean Indicates if component version is default
VersionName Alpha Numeric Component version name
VersionNo Numeric Component version number
ComponentVersionCurrencies Object List
componentVersionCurrencyID Numeric Unique component version currency identifier
componentVersionID Numeric Unique component version identifier
CurrencyCode Numeric Currency code
ComponentBracketPrices Object List
componentBracketID Numeric Unique component bracket identifier
componentVersionCurrencyID Unique component version currency identifier
Price req Numeric Specify price
QtyFrom req Numeric Specify quantity from
QtyTill Numeric Specify quantity till, leave blank for infinity

EXAMPLES

JSON Output

HTTP CODE: 200 OK
[
  {
    "componentVersionID": 130,
    "componentID": 103,
    "VersionNo": 2,
    "VersionName": "v2",
    "isDefault": false,
    "isActive": false,
    "ComponentVersionCurrencies": [
      {
        "componentVersionCurrencyID": 195,
        "componentVersionID": 130,
        "CurrencyCode": "ZAR",
        "ComponentBracketPrices": [
          {
            "componentBracketID": 292,
            "componentVersionCurrencyID": 195,
            "QtyFrom": 1,
            "QtyTill": null,
            "Price": 20
          }
        ]
      }
    ]
  },
  {
    "componentVersionID": 129,
    "componentID": 103,
    "VersionNo": 1,
    "VersionName": "v1",
    "isDefault": true,
    "isActive": false,
    "ComponentVersionCurrencies": [
      {
        "componentVersionCurrencyID": 194,
        "componentVersionID": 129,
        "CurrencyCode": "ZAR",
        "ComponentBracketPrices": [
          {
            "componentBracketID": 291,
            "componentVersionCurrencyID": 194,
            "QtyFrom": 1,
            "QtyTill": null,
            "Price": 10
          }
        ]
      }
    ]
  }
]

Get specific component version

URL

GET https://api.billagain.com/v1/components/{id}/versions/{versionno}

URL PARAMETERS (2 Fields)

Parameter Format Description
componentID req Numeric Unique component identifier
versionno req Numeric Unique component version number

OUTPUT PARAMETERS (7 Fields)

Parameter Format Description
componentID Numeric Unique component identifier
componentVersionID Numeric Unique component version identifier
isActive Boolean Indicates if component version is active
isDefault Boolean Indicates if component version is default
VersionName Alpha Numeric Component version name
VersionNo Numeric Component version number
ComponentVersionCurrencies Object List
componentVersionCurrencyID Numeric Unique component version currency identifier
componentVersionID Numeric Unique component version identifier
CurrencyCode Numeric Currency code
ComponentBracketPrices Object List
componentBracketID Numeric Unique component bracket identifier
componentVersionCurrencyID Unique component version currency identifier
Price req Numeric Specify price
QtyFrom req Numeric Specify quantity from
QtyTill Numeric Specify quantity till, leave blank for infinity

EXAMPLES

JSON Output

HTTP CODE: 200 OK
{
  "componentVersionID": 129,
  "componentID": 103,
  "VersionNo": 1,
  "VersionName": "v1",
  "isDefault": true,
  "isActive": true,
  "ComponentVersionCurrencies": [
    {
      "componentVersionCurrencyID": 194,
      "componentVersionID": 129,
      "CurrencyCode": "ZAR",
      "ComponentBracketPrices": [
        {
          "componentBracketID": 291,
          "componentVersionCurrencyID": 194,
          "QtyFrom": 1,
          "QtyTill": null,
          "Price": 10
        }
      ]
    }
  ]
}

Add component version

URL

POST https://api.billagain.com/v1/components/{componentID}/versions

INPUT PARAMETERS (4 Fields)

Parameter Format Description
VersionName req Alpha Numeric Current version name
isActive req Boolean Indicate if component version is active
isDefault req Boolean Indicate if component version is the default version
ComponentVersionCurrencies Object List
CurrencyCode req Alpha Specify currency code
ComponentBracketPrices Object List
Price req Numeric Specify price
QtyFrom req Numeric Specify quantity from
QtyTill Numeric Specify quantity till, leave blank for infinity

OUTPUT PARAMETERS (7 Fields)

Parameter Format Description
componentID Numeric Unique component identifier
componentVersionID Numeric Unique component version identifier
isActive Boolean Indicates if component version is active
isDefault Boolean Indicates if component version is default
VersionName Alpha Numeric Component version name
VersionNo Numeric Component version number
ComponentVersionCurrencies Object List
componentVersionCurrencyID Numeric Specific component version currency identifier
componentVersionID Numeric Specific component version ID
CurrencyCode Alpha Specific component version currency code
ComponentBracketPrices Object List
componentBracketID Numeric Specific component bracket identifier
componentVersionCurrencyID Numeric Specific component bracket currency identifier
Price Numeric Specify price
QtyFrom Numeric Specify quantity from
QtyTill Numeric Specify quantity till, leave blank for infinity

EXAMPLES

JSON Input

{
  "VersionName": "v5",
  "isActive": true,
  "isDefault": true,
  "ComponentVersionCurrencies": [
    {
      "CurrencyCode": "ZAR",
           "ComponentBracketPrices": [
        {
          "Price": 250,
          "QtyFrom": 1,
          "QtyTill": null
        }
        ]
    }
  ]
}

JSON Output

HTTP CODE: 201 Created
{
  "componentVersionID": 133,
  "componentID": 103,
  "VersionNo": 3,
  "VersionName": "v5",
  "isDefault": false,
  "isActive": true,
  "ComponentVersionCurrencies": [
    {
      "componentVersionCurrencyID": 198,
      "componentVersionID": 133,
      "CurrencyCode": "ZAR",
      "ComponentBracketPrices": [
        {
          "componentBracketID": 297,
          "componentVersionCurrencyID": 198,
          "QtyFrom": 1,
          "QtyTill": null,
          "Price": 250
        }
      ]
    }
  ]
}

Edit specific component version

URL

PUT https://api.billagain.com/v1/components/{componentID}/versions/{versionno}

URL PARAMETERS (2 Fields)

Parameter Format Description
componentID req Numeric Unique component identifier
versionno req Numeric Unique component version number

INPUT PARAMETERS (4 Fields)

Parameter Format Description
VersionName req Alpha Numeric Current version name
isActive req Boolean Indicate if component version is active
isDefault Boolean Indicates if component version is default
ComponentVersionCurrencies Object List
CurrencyCode req Alpha Specify currency code
ComponentBracketPrices Object List
Price req Numeric Specify price
QtyFrom req Numeric Specify quantity from
QtyTill Numeric Specify quantity till, leave blank for infinity

EXAMPLES

JSON Input

{

  "VersionName": "v5",
  "isActive": true,
  "isDefault": true,
  "ComponentVersionCurrencies": [
    {
      "CurrencyCode": "ZAR",
           "ComponentBracketPrices": [
        {
          "Price": 250,
          "QtyFrom": 1,
          "QtyTill": null
        }
        ]
    }
  ]
}

JSON Output

HTTP CODE: 204 No Content

Delete specific version, can not delete last component version

URL

DELETE https://api.billagain.com/v1/components/{id}/versions/{versionno}

URL PARAMETERS (2 Fields)

Parameter Format Description
componentID req Numeric Unique component identifier
versionno req Numeric Unique component version number

EXAMPLES

JSON Output

HTTP CODE: 204 No Content