Developer Guide

Components

Get a list of components

URL

GET https://api.billagain.com/v1/components

URL PARAMETERS

None - optional paging values can be passed through

OUTPUT PARAMETERS (12 Fields)

Parameter Format Description
componentID Numeric Unique component identifier
ComponentCode Numeric Unique component code
Descrip Alpha Numeric Specific component description
isActive Boolean Indicates if compnent is active
packageGroupID Numeric Unique Package Group identifier
Name Alpha Numeric Specific component name
UnitName Alpha Numeric Specify specific component unit name. eg: per license / per sms / per installation
Term Numeric Specific component term
TermType Alpha Will either be months or days, will specify type for specified term
Type Alpha See here for more details
Scheme Alpha See here for more details
ComponentVersions Object List
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

EXAMPLES

JSON Output

HTTP CODE: 200 OK
[
  {
    "componentID": 103,
    "packageGroupID": 95,
    "ComponentCode": "SMSFree",
    "Name": "SMSFree",
    "UnitName": "SMS",
    "Type": "quantity",
    "Scheme": "unit",
    "Descrip": "",
    "isActive": true,
    "Term": 0,
    "TermType": null,
    "ComponentVersions": [
      {
        "componentVersionID": 129,
        "componentID": 103,
        "VersionNo": 1,
        "VersionName": "v1",
        "isDefault": true,
        "isActive": true,
        "ComponentVersionCurrencies": null
      },
      {
        "componentVersionID": 130,
        "componentID": 103,
        "VersionNo": 2,
        "VersionName": "v2",
        "isDefault": false,
        "isActive": true,
        "ComponentVersionCurrencies": null
      }
    ]
  },
  {
    "componentID": 94,
    "packageGroupID": 93,
    "ComponentCode": "asd",
    "Name": "asd",
    "UnitName": "12",
    "Type": "quantity",
    "Scheme": "volume",
    "Descrip": "",
    "isActive": true,
    "Term": 0,
    "TermType": null,
    "ComponentVersions": [
      {
        "componentVersionID": 121,
        "componentID": 94,
        "VersionNo": 1,
        "VersionName": "v1",
        "isDefault": true,
        "isActive": true,
        "ComponentVersionCurrencies": null
      },
      {
        "componentVersionID": 128,
        "componentID": 94,
        "VersionNo": 2,
        "VersionName": "v2",
        "isDefault": false,
        "isActive": true,
        "ComponentVersionCurrencies": null
      }
    ]
  },
  {
    "componentID": 102,
    "packageGroupID": 93,
    "ComponentCode": "Gigabyte",
    "Name": "50Gb",
    "UnitName": "gb",
    "Type": "quantity",
    "Scheme": "volume",
    "Descrip": "",
    "isActive": true,
    "Term": 0,
    "TermType": null,
    "ComponentVersions": [
      {
        "componentVersionID": 127,
        "componentID": 102,
        "VersionNo": 1,
        "VersionName": "v1",
        "isDefault": true,
        "isActive": true,
        "ComponentVersionCurrencies": null
      }
    ]
  }
]

Get specific component

URL

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

URL PARAMETERS (1 Field)

Parameter Format Description
componentID req Numeric Unique component identifier

OUTPUT PARAMETERS (10 Fields)

Parameter Format Description
componentID Numeric Unique component identifier
ComponentCode Numeric Unique component code
Descrip Alpha Numeric Specific component description
isActive Boolean Indicates if compnent is active
packageGroupID Numeric Unique Package Group identifier
Name Alpha Numeric Specific component name
UnitName Alpha Numeric Specify specific component unit name. eg: per license / per sms / per installation
Type Alpha See here for more details
Scheme Alpha See here for more details
ComponentVersions Object List
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

EXAMPLES

JSON Output

HTTP CODE: 200 OK
{
  "componentID": 103,
  "packageGroupID": 0,
  "ComponentCode": "SMSFree",
  "Name": "SMSFree",
  "UnitName": "SMS",
  "Type": "quantity",
  "Scheme": "unit",
  "Descrip": "",
  "isActive": false,
  "Term": 1,
  "TermType": "months",
  "ComponentVersions": [
    {
      "componentVersionID": 130,
      "componentID": 0,
      "VersionNo": 2,
      "VersionName": "v2",
      "isDefault": false,
      "isActive": false,
      "ComponentVersionCurrencies": null
    },
    {
      "componentVersionID": 129,
      "componentID": 0,
      "VersionNo": 1,
      "VersionName": "v1",
      "isDefault": true,
      "isActive": false,
      "ComponentVersionCurrencies": null
    }
  ]
}

Add specific component

URL

POST https://api.billagain.com/v1/components

INPUT PARAMETERS (11 Fields)

Parameter Format Description
ComponentCode req Alpha Numeric Unique component code
Name req Alpha Numeric Unique component name
Type req Alpha See here for more details
Scheme req Alpha See here for more details
Descrip Alpha Numeric Specific component description
isActive Boolean Indicates if compnent is active, if not set defaults to false
UnitName req Alpha Numeric Specify specific component unit name. eg: per license / per sms / per installation
packageGroupID req Alpha Numeric Unique Package Group identifier
Term req Numeric Specific subscription period between billings for the Subscription
TermType req Alpha Specific subscription term type:
  • months - Billed on n monthly basis.
  • days - Billed on n daily basis.
ComponentVersion req Object Unique customer reference
VersionName req Alpha Numeric Current version name
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 (10 Fields)

Parameter Format Description
componentID Numeric Unique component identifier
ComponentCode Numeric Unique component code
Descrip Alpha Numeric Specific component description
isActive Boolean Indicates if compnent is active
packageGroupID Numeric Unique Package Group identifier
Name Alpha Numeric Specific component name
UnitName Alpha Numeric Specify specific component unit name. eg: per license / per sms / per installation
Type Alpha See here for more details
Scheme Alpha See here for more details
ComponentVersions Object List
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

EXAMPLES

JSON Input

{
   "ComponentCode":"CMP-API1",
   "Name":"Api component",
   "Type":"Quantity",
   "Scheme":"unit",
   "Descrip":"Api test component",
   "isActive":true,
   "UnitName":"per license",
   "packageGroupID":95,
   "Term":1,
   "TermType":"months",
   "ComponentVersion":{
       "VersionName":"API v1",
       "ComponentVersionCurrencies":[{
           "CurrencyCode":"ZAR",
           "ComponentBracketPrices":[{
               "Price":"120.00",
               "QtyFrom":"1",
               "QtyTill":"20"
           },
           {
               "Price":"100.00",
               "QtyFrom":"20",
               "QtyTill":null
           }
          ]
       }]
   }
}

JSON Output

HTTP CODE: 201 Created
{
  "componentID": 105,
  "packageGroupID": 95,
  "ComponentCode": "CMP-API1",
  "Name": "Api component",
  "UnitName": "per license",
  "Type": "Quantity",
  "Scheme": "unit",
  "Descrip": "Api test component",
  "isActive": true,
  "Term": 1,
  "TermType": "months",
  "ComponentVersions": [
    {
      "componentVersionID": 131,
      "componentID": 105,
      "VersionNo": 1,
      "VersionName": "API v1",
      "isDefault": true,
      "isActive": true,
      "ComponentVersionCurrencies": [
        {
          "componentVersionCurrencyID": 196,
          "componentVersionID": 131,
          "CurrencyCode": "ZAR",
          "ComponentBracketPrices": [
            {
              "componentBracketID": 293,
              "componentVersionCurrencyID": 196,
              "QtyFrom": 1,
              "QtyTill": 20,
              "Price": 120
            },
            {
              "componentBracketID": 294,
              "componentVersionCurrencyID": 196,
              "QtyFrom": 20,
              "QtyTill": null,
              "Price": 100
            }
          ]
        }
      ]
    }
  ]
}

Edit specific component

URL

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

URL PARAMETERS (1 Field)

Parameter Format Description
componentID req Numeric Unique component identifier

INPUT PARAMETERS (9 Fields)

Parameter Format Description
Name req Alpha Numeric Unique customer reference
Type req Alpha See here for more details
Scheme req Alpha See here for more details
Descrip Alpha Numeric Specific component description
isActive Boolean Indicates if compnent is active, if not set defaults to false
UnitName req Alpha Numeric Specify specific component unit name. eg: per license / per sms / per installation
packageGroupID req Alpha Numeric Unique Package Group identifier
Term req Numeric Specific subscription period between billings for the Subscription
TermType req Alpha Specific subscription term type:
  • months - Billed on n monthly basis.
  • days - Billed on n daily basis.

EXAMPLES

JSON Input

{
   "ComponentCode":"CMP-API11",
   "Name":"Api component",
   "Type":"Quantity",
   "Scheme":"unit",
   "Descrip":"Api test component",
   "UnitName":"per license",
   "packageGroupID":95,
   "Term":1,
   "TermType":"months",
   "isActive":true,
   "packageGroupID":1
}

JSON Output

HTTP CODE: 200 OK

Delete component

URL

DELETE https://api.billagain.com/

URL PARAMETERS (1 Field)

Parameter Format Description
componentID req Numeric Unique component identifier

EXAMPLES

JSON Output

HTTP CODE: 204 No Content