Application Packaging Standard

Last updated 18-Mar-2019

BssAccountInformation

This type represents billing specific information about an account, either a Customer, Reseller, or Provider in the platform.

Schema

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

{
  "name": "BssAccountInformation",
  "id": "http://parallels.com/pa/bss-account-info/1.0",
  "apsVersion": "2.0",
  "implements": [
    "http://aps-standard.org/types/core/resource/1.0"
  ],
  "relations": {
    "paAccount": {
      "type": "http://parallels.com/aps/types/pa/account/1.2"
    },
    "customerClass": {
      "type": "http://www.odin.com/billing/CustomerClass/1.0"
    },
    "ownCustomerClasses": {
      "type": "http://www.odin.com/billing/CustomerClass/1.0",
      "collection": true
    }
  },
  "properties": {
    "accountId": {
      "type": "integer",
      "required": true
    },
    "accountCurrencyCode": {
      "type": "string",
      "readonly": true
    },
    "status": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "CANCELLED",
        "VERIFICATION_REQUIRED",
        "NOT_INITIALIZED",
        "CANCELLED_NOT_INITIALIZED",
        "CREDIT_HOLD",
        "ADMINISTRATIVE_HOLD",
        "CREDIT_ADMINISTRATIVE_HOLD",
        "TRANSFERRED_OUT",
        "ERASED"
      ],
      "enumTitles": [
        "Active",
        "Cancelled",
        "Verification required",
        "Not initialized",
        "Cancelled (not initialized)",
        "Credit Hold",
        "Administrative Hold",
        "Credit + Administrative Hold",
        "Transferred Out",
        "Erased"
      ]
    },
    "externalARManagement": {
      "type": "boolean",
      "default": "false"
    },
    "taxRegId": {
      "type": "string"
    },
    "taxRegIdStatus": {
      "type": "string",
      "title": "Tax Reg ID status",
      "enum": [
        "NOT_VERIFIED",
        "VERIFIED"
      ],
      "enumTitles": [
        "Not Verified",
        "Verified"
      ]
    },
    "taxZoneId": {
      "type": "string"
    },
    "taxStatus": {
      "type": "string",
      "required": true,
      "title": "Tax Status of client",
      "enum": [
        "PROVIDER",
        "PERSONAL",
        "COMPANY"
      ],
      "enumTitles": [
        "Provider",
        "Personal",
        "Company"
      ]
    },
    "salesId": {
      "type": "string"
    },
    "branchId": {
      "type": "string"
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "Attribute"
      }
    },
    "creditTerm": {
      "type": "BssCreditTerm"
    },
    "fullyRegistered": {
      "type": "boolean"
    },
    "birthday": {
      "type": "string",
      "format": "date"
    },
    "passport": {
      "type": "string"
    },
    "companyNameLatin": {
      "type": "string"
    },
    "systemId": {
      "type": "integer"
    },
    "localeId": {
      "type": "string",
      "required": true
    }
  },
  "operations": {
    "getAccountBalanceDetails": {
      "path": "/balance-details",
      "verb": "GET",
      "response": {
        "type": "BssAccountBalanceDetails"
      },
      "errorResponse": {
        "type": "object"
      }
    },
    "setTopUpOptions": {
      "path": "/set-top-up-options",
      "verb": "POST",
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "params": {
          "kind": "body",
          "type": "BssAutoPaymentDetails"
        }
      }
    },
    "putOnCreditHold": {
      "path": "/putOnCreditHold",
      "verb": "POST",
      "errorResponse": {
        "type": "object"
      },
      "access": {
        "owner": false,
        "referrer": false
      },
      "parameters": {
        "params": {
          "kind": "body",
          "type": "PutOnCreditHoldParams"
        }
      }
    },
    "releaseFromCreditHold": {
      "path": "/releaseFromCreditHold",
      "verb": "POST",
      "errorResponse": {
        "type": "object"
      },
      "access": {
        "owner": false,
        "referrer": false
      },
      "parameters": {
        "params": {
          "kind": "body",
          "type": "ReleaseFromCreditHoldParams"
        }
      }
    },
    "getTaxRegId": {
      "path": "/taxRegId",
      "verb": "GET",
      "response": {
        "type": "string"
      },
      "errorResponse": {
        "type": "object"
      },
      "access": {
        "public": false,
        "privilege": "http://www.parallels.com/pa/pa-core-services#sensitive_account_info-view"
      }
    }
  },
  "structures": {
    "Attribute": {
      "type": "object",
      "properties": {
        "attributeID": {
          "type": "string",
          "required": true
        },
        "value": {
          "type": "string"
        }
      }
    },
    "BssCreditTerm": {
      "type": "object",
      "properties": {
        "duePeriod": {
          "type": "integer"
        },
        "holdPeriod": {
          "type": "integer"
        },
        "daysToDelay": {
          "type": "integer"
        }
      }
    },
    "BssPaymentMethod": {
      "type": "object",
      "properties": {
        "internalId": {
          "type": "integer"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "integer"
        },
        "paymentSystem": {
          "type": "string"
        },
        "ownerAccountId": {
          "type": "integer"
        },
        "bankAccountStatus": {
          "type": "BankAccountStatus"
        },
        "ownerName": {
          "type": "string"
        },
        "status": {
          "type": "Status"
        },
        "suspended": {
          "type": "boolean"
        },
        "perCustomer": {
          "type": "boolean"
        }
      }
    },
    "BankAccountStatus": {
      "type": "object"
    },
    "Status": {
      "type": "object"
    },
    "BssAutoPaymentDetails": {
      "type": "object",
      "properties": {
        "topupThreshhold": {
          "type": "number"
        },
        "autoTopupAmount": {
          "type": "number"
        },
        "autoTopupPerOrder": {
          "type": "boolean"
        },
        "autoTopupEnabled": {
          "type": "boolean"
        },
        "payToolID": {
          "type": "integer"
        },
        "vPayToolType": {
          "type": "integer"
        },
        "status": {
          "type": "integer"
        }
      }
    },
    "BssAccountBalanceDetails": {
      "type": "object",
      "properties": {
        "accountId": {
          "type": "integer"
        },
        "availableBalance": {
          "type": "number"
        },
        "availableBalanceStr": {
          "type": "string"
        },
        "currentPeriod": {
          "type": "string"
        },
        "currentBalance": {
          "type": "number"
        },
        "currentBalanceStr": {
          "type": "string"
        },
        "notInvoicedPurchases": {
          "type": "number"
        },
        "notInvoicedPurchasesStr": {
          "type": "string"
        },
        "paymentsByProvider": {
          "type": "number"
        },
        "paymentsByProviderStr": {
          "type": "string"
        },
        "availableCreditLimit": {
          "type": "number"
        },
        "availableCreditLimitStr": {
          "type": "string"
        },
        "outstandingInvoicesAmountEARM": {
          "type": "number"
        },
        "outstandingInvoicesAmountEARMStr": {
          "type": "string"
        },
        "externalCreditLimitEARM": {
          "type": "number"
        },
        "externalCreditLimitEARMStr": {
          "type": "string"
        },
        "externalAvailableProvisioningBalanceEARM": {
          "type": "number"
        },
        "externalAvailableProvisioningBalanceEARMStr": {
          "type": "string"
        },
        "paymentMethod": {
          "type": "BssPaymentMethod"
        },
        "autoPaymentDetails": {
          "type": "BssAutoPaymentDetails"
        },
        "externalARManagement": {
          "type": "boolean"
        }
      }
    },
    "PutOnCreditHoldParams": {
      "type": "object",
      "properties": {
        "policy": {
          "type": "string",
          "required": true,
          "enum": [
            "ALL_SUBSCRIPTIONS",
            "UNPAID_SUBSCRIPTIONS"
          ]
        },
        "reason": {
          "type": "string",
          "required": true,
          "enum": [
            "ACCOUNT_OVERDUE",
            "FRAUD",
            "CUSTOMER_REQUEST",
            "NOT_APPLICABLE",
            "AUP_VIOLATION",
            "OTHER"
          ]
        },
        "comment": {
          "type": "string",
          "required": true
        }
      }
    },
    "ReleaseFromCreditHoldParams": {
      "type": "object",
      "properties": {
        "policy": {
          "type": "string",
          "required": true,
          "enum": [
            "DEFAULT",
            "TEMPORARY"
          ]
        },
        "activeUntil": {
          "type": "string",
          "format": "date-time"
        },
        "comment": {
          "type": "string",
          "required": true
        }
      }
    }
  }
}

Properties

NAME TYPE ATTRIBUTES DEFAULT DESCRIPTION
accountCurrencyCode String Not Required Read Only   Account currency
accountId Integer Required   Account ID in the platform
attributes array Not Required   Indicates customer attributes
birthday Date Not Required   Indicates customer birthday
branchId String Not Required   Indicates customer branch ID
companyNameLatin String Not Required   Indcates customer company name
creditTerm   Not Required   Indicates customer credit terms
externalARManagement Boolean Not Required false Indicates that account balance are managed by external system
fullyRegistered Boolean Not Required   Indicates that customer is fully registered
localeId String Required   Indicates customer locale
passport String Not Required   Indicates customer passport
salesId String Not Required   Indicates customer sales ID
status enum AccountStatus Not Required   Identifies an account status AccountStatus
systemId Integer Not Required   Indicates customer system ID
taxRegId String Not Required   Indicates customer tax registration ID
taxRegIdStatus enum TaxRegIdStatus Not Required   Indicates customer tax registration status ID
taxStatus enum TaxStatus Required   Indicates customer tax status
taxZoneId String Not Required   Indicates customer tax zone ID

Relationship

NAME TYPE REQUIRED DESCRIPTION
customerClass CustomerClass No Account customer class
ownCustomerClasses Collection of CustomerClass No Collection of customer classes created by the account. The account can change customer class of own accounts (resellers or customers) only to customer class from this collection.
paAccount PAAccount No Relation to PAAccount

Enums

NAME VALUES DESCRIPTION
AccountStatus
  • ACTIVE
  • CANCELLED
  • VERIFICATION_REQUIRED
  • NOT_INITIALIZED
  • CANCELLED_NOT_INITIALIZED
  • CREDIT_HOLD
  • ADMINISTRATIVE_HOLD
  • CREDIT_ADMINISTRATIVE_HOLD
  • TRANSFERRED_OUT
  • ERASED
Account Status:
ACTIVE - Active
CANCELLED - Cancelled
VERIFICATION_REQUIRED - Verification required
NOT_INITIALIZED - Not initialized
CANCELLED_NOT_INITIALIZED - Cancelled (not initialized)
CREDIT_HOLD - Credit Hold
ADMINISTRATIVE_HOLD - Administrative Hold
CREDIT_ADMINISTRATIVE_HOLD - Credit+Administrative Hold
TRANSFERRED_OUT - Transferred Out
ERASED - Erased

PutOnCreditHoldPolicy
  • ALL_SUBSCRIPTIONS
  • UNPAID_SUBSCRIPTIONS
Policy of put account on credit hold:
ALL_SUBSCRIPTIONS - Suspend all subscriptions
UNPAID_SUBSCRIPTIONS - Suspend only unpaid subscriptions

PutOnCreditHoldReason
  • CUSTOMER_REQUEST
  • FRAUD
  • ACCOUNT_OVERDUE
  • AUP_VIOLATION
  • OTHER
  • NOT_APPLICABLE
Reason of put account on credit hold:
CUSTOMER_REQUEST - Customer Request
FRAUD - Fraud
ACCOUNT_OVERDUE - Account overdue
AUP_VIOLATION - AUP Violation
OTHER - Other
NOT_APPLICABLE - Not Applicable

ReleaseFromCreditHoldPolicy
  • DEFAULT
  • TEMPORARY
Policy of release account from credit hold:
DEFAULT - Release from Credit Hold (default policy)
TEMPORARY - Temporarily release from credit hold (put back on hold after specified date)

TaxRegIdStatus
  • NOT_VERIFIED
  • VERIFIED
Tax reg id status on bss account: not verified - 0, verified - 1
TaxStatus
  • PROVIDER
  • PERSONAL
  • COMPANY
Tax status on bss account: provider - 0, personal - 1, company - 2

Custom Operations

OPERATION VERB PATH RETURNS Description
getAccountBalanceDetails GET /balance-details Class with information about balances and top-up Get account balance information for reseller: balances and default top-up payment method from BM. Uses BM.GetAvailableBalance method
getTaxRegId GET /taxRegId Account TaxRegId Custom operation to get account TaxRegId
putOnCreditHold POST /putOnCreditHold   Put the account on Credit Hold
releaseFromCreditHold POST /releaseFromCreditHold   Release the account from Credit Hold
setTopUpOptions POST /set-top-up-options   Set default top-up payment method for reseller

getAccountBalanceDetails

HTTP Request

GET /aps/2/resources/{aps-id}/balance-details

Description

Get account balance information for reseller: balances and default top-up payment method from BM. Uses BM.GetAvailableBalance method

Returns

Class with information about balances and top-up

getTaxRegId

HTTP Request

GET /aps/2/resources/{aps-id}/taxRegId

Description

Custom operation to get account TaxRegId

Returns

Account TaxRegId

putOnCreditHold

HTTP Request

POST /aps/2/resources/{aps-id}/putOnCreditHold

Description

Put the account on Credit Hold

Parameters

PARAMETER TYPE DESCRIPTION
params PutOnCreditHoldParams Parameter PutOnCreditHoldParams
resourceId String APS UUID of resource with type BssAccountInformation

Returns

releaseFromCreditHold

HTTP Request

POST /aps/2/resources/{aps-id}/releaseFromCreditHold

Description

Release the account from Credit Hold

Parameters

PARAMETER TYPE DESCRIPTION
params ReleaseFromCreditHoldParams Parameter ReleaseFromCreditHoldParams
resourceId String APS UUID of resource with type BssAccountInformation

Returns

setTopUpOptions

HTTP Request

POST /aps/2/resources/{aps-id}/set-top-up-options

Description

Set default top-up payment method for reseller

Parameters

PARAMETER TYPE DESCRIPTION
class   With information about balances and top-up

Returns

Structures

PutOnCreditHoldParams

Parameters of operation {@link BssAccountInformationOperation#putOnCreditHold(String, PutOnCreditHoldParams)}

NAME TYPE ATTRIBUTES DEFAULT DESCRIPTION
comment String Required    
policy enum PutOnCreditHoldPolicy Required    
reason enum PutOnCreditHoldReason Required    

ReleaseFromCreditHoldParams

Parameters of operation {@link BssAccountInformationOperation#releaseFromCreditHold(String, ReleaseFromCreditHoldParams)}

NAME TYPE ATTRIBUTES DEFAULT DESCRIPTION
activeUntil Date Not Required    
comment String Required    
policy enum ReleaseFromCreditHoldPolicy Required    

Examples

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.