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:

  1. Send this element empty in the first API call.

  2. Parse the pitId from the response.

  3. Populate this element in any other request.

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).

  • Unit: Minutes

  • Range: Maximum 30

  • Example: 5

size Numeric O

Response record amount, which is the number of requested records per API call.

  • Unit: Number of records

  • Range: 1-10,000

  • Default (if not sent) = 1,000

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:

  1. Parse this element.

  2. Populate the value in any other request relevant to the current session.

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.

  • True = Last Active IMSI

  • False = Inactive IMSI

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

Copy
{
  "pitKeepAlive": 5,
  "size": 1000
}

Request Body : Consecutive Calls

Copy
{
  "pitId": "46ToAwMDaWR5BXV1aWQyKwZub2RlXzMAAAAAAAAAACoBYwADaWR4BXV1aWQxAgZub2
RlXzEAAAAAAAAAAAEBYQADaWR5BXV1aWQyKgZub2RlXzIAAAAAAAAAAAwBYgACBXV1aWQ
yAAAFdXVpZDEAAQltYXRjaF9hbGw_gAAAAA==",
  "pitKeepAlive": 5,
  "size": 1000
}

Response Body: Success ACK

Copy
{
  "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

Copy
{
  "errorCode": "GLOBAL_1018",
  "errorMessage": "Invalid point in time ID",
  "content": "",
  "pageable": ""
}