Get Customer Details
This API is used to retrieve the details of a single customer. It also retrieves information on the customer’s connected subscribers. However, it does not provide information on the customer’s child customers.
| HTTP URL | |
|---|---|
| GET | /api/v2/customer/{id} |
Eligibility
The Requester is eligible to request and receive information on own customer or sub-customers.
API Request
Request Structure
This API has no request structure.
API Response
Response Structure
| Parameter | 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. |
| pageable | Object | O | Paging information object displayed when an API call was successful. For a failure, it will be empty. |
Content Data Objects
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| customerId | UUID | M | Universally unique customer identifier |
| status | String | M | LCP status of the customer |
| type | String | O | Customer type. For example, Private |
| name | String | O | Business or private name |
| currency | String | M | Customer’s global monetary currency. For example, USD, GBP, EUR |
| allowOfferDelegation | Boolean | M |
Defines whether the Parent permits its customer to self-attach parent packages or plans to customer subscribers.
|
| isAllowedImeiLock | Boolean M | Boolean M |
Defines whether the customer is allowed by his parent to enable SIM to device locking.
|
| isImeiLockEnabled | Boolean M | Boolean M |
Defines whether the customer enabled SIM to device locking for his subscribers.
|
| currency | String M | String M | Customer’s global monetary currency e.g., USD, GBP, EUR |
| companyNumber | String | O | Company ID |
| vatRegistrationNumber | String | O | Tax registration number |
| bankNumber | String | O | Bank ID |
| bankBranchNumber | String | O | Bank branch ID |
| bankAccountNumber | String | O | Bank account number of the paying entity |
| tagging | String | O | Customer classification. For example, VIP, Gold, Silver, Green, Red |
| billCyclePeriod | String | O | Bill cycle period ID. ENUM: MONTHLY, WEEKLY, DAILY |
| mfaConfiguration | String | M |
Multi-Function Authentication (MFA) configuration. ENUM valid values: MANDATORY, ENABLED, DISABLED
|
| invoiceTemplateId | String | O | Invoice template ID |
| package | Object | Array of package object. Empty if ‘offer’ object is populated. | |
| offer | Object | O | Array of offers object(excluding the basic offer). |
| contact | Object | O | Array of contact details object. |
| address | Object | O | Array of address details object. |
| invoiceConfiguration | Object | O | Invoice configuration details object. |
| campaign | Numeric | O | Array of customer related campaign IDs. An empty array means that the customer has no connected campaigns. |
| customFields | Object | O | Placeholder array used for customization purposes (future feature). |
Package
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| id | UUID | M | Catalog package ID |
| name | String | M | Package Name |
| nestedOfferIds | UUID | O | Array of nested offer IDs which are included in the package. |
Offer
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| id | UUID | M | Plan ID (Individual Offer or Pool Plan Offer ID) |
| name | String | O | Plan Name (Individual Offer or Pool Plan Offer Name) |
| linkedOfferIds | UUID | O | Array of linked offer IDs that are assigned to this offer. An empty array means that there is no offer linked to this offer. |
Contact Details Data Objects
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| id | UUID | M | Contact ID |
| emailAddress | String | O | Contact email address |
| type | String | O | Contact type, whether owner of the customer or a member. ENUM: OWNER, MEMBER |
| role | String | M | Eligible to enter the self-care application. ENUM: SELFCARE, NONE |
| salutation | String | O | Contact salutation. ENUM: MR, MS |
| firstName | String | O | Contact first name |
| middleName | String | O | Contact middle name |
| lastName | String | O | Contact last name |
| identity | Object | M | Array of contact identity numbers. |
| gender | String | O | Contact gender. ENUM: MALE, FEMALE |
| birthdate | Date | O | Contact date of birth. Format: DDMMYYYY |
| landlinePhoneNumber | String | CM | CBR, can be reached phone number. Mandatory if mobilePhoneNumber is not provided |
| mobilePhoneNumber | String | CM | CBR, can be reached phone number. Mandatory if landlinePhoneNumber is not provided. Format: International E.164 |
| additionalPhoneNumber | String | O | Additional phone number where the contact can be reached |
| picture | String | O | Contact photograph (future feature) |
| remarks | String | O | General remarks |
| isPrimary | Boolean | O |
Determines whether the contact is primary or not.
|
Identity data objects
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| idType | String | M | Identity type: ENUM: ID, PASSPORT, DRIVER_LICENSE |
| idNumber | String | M | ID number |
Address details data objects
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| id | UUID | M | Address ID |
| type | String | M | Address type. ENUM: PRIVATE, SHIPPING, MAILING |
| street | String | CM | Street name. Mandatory if pobox (postal office box) is not provided |
| buildingNumber | String | CM | Building number on the street. Mandatory if pobox is not provided |
| buildingName | String | O | Building name (alias) if it exists |
| buildingFloor | String | O | Floor number in the building |
| zipCode | String | O | Zip postal code |
| apartmentNumber | String | O | Apartment number in the building |
| entrance | String | O | Entrance identifier. Can be a letter or number |
| city | String | O | City name |
| province | String | O | Province name |
| state | String | O | State name |
| country | String | O | Country name |
| pobox | String | CM | Postal Office Box number. Mandatory if street and streetNumber are not provided |
| salutation | String | O | Address representative salutation. ENUM: MR, MS |
| fullName | String | O | Representative full name |
| title | String | O | Address representative title. ENUM: DR, PROF |
| company | String | O | Company name |
| emailAddress | String | O | Email address. Validated via Regular Expression |
| isPrimary | Boolean | M |
Determines whether the contact is primary or not.
|
Invoice configuration data objects
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| chargeByActive | String | O |
Activation definition either by SIM (ICCID) or IMSI. ENUM valid values: SIM, IMSI Note: This attribute no longer determines the charging method but the activation method. |
| activityIndication | String | M | DWH event mapping. ENUM: NETWORK_REGISTRATION, DATA_CONSUMPTION |
| deviceCost | Decimal | M | Cost of the chosen active device |
| deviceCostCurrency | String | M |
Device cost monetary currency, for example, USD, GBP, EUR Note: No longer in use. Although marked as mandatory will not be populated. Device cost is derived either from the plan’s cost or based on the network activity following the account settings. |
| deliveryMethod | String | O | The requested invoice delivery method. ENUM: EMAIL, POSTAL, EDI |
| paymentDueAfterInvoiceIssued | Numeric | M | The invoice payment due after some period. The count starts once the invoice is issued. |
| paymentDueUnits | String | M | Selected time interval to use in Payment Due After Invoice Issued. ENUM: DAYS |
| vat | Decimal | O |
Fixed tax percentage.
|
| invoiceText | String | O | Free text shown in the invoice. Maximum size: 60 bytes |
Custom fields data objects (future feature)
| Element | Type | M/O/CM | Description |
|---|---|---|---|
| keyName | String | O | Name of the custom element |
| keyValue | String | O | Custom element value |
Pageable data objects
| 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 |
|---|---|
| GLOBAL_1001 | Service unavailable. Please try again |
| CUSTOMER_1002 | Customer does not exist |
| CUSTOMER_1006 | Failed to retrieve customer details |
Examples
Request Body
{
}
Response Body: Success ACK
{
"errorCode": "",
"errorMessage": "",
"content": [
{
"customerId": "e7fcef24-5c03-41dd-9e33-995b7d6f47b5",
"status": "ACTIVE",
"type": "PRIVATE",
"name": "Liberty",
"allowOfferDelegation": false,
"isAllowedImeiLock": true,
"isImeiLockEnabled": false,
"currency": "USD",
"companyNumber": "111987543",
"vatRegistrationNumber": "sa102786534",
"bankNumber": "21",
"bankBranchNumber": "680",
"bankAccountNumber": "722910",
"tagging": "VIP",
"billCyclePeriod": "MONTHLY",
"invoiceTemplateId": "3",
"mfaConfiguration": "MANDATORY",
"package": [],
"offer": [
{
"id": "e7fcef24-5c03-41dd-9e33-995b7d6f47a7",
"name": "Plan A",
"linkedOfferIds": [
"d7ecef34-5b23-21ae-9e53-905a7d6d43a8",
"e1eceff4-5c13-29ee-1d53-901a7a3b13a0"
]
},
{
"id": "e7fcef24-5c03-41dd-9e33-995b7d6f47b8",
"name": "Plan B",
"linkedOfferIds": null
}
],
"contact": [
{
"emailAddress": "shaul.cohen@flolive.net",
"type": "OWNER",
"role": "NONE",
"salutation": "MR",
"firstName": "Shaul",
"middleName": "",
"lastName": "Cohen",
"identity": [
{
"idType": "PASSPORT",
"idNumber": "123456789"
},
{
"idType": "NATIONAL_ID",
"idNumber": "987654321"
}
],
"gender": "MALE",
"birthdate": "28122000",
"landlinePhoneNumber": "",
"mobilePhoneNumber": "972542265160",
"additionalPhoneNumber": "",
"picture": "",
"remarks": "",
"isPrimary": true
}
],
"address": [
{
"type": "PRIVATE",
"street": "sixth avenue",
"buildingNumber": "987",
"buildingName": "Concord",
"buildingFloor": "1",
"zipCode": "123456",
"apartmentNumber": "14",
"entrance": "A",
"city": "Chicago",
"province": "",
"state": "Illinois",
"country": "USA",
"pobox": "",
"salutation": "",
"fullName": "",
"title": "",
"company": "",
"emailAddress": "",
"isPrimary": true
},
{
"type": "MAILING",
"street": "fifth avenue",
"buildingNumber": "234",
"buildingName": "Concord",
"buildingFloor": "12",
"zipCode": "123456",
"apartmentNumber": "14",
"entrance": "A",
"city": "New York",
"province": "",
"state": "New York",
"country": "USA",
"pobox": "",
"salutation": "",
"fullName": "",
"title": "",
"company": "",
"emailAddress": "",
"isPrimary": false
}
],
"invoiceConfiguration": {
"chargeByActive": "SIM",
"activityIndication": "NETWORK_REGISTRATION",
"deviceCost": 20.5,
"deviceCostCurrency": "",
"deliveryMethod": "EMAIL",
"paymentDueAfterInvoiceIssued": 5,
"paymentDueUntis": "DAYS",
"vat": 15.5,
"invoiceText": ""
},
"campaign": [
67,
524
],
"customFields": [
{
"keyName": "custom-property1",
"keyValue": "custom-value"
},
{
"keyName": "custom-property2",
"keyValue": "custom-value"
}
]
}
],
"pageable": {
"page": 0,
"size": 10,
"totalPages": 1,
"totalElements": 1
}
}
Response Body: Failure NAK
{
"errorCode": "CUSTOMER_1006",
"errorMessage": "Failed to retrieve customer details",
"content": "",
"pageable": ""
}