Developer Guide

Package Versions

Get a list of package versions

URL

GET https://api.billagain.com/v1/packages/{packageID}/versions

URL PARAMETERS

None - optional paging values can be passed through

OUTPUT PARAMETERS (1 Field)

Parameter Format Description
PackageVersions Object List
packageVersionID Numeric Unique package version identifier
packageID Numeric Unique package identifier
VersionNo Numeric Unique version number
VersionName Alpha Numeric current version name
isDefault Boolean Specifies if specific version is default
isActive Boolean Specifies if specific version is active
SubscriptionCount Alpha Indicate amount of Subscriptions on current version, includes future and active Subscriptions
packageVersionRates Object List
packageRateID Numeric Unique package rate identifier
packageID Numeric Unique package identifier
CurrencyCode Alpha Numeric Currency code specified for specific package version rate
SetupFee Numeric State setup fee for specifc package version
TrialFee Numeric State trial fee for specifc package version
TrialPeriod Numeric State trial period for specifc package version
TrialPeriodType Alpha Specify period trial type:
  • months
  • days
PackageRateTerms Object List
packageRateTermID Numeric Unique package rate identifier
packageRateID Numeric Unique package rate term identifier
ChargePrice Numeric Specific version rate price
ChargeTerm Numeric Specific package version rate term
ChargeTermType Alpha Specify charge term type:
  • months
  • days

EXAMPLES

JSON Output

HTTP CODE: 200 OK
[
  {
    "packageVersionID": 295,
    "packageID": 290,
    "VersionNo": 1,
    "VersionName": "v1",
    "isDefault": true,
    "isActive": false,
    "packageVersionRates": [
      {
        "packageRateID": 550,
        "packageID": 0,
        "CurrencyCode": "ZAR",
        "SetupFee": 0,
        "TrialFee": 0,
        "TrialPeriod": 0,
        "TrialPeriodType": "days",
        "PackageRateTerms": [
          {
            "packageRateTermID": 790,
            "packageRateID": 550,
            "ChargePrice": 0,
            "ChargeTerm": 1,
            "ChargeTermType": "months"
          },
          {
            "packageRateTermID": 791,
            "packageRateID": 550,
            "ChargePrice": 0,
            "ChargeTerm": 12,
            "ChargeTermType": "months"
          },
          {
            "packageRateTermID": 803,
            "packageRateID": 550,
            "ChargePrice": 0,
            "ChargeTerm": 1,
            "ChargeTermType": "days"
          }
        ]
      }
    ]
  }
]

Get specific package

URL

GET https://api.billagain.com/v1/packages/{packageID}/versions/{versionno}

URL PARAMETERS (2 Fields)

Parameter Format Description
packageID req Numeric Unique package identifier
versionno req Numeric Unique package version number

OUTPUT PARAMETERS (8 Fields)

Parameter Format Description
packageVersionID Numeric Unique package version identifier
packageID Numeric Unique package identifier
VersionNo Numeric Unique version number
VersionName Alpha Numeric current version name
isDefault Boolean Specifies if specific version is default
isActive Boolean Specifies if specific version is active
SubscriptionCount Alpha Indicate amount of Subscriptions on current version, includes future and active Subscriptions
packageVersionRates Object List
packageRateID Numeric Unique package rate identifier
packageID Numeric Unique package identifier
CurrencyCode Alpha Numeric Currency code specified for specific package version rate
SetupFee Numeric State setup fee for specifc package version
TrialFee Numeric State trial fee for specifc package version
TrialPeriod Numeric State trial period for specifc package version
TrialPeriodType Alpha Specify period trial type:
  • months
  • days
PackageRateTerms Object List
packageRateTermID Numeric Unique package rate identifier
packageRateID Numeric Unique package rate term identifier
ChargePrice Numeric Specific version rate price
ChargeTerm Numeric Specific package version rate term
ChargeTermType Alpha Specify charge term type:
  • months
  • days

EXAMPLES

JSON Output

HTTP CODE: 200 OK
{
  "packageVersionID": 295,
  "packageID": 290,
  "VersionNo": 1,
  "VersionName": "v1",
  "isDefault": true,
  "isActive": true,
  "packageVersionRates": [
    {
      "packageRateID": 550,
      "packageID": 0,
      "CurrencyCode": "ZAR",
      "SetupFee": 0,
      "TrialFee": 0,
      "TrialPeriod": 0,
      "TrialPeriodType": "days",
      "PackageRateTerms": [
        {
          "packageRateTermID": 550,
          "packageRateID": 550,
          "ChargePrice": 0,
          "ChargeTerm": 1,
          "ChargeTermType": "months"
        },
        {
          "packageRateTermID": 550,
          "packageRateID": 550,
          "ChargePrice": 0,
          "ChargeTerm": 12,
          "ChargeTermType": "months"
        },
        {
          "packageRateTermID": 550,
          "packageRateID": 550,
          "ChargePrice": 0,
          "ChargeTerm": 1,
          "ChargeTermType": "days"
        }
      ]
    }
  ]
}

Add package version

URL

POST https://api.billagain.com/v1/packages/{packageID}/versions

INPUT PARAMETERS (4 Fields)

Parameter Format Description
VersionName req Alpha Numeric current version name
isActive req Boolean Indicate if current version should be active
isDefault req Boolean Indicate if current version is Default
packageVersionRates Object List
CurrencyCode req Alpha Numeric Currency code specified for specific package version rate
SetupFee req Numeric State setup fee for specifc package version
TrialFee req Numeric State trial fee for specifc package version
TrialPeriod req Numeric State trial period for specifc package version
TrialPeriodType req Alpha Specify period trial type:
  • months
  • days
PackageRateTerms Object List
ChargePrice req Numeric Specific version rate price
ChargeTerm req Numeric Specific package version rate term
ChargeTermType req Alpha Specify charge term type:
  • months
  • days

OUTPUT PARAMETERS (8 Fields)

Parameter Format Description
packageVersionID Numeric Unique package version identifier
packageID Numeric Unique package identifier
VersionNo Numeric Unique version number
VersionName Alpha Numeric current version name
isDefault Boolean Specifies if specific version is default
isActive Boolean Specifies if specific version is active
SubscriptionCount Alpha Indicate amount of Subscriptions on current version, includes future and active Subscriptions
packageVersionRates Object List
packageRateID Numeric Unique package rate identifier
packageID Numeric Unique package identifier
CurrencyCode Alpha Numeric Currency code specified for specific package version rate
SetupFee Numeric State setup fee for specifc package version
TrialFee Numeric State trial fee for specifc package version
TrialPeriod Numeric State trial period for specifc package version
TrialPeriodType Alpha Specify period trial type:
  • months
  • days
PackageRateTerms Object List
packageRateTermID Numeric Unique package rate identifier
packageRateID Numeric Unique package rate term identifier
ChargePrice Numeric Specific version rate price
ChargeTerm Numeric Specific package version rate term
ChargeTermType Alpha Specify charge term type:
  • months
  • days

EXAMPLES

JSON Input

{

  "VersionName": "v3",
  "isActive": true,
  "isDefault": true,
  "packageVersionRates": [
    {
      "CurrencyCode": "ZAR",
      "SetupFee": 0,
      "TrialFee": 0,
      "TrialPeriod": 0,
      "TrialPeriodType": "days",
      "PackageRateTerms": [
        {
          "ChargePrice": 250,
          "ChargeTerm": 1,
          "ChargeTermType": "months"
        },
        {
          "ChargePrice": 200,
          "ChargeTerm": 12,
          "ChargeTermType": "months"
        }
      ]
    }
  ]
}

JSON Output

HTTP CODE: 201 Created
{
  "packageVersionID": 306,
  "packageID": 290,
  "VersionNo": 3,
  "VersionName": "v3",
  "isDefault": false,
  "isActive": true,
  "SubscriptionCount": 0,
  "packageVersionRates": [
    {
      "packageRateID": 562,
      "packageID": 290,
      "CurrencyCode": "ZAR",
      "SetupFee": 0,
      "TrialFee": 0,
      "TrialPeriod": 0,
      "TrialPeriodType": "days",
      "PackageRateTerms": [
        {
          "packageRateTermID": 562,
          "packageRateID": 562,
          "ChargePrice": 250,
          "ChargeTerm": 1,
          "ChargeTermType": "months"
        },
        {
          "packageRateTermID": 562,
          "packageRateID": 562,
          "ChargePrice": 200,
          "ChargeTerm": 12,
          "ChargeTermType": "months"
        }
      ]
    }
  ]
}

Edit package version

URL

PUT https://api.billagain.com/v1/packages/{packageID}/versions/{versionno}

URL PARAMETERS (2 Fields)

Parameter Format Description
packageID req Numeric Unique package identifier
versionno req Numeric Unique package version number

INPUT PARAMETERS (4 Fields)

Parameter Format Description
VersionName req Alpha Numeric current version name
isActive req Boolean Indicate if current version should be active
isDefault req Boolean Indicate if current version should is Default
packageVersionRates Object List
CurrencyCode req Alpha Numeric Currency code specified for specific package version rate
SetupFee req Numeric State setup fee for specifc package version
TrialFee req Numeric State trial fee for specifc package version
TrialPeriod req Numeric State trial period for specifc package version
TrialPeriodType req Alpha Specify period trial type:
  • months
  • days
PackageRateTerms Object List
ChargePrice req Numeric Specific version rate price
ChargeTerm req Numeric Specific package version rate term
ChargeTermType req Alpha Specify charge term type:
  • months
  • days

EXAMPLES

JSON Input

{

  "VersionName": "v3",
  "isActive": true,  
  "isDefault": true,
  "packageVersionRates": [
    {
      "CurrencyCode": "ZAR",
      "SetupFee": 0,
      "TrialFee": 0,
      "TrialPeriod": 0,
      "TrialPeriodType": "days",
      "PackageRateTerms": [
        {
          "ChargePrice": 250,
          "ChargeTerm": 1,
          "ChargeTermType": "months"
        },
        {
          "ChargePrice": 200,
          "ChargeTerm": 12,
          "ChargeTermType": "months"
        }
      ]
    }
  ]
}

JSON Output

HTTP CODE: 204 No Content

Delete package version

URL

DELETE https://api.billagain.com/v1/packages/{id}/versions/{versionno:int:min(1)}

URL PARAMETERS (2 Fields)

Parameter Format Description
packageID req Numeric Unique package identifier
versionno req Numeric Unique package version number

EXAMPLES

JSON Output

HTTP CODE: 204 No Content