Output Data Structure
This document details the structure of a request from NSPS to the connector, with an ESPF Event (data) and enriched data from PortaBilling (pb_data). This is a description of the data formats.
| Field Name | Type | Mandatory | Description |
|---|---|---|---|
event_id |
str |
Yes | Unique identifier of the event. |
data |
ESPFEvent |
Yes | Event payload, represented by an instance of ESPFEvent |
pb_data |
PortaBillingData |
No | Enriched data from PortaBilling (1) |
handler_id |
str |
No | Optional identifier of the handler assigned to process the event. |
status |
str |
No | Status of event processing. (2) |
created_at |
datetime |
No | Timestamp when the event was created. |
updated_at |
datetime |
No | Timestamp when the event was last enriched by NSPS. |
- Includes account, SIM, and access policy info. Defaults empty.
- Defaults to
EventStatus.UNDEFINED.
The field called data contains the generated ESPF event as it is. So if you don't need additional info from PortaBilling, you can only use this data.
OpenApi Schema
openapi: 3.1.0
info:
title: NSPS Output Data Structures
description: >
This OpenAPI schema documents the data structures sent by NSPS (PortaBilling ESPF events)
to the NSPS Connector. It contains only components and schemas to describe the
event payloads and their fields, without any endpoints or operations.
Use this diagram to understand the format, types, and possible values of data sent from NSPS to the connector.
version: 1.0.0
components:
schemas:
Event:
type: object
title: Event
description: Main event model
required:
- event_id
- data
properties:
event_id:
type: string
title: Event Id
description: Unique identifier of the event
examples:
- a3623086-24c2-47fb-a17f-929d9e542ed2
data:
$ref: '#/components/schemas/ESPFEvent'
description: Event data containing type and variables
pb_data:
anyOf:
- $ref: '#/components/schemas/PortaBillingData'
- type: 'null'
description: Enriched data from PortaBilling
handler_id:
anyOf:
- type: string
- type: 'null'
title: Handler Id
description: ID of the handler processing this event
examples:
- wtl-hlr-hss-nsps
created_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created At
description: When the event was created (ISO datetime string)
examples:
- '2025-03-12T16:47:30.443939+00:00'
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
description: When the event was last updated (ISO datetime string)
examples:
- '2025-03-12T16:47:36.585885+00:00'
status:
anyOf:
- type: string
- type: 'null'
title: Status
description: Current status of the event
examples:
- received
ESPFEvent:
type: object
title: ESPFEvent
description: Model representing incoming ESPF event
required:
- event_type
- variables
properties:
event_type:
type: string
title: Event Type
description: 'The type of the event'
enum:
- SIM/Updated
- SIM/Created
- SIM/Deleted
- SIM/Replaced
examples:
- SIM/Updated
variables:
type: object
title: Variables
description: >
All event variables passed as-is from original event, including:
`i_env`, `i_event`, `i_account`, `event_time`.
properties:
i_env:
anyOf:
- type: integer
- type: 'null'
description: Environment identifier (environment ID) in PortaBilling
examples:
- 3
i_event:
anyOf:
- type: integer
- type: 'null'
description: Unique event identifier
examples:
- 999999
i_account:
anyOf:
- type: integer
- type: 'null'
description: Account identifier (represents the subscriber or account)
examples:
- 277147
event_time:
anyOf:
- type: string
- type: 'null'
description: Event timestamp (in `YYYY-MM-DD HH:MM:SS` format)
examples:
- '2025-05-01 12:00:00'
PortaBillingData:
type: object
title: PortaBillingData
description: This section contains enriched data received from PortaBilling.
properties:
account_info:
anyOf:
- $ref: '#/components/schemas/AccountInfo'
- type: 'null'
description: Main account-level data container.
sim_info:
anyOf:
- $ref: '#/components/schemas/SimInfo'
- type: 'null'
description: SIM card information from PortaBilling.
prev_sim_info:
anyOf:
- $ref: '#/components/schemas/SimInfo'
- type: 'null'
description: Previous SIM card information (used for SIM/Replaced events).
access_policy_info:
anyOf:
- type: array
items:
$ref: '#/components/schemas/AccessPolicyInfo'
- type: 'null'
description: Access policy information from PortaBilling.
product_info:
anyOf:
- $ref: '#/components/schemas/ProductInfo'
- type: 'null'
description: Product information from PortaBilling.
full_vd_counter_info:
anyOf:
- type: array
items:
$ref: '#/components/schemas/VDCounterInfo'
- type: 'null'
description: VD counter information from PortaBilling.
AccountInfo:
type: object
title: AccountInfo
description: The main account-level data container.
properties:
bill_status:
anyOf:
- type: string
enum:
- open
- suspended
- inactive
- terminated
- type: 'null'
title: Billing status
description: >
The billing status of the account.
Possible values:
- `open` — The account is open.
- `suspended` — The account is suspended. This status is available for debit accounts and can be set only automatically (by subscriptions assigned to the account).
- `inactive` — The account is inactive. This status can be set only during account creation, manually or using the Account Generator.
- `terminated` — The account is terminated. This status can be set only via the terminate_account method.
examples:
- open
billing_model:
anyOf:
- type: string
enum:
- debit_account
- recharge_voucher
- credit_account
- alias
- beneficiary
- type: 'null'
title: Account type
description: >
The account type.
An account can be a debit, credit, beneficiary, or voucher type.
Possible values:
- `debit_account` — An account usually associated with prepaid cards; the account balance shows available funds.
- `recharge_voucher` — A voucher-type account used to refill debit or credit accounts; the balance of the voucher account is transferred to the main account.
- `credit_account` — A credit account is invoiced for incurred costs.
- `alias` — An alias account type.
- `beneficiary` — A beneficiary account has a service configuration that uses only the balance, products, and quotas of a sponsor account.
examples:
- credit_account
blocked:
anyOf:
- type: boolean
- type: 'null'
title: Blocked
description: Indicates whether account's calls and access to the self-care interface is blocked
examples:
- false
email:
anyOf:
- type: string
- type: 'null'
title: Email
description: The email address associated with the account
examples:
- info@portaone.com
firstname:
anyOf:
- type: string
- type: 'null'
title: First name
description: The account owner's first name
examples:
- John
i_account:
anyOf:
- type: integer
- type: 'null'
title: Account unique ID
description: Internal ID of the account.
examples:
- 277147
i_customer:
anyOf:
- type: integer
- type: 'null'
title: Customer ID
description: The ID of the customer record to which the account belongs.
examples:
- 6392
i_master_account:
anyOf:
- type: integer
- type: 'null'
title: Master Account ID
description: The ID of the parent account.
examples:
- null
i_product:
anyOf:
- type: integer
- type: 'null'
title: Product ID
description: The ID for the account's product.
examples:
- 3774
i_vd_plan:
anyOf:
- type: integer
- type: 'null'
title: VolumeDiscount Plan ID
description: The unique ID of the bundle assigned to the account individually.
examples:
- 1591
id:
anyOf:
- type: string
- type: 'null'
title: Id
description: The unique ID (PIN) of the account on the interface.
examples:
- 380661310764@msisdn
lastname:
anyOf:
- type: string
- type: 'null'
title: Last name
description: The account owner's last name.
examples:
- Doe
phone1:
anyOf:
- type: string
- type: 'null'
title: Phone1
description: The main phone number.
examples:
- '380661310764'
product_name:
anyOf:
- type: string
- type: 'null'
title: Product Name
description: The name of the account's product.
examples:
- Pay as you go
status:
anyOf:
- type: string
enum:
- active
- customer_exported
- expired
- quarantine
- screening
- closed
- inactive
- suspended
- customer_suspended
- customer_limited
- customer_provisionally_terminated
- blocked
- customer_blocked
- not_yet_active
- credit_exceeded
- overdraft
- customer_has_no_available_funds
- customer_credit_exceed
- zero_balance
- customer_suspension_delayed
- customer_limiting_delayed
- frozen
- type: 'null'
title: Status
description: >
The current status of the account, based on its own status, the customer's status and other factors.
Possible values:
- `active` — The account is active.
- `customer_exported` — The account's customer is exported.
- `expired` — The account expired.
- `quarantine` — After being screened, the account was unable to supply valid credentials.
- `screening` — Suspicious activity was detected for the account.
- `closed` — The account is closed.
- `inactive` — The account is inactive.
- `suspended` — The account is suspended (applicable to debit accounts only).
- `customer_suspended` — The account's customer is suspended.
- `customer_limited` — Services are limited for the account's customer.
- `customer_provisionally_terminated` — The account's customer is provisionally terminated.
- `blocked` — The account is blocked.
- `customer_blocked` — The account's customer is blocked.
- `not_yet_active` — The account's activation date has not yet come.
- `credit_exceeded` — The account's balance is above the individual credit limit.
- `overdraft` — The account's balance is overdrawn (applies to debit accounts only).
- `customer_has_no_available_funds` — The account's customer funds are depleted.
- `customer_credit_exceed` — The account's customer balance is above the credit limit.
- `zero_balance` — The account's funds are depleted (applicable to debit accounts only).
- `customer_suspension_delayed` — The account's customer suspension is lifted.
- `customer_limiting_delayed` — The account's customer limitation is delayed.
- `frozen` — The account's auto-payment is suspended due to repeated errors.
examples:
- active
time_zone_name:
anyOf:
- type: string
- type: 'null'
title: Time Zone Name
description: >
The name of the account's time zone. The UI equivalent of this field is the 'Time zone'. Examples: "Europe/Prague", "America/Vancouver", etc.
examples:
- Europe/Kiev
zip:
anyOf:
- type: string
- type: 'null'
title: Zip code
description: The postal (zip) code.
examples:
- '40004'
assigned_addons:
anyOf:
- type: array
items:
$ref: '#/components/schemas/AssignedAddon'
- type: 'null'
title: Assigned Addons
description: The list of the account's add-on products.
service_features:
anyOf:
- type: array
items:
$ref: '#/components/schemas/ServiceFeature'
- type: 'null'
title: Service Features
description: The list of the service features.
AssignedAddon:
type: object
title: AssignedAddon
description: The list of the account's add-on products
properties:
addon_effective_from:
anyOf:
- type: string
- type: 'null'
title: Addon Effective From
description: ISO datetime string - when the add-on product is activated.
examples:
- '2025-05-16T12:59:46'
addon_effective_to:
anyOf:
- type: string
- type: 'null'
title: Addon Effective To
description: ISO datetime string - when the add-on product expires.
examples:
- '2025-06-16T12:59:46'
addon_priority:
anyOf:
- type: integer
- type: 'null'
title: Addon Priority
description: >
Priority of the addon:
0=main product,
10=low,
15=medium low,
20=medium,
25=medium high,
30=high.
examples:
- 10
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: The internal product description.
examples:
- 'Product description'
i_product:
anyOf:
- type: integer
- type: 'null'
title: Product ID
description: The unique ID of the product.
examples:
- 3775
i_product_group:
anyOf:
- type: integer
- type: 'null'
title: Product Group ID
description: The unique ID of the product group to which the product belongs.
examples:
- null
i_vd_plan:
anyOf:
- type: integer
- type: 'null'
title: VolumeDiscount Plan ID
description: The unique ID of the bundle assigned to the product.
examples:
- 1591
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The product name.
examples:
- Youtube UHD
ServiceFeature:
type: object
title: ServiceFeature
description: List of service features assigned to the account, each with its attributes.
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The service feature name.
examples:
- netaccess_policy
effective_flag_value:
anyOf:
- type: string
enum:
- Y
- N
- type: 'null'
title: Effective Flag Value
description: >
The actual service feature flag value. Possible values:
- `Y` — enabled
- `N` — disabled
examples:
- Y
attributes:
anyOf:
- type: array
items:
$ref: '#/components/schemas/ServiceFeatureAttribute'
- type: 'null'
title: Attributes
description: The list of service feature attributes.
ServiceFeatureAttribute:
type: object
title: ServiceFeatureAttribute
description: Service feature attribute model
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The service feature attribute internal name.
examples:
- access_policy
effective_value:
anyOf:
- type: string
- type: 'null'
title: Effective Value
description: Service feature attribute value, comma-separated if multiple values.
examples:
- '149'
SimInfo:
type: object
title: SimInfo
description: SIM card information from PortaBilling
properties:
i_account:
anyOf:
- type: integer
- type: 'null'
title: Account unique ID
description: The unique ID of the account to which the SIM card belongs.
examples:
- 277147
i_sim_card:
anyOf:
- type: integer
- type: 'null'
title: SIM Card ID
description: The unique ID of the SIM card.
examples:
- 3793
iccid:
anyOf:
- type: string
- type: 'null'
title: ICCID
description: >
The Integrated Circuit Card ID. ICCIDs are stored in the SIM cards.
Possible data format: a unique 18 to 22 digit code that includes the SIM card country, home network, and identification number.
examples:
- '89014103211118510720'
imsi:
anyOf:
- type: string
- type: 'null'
title: IMSI
description: >
The unique International Mobile Subscriber Identity of the SIM card.
Possible data format: a string of 6 to 15 digits.
examples:
- '001010000020349'
msisdn:
anyOf:
- type: string
- type: 'null'
title: MSISDN
description: The Mobile Subscriber Integrated Services Digital Number, mobile number of the SIM card.
examples:
- '380661310764'
status:
anyOf:
- type: string
enum:
- available
- reserved
- used
- disposed
- type: 'null'
title: Status
description: >
The status of the SIM card.
Possible values:
- `available` — the SIM card is available for assignment.
- `reserved` — reserved for the customer, but not yet assigned to the account.
- `used` — SIM card is being used by the account.
- `disposed` — SIM card is disposed and cannot be used.
examples:
- available
AccessPolicyInfo:
type: object
title: AccessPolicyInfo
description: Information about access policies applied to the account.
properties:
i_access_policy:
anyOf:
- type: integer
- type: 'null'
title: Access Policy ID
description: The unique ID of the Access Policy
examples:
- 179
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The name of the Access Policy
examples:
- WTL integration
attributes:
anyOf:
- type: array
items:
$ref: '#/components/schemas/AccessPolicyAttribute'
- type: 'null'
title: Attributes
description: The list of related service policy attribute values
AccessPolicyAttribute:
type: object
title: AccessPolicyAttribute
description: Access policy attribute model
properties:
group_name:
anyOf:
- type: string
- type: 'null'
title: Group Name
description: The name used to group service policy attributes
examples:
- lte.wtl
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The name of the service policy attribute
examples:
- cs_profile
value:
anyOf:
- type: string
- type: 'null'
title: Value
description: Service policy attribute value, comma-separated if multiple values
examples:
- cs-policy
ProductInfo:
type: object
title: ProductInfo
description: Product information from PortaBilling
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The product name.
examples:
- DEV WTL Pay as you go
description:
anyOf:
- type: string
- type: 'null'
title: Description
examples:
- ''
i_product:
anyOf:
- type: integer
- type: 'null'
title: Product ID
description: The unique ID of the product.
examples:
- 658
i_vd_plan:
anyOf:
- type: integer
- type: 'null'
title: VolumeDiscount Plan ID
description: The unique ID of the bundle assigned to the product.
examples:
- 1591
addon_priority:
anyOf:
- type: integer
- type: 'null'
title: Addon Priority
description: >
The priority level of the add-on product.
0 - main product
10 - low
15 - medium low
20 - medium
25 - medium high
30 - high
examples:
- 0
VDCounterInfo:
type: object
title: VDCounterInfo
description: VD counter information from PortaBilling
properties:
discount_info:
anyOf:
- type: string
- type: 'null'
title: Discount Info
description: Short representation of the discount details (e.g., '0..60 - 100%')
examples:
- 0..10 - 100%
dg_name:
anyOf:
- type: string
- type: 'null'
title: DG Name
description: The name of the destination group the bundle item is applied to.
examples:
- RG100
i_vd_plan:
anyOf:
- type: integer
- type: 'null'
title: VolumeDiscount Plan ID
description: The unique ID of the bundle.
examples:
- 204
i_dest_group:
anyOf:
- type: integer
- type: 'null'
title: Destination Group ID
description: The unique ID of the destination group the discount is applied to.
examples:
- 2650
allocated_amount:
anyOf:
- type: number
format: float
- type: 'null'
title: Allocated Amount
description: The total amount of service volume allocated to the customer/account in the current usage period.
examples:
- -1250.75
unit:
anyOf:
- type: string
- type: 'null'
title: Unit
description: The name of the service unit or currency used.
examples:
- megabyte
addon_priority:
anyOf:
- type: integer
- type: 'null'
title: Addon Priority
description: >
The priority level of the bundle item. Possible values:
-1 (no priority)
0 (main product)
10 (low)
12 (bundled credit wallets)
13 (bundled credits)
14 (bundled credit preferred wallets)
15 (medium low)
20 (medium)
25 (medium high)
30 (high)
255 (not part of a product)
examples:
- 10
vdp_name:
anyOf:
- type: string
- type: 'null'
title: VDP Name
description: The name of the bundle.
examples:
- DEV WTL Free 10MB (1 day)
i_vd_dg:
anyOf:
- type: integer
- type: 'null'
title: VolumeDiscount Destination Group ID
description: The unique ID of the bundle item.
examples:
- 283
i_service:
anyOf:
- type: integer
- type: 'null'
title: Service ID
description: The unique ID of the service.
examples:
- 106
service_name:
anyOf:
- type: string
- type: 'null'
title: Service Name
description: The name of the service the discount is applied to.
examples:
- Internet Access KB
remaining:
anyOf:
- type: number
format: float
- type: string
- type: 'null'
title: Remaining
description: The service volume that remains to be used to reach the current threshold.
examples:
- '10'
Example of enriched event
{
"event_id": "3e84c79f-ab6f-4546-8e27-0b6ab866f1fb",
"data": {
"event_type": "SIM/Updated",
"variables": {
"i_env": 1,
"i_event": 999999,
"i_account": 1,
"curr_status": "used",
"prev_status": "active"
}
},
"pb_data": {
"account_info": {
"bill_status": "open",
"billing_model": "credit_account",
"blocked": false,
"i_account": 1,
"i_customer": 6392,
"i_product": 3774,
"id": "79123456789@msisdn",
"phone1": "",
"product_name": "wtl Pay as you go",
"time_zone_name": "Europe/Prague",
"assigned_addons": [
{
"addon_effective_from": "2025-05-16T12:59:46",
"addon_priority": 10,
"description": "",
"i_product": 3775,
"i_vd_plan": 1591,
"name": "wtl Youtube UHD"
}
],
"service_features": [
{
"name": "netaccess_policy",
"effective_flag_value": "Y",
"attributes": [
{
"name": "access_policy",
"effective_value": "179"
}
]
}
]
},
"sim_info": {
"i_sim_card": 3793,
"imsi": "001010000020349",
"msisdn": "79123456789",
"status": "available"
},
"access_policy_info": {
"i_access_policy": 179,
"name": "WTL integration test",
"attributes": [
{
"group_name": "lte.wtl",
"name": "cs_profile",
"value": "cs-pp-20250319"
},
{
"group_name": "lte.wtl",
"name": "eps_profile",
"value": "eps-pp-20250319"
}
]
},
"product_info": {
"name": "DEV WTL Pay as you go",
"description": "",
"addon_priority": 0,
"i_product": 658
},
"full_vd_counter_info": [
{
"service_name": "Internet Access KB",
"vdp_name": "DEV WTL Free 10MB (1 day)",
"i_vd_plan": 204,
"i_dest_group": 2650,
"addon_priority": 10,
"i_vd_dg": 283,
"remaining": "10",
"i_service": 106,
"dg_name": "RG100",
"discount_info": "0..10 - 100%",
"unit": "megabyte",
"allocated_amount": 10
}
]
},
"handler_id": "wtl-hlr-hss-nsps",
"created_at": "2025-03-12T16:47:30.443939+00:00",
"updated_at": "2025-03-12T16:47:36.585885+00:00",
"status": "received"
}
ESPF Event
Type: ESPFEvent
This section describes the ESPF event data structure. It contains key information about the event type and associated variables.
| Field | Type | Description (from PortaOne documentation) |
|---|---|---|
event_type |
enum[str] |
The event type. See possible enum values (1) |
variables.i_env |
int |
Environment identifier (environment ID) in PortaBilling |
variables.i_event |
int |
Unique event identifier |
variables.i_account |
int |
Account identifier (represents the subscriber or account) |
variables.event_time |
str |
Event timestamp (in YYYY-MM-DD HH:MM:SS format) |
event_typeField - Possible Enum Values:SIM/UpdatedSIM/CreatedSIM/DeletedSIM/Replaced
Example of ESPF event
PortaBilling Data
Type: PortaBillingData
This section describes the data structure that contains the enriched data obtained from PortaBilling. It provides detailed information about the account, SIM card, products, features, policies, and usage counters associated with the subscriber.
| Field | Type | Description |
|---|---|---|
account_info |
AccountInfo |
Main account-level data container. |
sim_info |
SimInfo |
SIM card information from PortaBilling. |
prev_sim_info |
SimInfo |
Previous SIM card information (used for SIM/Replaced events). |
access_policy_info |
List[AccessPolicyInfo] |
Access policy information from PortaBilling. |
product_info |
ProductInfo |
Product information from PortaBilling. |
full_vd_counter_info |
List[VDCounterInfo] |
VD counter information from PortaBilling. |
Example: PortaBillingData
Account Info
Type: AccountInfo
Relation: account_info: AccountInfo in PortaBillingData (pb_data)
This section describes the 'AccountInfo' data structure, which is the primary container for account-level data. It provides billing information, account status, assigned product, customer relationships, and owner contact information.
| Field | Type | Description |
|---|---|---|
bill_status |
enum[str] |
The billing status of the account. See possible enum values (1) |
billing_model |
enum[str] |
The account type. See possible enum values (2) |
blocked |
bool |
Boolean conversion - Indicates whether account's calls and access to the self-care interface is blocked. (3) |
email |
str |
The email address associated with the account. |
firstname |
str |
The account owner's first name. |
i_account |
int |
Internal ID of the account. Visible in URL resource path on Admin UI page. |
i_customer |
int |
The ID of the customer record to which the account belongs. |
i_master_account |
int |
The ID of the parent account. |
i_product |
int |
The ID for the account's product. |
i_vd_plan |
int |
The unique ID of the bundle assigned to the account individually. |
id |
str |
Charging ID (MSISDN, ICCID or IMSI) of the account on the network. Visible as ID in Admin UI. |
lastname |
str |
The account owner's last name. |
phone1 |
str |
The main phone number. |
product_name |
str |
The name of the account's product. |
status |
enum[str] |
The current status of the account. See possible enum values (4) |
time_zone_name |
str |
The name of the account's time zone. (5) |
zip |
str |
The postal (zip) code. |
assigned_addons |
List[AssignedAddon] |
List of account's add-on products. |
service_features |
List[AssignedAddon] |
List of service features. |
bill_statusField - Possible Enum Values:active— The account is open. (original code:O)suspended— The account is suspended. This status is available for debit accounts and can be set only automatically (by subscriptions assigned to the account). (original code:S)inactive— The account is inactive. This status can be set only during account creation, manually or using the Account Generator. (original code:I)terminated— The account is terminated. This status can be set only via the terminate_account method. (original code:C)
billing_modelField - Possible Enum Values:debit_account— An account usually associated with prepaid cards; the account balance shows available funds. (original code: -1)recharge_voucher— A voucher-type account used to refill debit or credit accounts; the balance of the voucher account is transferred to the main account. (original code: 0)credit_account— A credit account is invoiced for incurred costs. (original code: 1)alias— An alias account type. (original code: 2)beneficiary— A beneficiary account has a service configuration that uses only the balance, products, and quotas of a sponsor account. (original code: 4)
- originally
Y/Nstring, convertedY→FalseN→True
statusField - Possible Enum Values:active— The account is active.customer_exported— The account's customer is exported.expired— The account expired.quarantine— After being screened, the account was unable to supply valid credentials.screening— Suspicious activity was detected for the account.closed— The account is closed.inactive— The account is inactive.suspended— The account is suspended (applicable to debit accounts only).customer_suspended— The account's customer is suspended.customer_limited— Services are limited for the account's customer.customer_provisionally_terminated— The account's customer is provisionally terminated.blocked— The account is blocked.customer_blocked— The account's customer is blocked.not_yet_active— The account's activation date has not yet come.credit_exceeded— The account's balance is above the individual credit limit.overdraft— The account's balance is overdrawn (applies to debit accounts only).customer_has_no_available_funds— The account's customer funds are depleted.customer_credit_exceed— The account's customer balance is above the credit limit.zero_balance— The account's funds are depleted (applicable to debit accounts only).customer_suspension_delayed— The account's customer suspension is lifted.customer_limiting_delayed— The account's customer limitation is delayed.frozen— The account's auto-payment is suspended due to repeated errors.
- Examples: "Europe/Prague", "America/Vancouver", etc.
Example: AccountInfo
Assigned Add-on
Type: AssignedAddon
Relation: assigned_addons: List[AssignedAddon] in AccountInfo (account_info)
This section describes the AssignedAddon data structure, which represents an item in the list of add-on products assigned to an account.
| Field | Type | Description |
|---|---|---|
addon_effective_from |
str |
ISO datetime string - The date and time when the add-on product is activated for an account. (1) |
addon_effective_to |
str |
ISO datetime string - The date and time when the add-on product assigned to an account expires. (2) |
addon_priority |
int |
The priority level of the add-on product. |
description |
str |
The internal product description. |
i_product |
int |
The unique ID of the product. |
i_product_group |
int |
The unique ID of the product group to which the product belongs. |
i_vd_plan |
int |
The unique ID of the bundle assigned to the product. |
name |
str |
The product name. |
- Originally
Optional[str]datetime - Originally
Optional[str]datetime
Example: AssignedAddon
Service Feature
Type: ServiceFeature
Relation: service_features: List[ServiceFeature] in AccountInfo (account_info)
This section describes the ServiceFeature data structure, which is an element in the list of service features assigned to the account, each with its attributes.
| Field | Type | Description |
|---|---|---|
name |
str |
The service feature name. |
effective_flag_value |
enum[str] |
The actual service feature flag value. See possible enum values (1) |
attributes |
List[ServiceFeatureAttribute] |
The list of service feature attributes. |
attributes[].name |
str |
The service feature attribute internal name. |
attributes[].effective_value |
str |
Service feature attribute value, comma-separated if multiple values. |
effective_flag_valueField - Possible Enum Values:Y— enabledN— disabled
Example: ServiceFeature
SIM Info
Type: SimInfo
Relation:
sim_info:SimInfoinPortaBillingData(pb_data)prev_sim_info:SimInfoinPortaBillingData(pb_data)
This section describes the SimInfo data structure, which contains information about a SIM card from PortaBilling.
| Field | Type | Description |
|---|---|---|
i_account |
int |
The unique ID of the account to which the SIM card belongs. |
i_sim_card |
int |
The unique ID of the SIM card. |
iccid |
str |
The Integrated Circuit Card ID. |
imsi |
str |
The unique International Mobile Subscriber Identity of the SIM card. |
msisdn |
str |
The Mobile Subscriber Integrated Services Digital Number. |
status |
enum[str] |
The status of the SIM card. See possible enum values (1) |
statusField - Possible Enum Values:available— the SIM card is available for assignment,reserved— reserved for the customer, but not yet assigned to the account,used— SIM card is being used by the account,disposed— SIM card is disposed and cannot be used.
Example: SimInfo
Access Policy Info
Type: AccessPolicyInfo
Relation: access_policy_info: AccessPolicyInfo in PortaBillingData (pb_data)
This section describes the AccessPolicyInfo data structure, which contains information about the access policies applied to an account.
| Field | Type | Description |
|---|---|---|
i_access_policy |
int |
The unique ID of the Access Policy. |
name |
str |
The name of the Access Policy. |
attributes |
List[AccessPolicyAttribute] |
The list of related service policy attribute values. |
attributes[].group_name |
str |
The name used to group service policy attributes. |
attributes[].name |
str |
The name of the service policy attribute. |
attributes[].value |
str |
Service policy attribute value, comma-separated if multiple values. |
Example: AccessPolicyInfo
Product Info
Type: ProductInfo
Relation: product_info: ProductInfo in PortaBillingData (pb_data)
This section describes the ProductInfo data structure, which contains product information from PortaBilling.
| Field | Type | Description |
|---|---|---|
name |
str |
The product name. |
description |
str |
The internal product description. |
i_product |
int |
The unique ID of the product. |
i_vd_plan |
int |
The unique ID of the bundle assigned to the product. |
addon_priority |
int |
The priority level of the add-on product. (1) |
-
- 0 — main product
- 10 — low
- 15 — medium low
- 20 — medium
- 25 — medium high
- 30 — high
Example: ProductInfo
VD Counter Info
Type: VDCounterInfo
Relation: full_vd_counter_info: List[VDCounterInfo] in PortaBillingData (pb_data)
This section describes the VDCounterInfo data structure, which contains information about VD counters from PortaBilling.
| Field | Type | Description |
|---|---|---|
discount_info |
str |
Short representation of the discount details (e.g., '0..60 - 100%') |
dg_name |
str |
The name of the destination group the bundle item is applied to. |
i_vd_plan |
int |
The unique ID of the bundle. |
i_dest_group |
int |
The unique ID of the destination group the discount is applied to. |
allocated_amount |
float |
The total amount of service volume allocated to the customer/account in the current usage period. |
unit |
str |
The name of the service unit or currency used. |
addon_priority |
int |
The priority level of the bundle item. (1) |
vdp_name |
str |
The name of the bundle. |
i_vd_dg |
int |
The unique ID of the bundle item. |
i_service |
int |
The unique ID of the service. |
service_name |
str |
The name of the service the discount is applied to. |
remaining |
float/str |
The service volume that remains to be used to reach the current threshold. (2) |
- Possible values:
- -1 — no priority
- 0 — main product
- 10 — low
- 12 — bundled credit wallets
- 13 — bundled credits
- 14 — bundled credit preferred wallets
- 15 — medium low
- 20 — medium
- 25 — medium high
- 30 — high
- 255 — not part of a product
- Can be numeric value or string like
N/A