Get All Customer Subscribers
This API is used to retrieve, in chunks, a full list of all subscribers that are attached to their customer, regardless of how many there are. The result set includes a single level of account hierarchy. This API should be used when there is a need to retrieve more than 10K records in a single query.
NOTE: This API does not support pagination.
| HTTP URL | |
|---|---|
| POST | /api/v2/customer/{id}/subscriber-all |
Eligibility
The Requester is eligible to request and receive a list of own subscribers and sub-customer’s subscribers.
API Request
Request Structure
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| pitId | String | O |
Point in Time identity used to identify a fetching process. User should do the following process:
If sent empty, a new search and a new pitId will be created. |
| pitKeepAlive | Numeric | O |
Determines the max duration of a fetching session, in minutes. If this time is exceeded, the fetching process is terminated. This element is mandatory in the first API call when the pitId is sent blank (see pitId). If pitId is sent populated, pitKeepAlive will be ignored. If pitId is sent empty and pitKeepAlive is empty as well, the system applies the default value of 1 (minute).
|
| size | Numeric | O |
Response record amount, which is the number of requested records per API call.
Example: 1000 (1,000 records per API call within the pitId session) |
API Response
Response Structure
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| errorCode | String | O | Failure code. |
| errorMessage | String | O | Failure message. |
| content | Object | O | Array of main response body object displayed when an API call was successful. For a failure, it will be empty. |
| pitId | String | M |
Point in Time identity used to identify a fetching process session. User should do the following process:
|
| recordAmount | Numeric | M | Number of records in current chunk (response) |
| totalRecordAmount | Numeric | M | Total amount of records in query |
| pageable | Object | O | Paging information object displayed when an API call was successful. For a failure, it will be empty (not supported for this API). The object is included only to maintain response uniformity. |
Content data objects
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| subscriberId | UUID | M | Subscriber universal unique identifier |
| imsiMsisdnPairs | Object | M | Array of IMSI and MSISDN pairs object. Only one can be marked as active (at the most). |
| iccid | String | M | SIM card serial number |
| status | String | M | Life Cycle Policy (LCP) status. ENUM: ACTIVE, SUSPEND, INACTIVE, TERMINATED |
| imei | String | O | Device ID registered on the subscriber |
| imeisv | String | O | Device ID including software version registered on the subscriber |
| customerId | UUID | O | Customer ID that the subscriber is connected to |
| customerName | String | O | Customer name that the subscriber is connected to |
imsiMsisdnPairs data objects
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| imsi | String | M | IMSI registered on the SIM card |
| msisdn | String | O | Subscriber mobile number: MSISDN. Format: International E.164 |
| isLastActive | Boolean | M |
Last known IMSI as active indication; only one can be active at a time.
|
Pageable data objects
Not supported for this API. The objects table is included only to maintain response uniformity.
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| page | Numeric | M | Page number |
| size | Numeric | M | Page size. Number of requested elements per page |
| totalPages | Numeric | M | Total amount of available pages per requested page size |
| totalElements | Numeric | M | Total amount of retrieved elements |
Error Codes
In addition to the general success and failure codes, the following error codes are possible.
| Code | Message |
|---|---|
| CUSTOMER_1002 | Customer does not exist |
| CUSTOMER_1006 | Failed to retrieve customer details |
| GLOBAL_1001 | Service unavailable. Please try again |
| GLOBAL_1018 | Invalid point in time ID |
Examples
Request Body : First Call
{
"pitKeepAlive": 5,
"size": 1000
}
Request Body : Consecutive Calls
{
"pitId": "46ToAwMDaWR5BXV1aWQyKwZub2RlXzMAAAAAAAAAACoBYwADaWR4BXV1aWQxAgZub2
RlXzEAAAAAAAAAAAEBYQADaWR5BXV1aWQyKgZub2RlXzIAAAAAAAAAAAwBYgACBXV1aWQ
yAAAFdXVpZDEAAQltYXRjaF9hbGw_gAAAAA==",
"pitKeepAlive": 5,
"size": 1000
}
Response Body: Success ACK
{
"errorCode": "",
"errorMessage": "",
"content": [
{
"subscriberId": "e7fcef24-5c03-41dd-9e33-995b7d6f47a7",
"imsiMsisdnPairs": [
{
"imsi": "222013090961859",
"msisdn": "999013090961859",
"isLastActive": true
},
{
"imsi": "310380501118337",
"msisdn": "134044411258337",
"isLastActive": false
}
],
"iccid": "8935711001000034535",
"status": "ACTIVE",
"imei": "354306110218529",
"imeisv": "3543061102185201"
"customerId": "3bd92beb-0367-4e68-b50d-72c0fb08beab",
"customerName": "Gualas LTD"
},
{
"subscriberId": "e7fcef24-5c03-41dd-9e33-995b7d6f32b1",
"imsiMsisdnPairs": [
{
"imsi": "222013090961859",
"msisdn": "999013090961859",
"isLastActive": true
},
{
"imsi": "310380501118337",
"msisdn": "134044411258337",
"isLastActive": false
}
],
"iccid": "8935711001000034536",
"status": "ACTIVE",
"imei": "354306110218530",
"imeisv": "3543061102185301"
"customerId": "3bd92beb-0367-4e68-b50d-72c0fb08beab",
"customerName": "Gualas LTD"
}
],
"pitId": "46ToAwMDaWR5BXV1aWQyKwZub2RlXzMAAAAAAAAAACoBYwADaWR4BXV1aWQxAgZu
b2RlXzEAAAAAAAAAAAEBYQADaWR5BXV1aWQyKgZub2RlXzIAAAAAAAAAAAwBYgACBXV1
aWQyAAAFdXVpZDEAAQltYXRjaF9hbGw_gAAAAA==",
"recordAmount": 5860,
"totalRecordAmount": 15860,
"pageable": {
"page": 1,
"size": 10,
"totalPages": 1,
"totalElements": 2
}
}
Response Body: Failure NAK
{
"errorCode": "GLOBAL_1018",
"errorMessage": "Invalid point in time ID",
"content": "",
"pageable": ""
}