Attach Subscriber Offer
This API is used to attach a new plan to a subscriber. The API currently supports attaching of individual offers and Pool Plans.
It is not allowed to attach more than one instance of a particular Pool Plan to the same subscriber.
|
HTTP URL |
|
|---|---|
| POST | /api/v2/subscriber/{type}/{value}/{id} |
NOTE: All {type} and {value} pairs, define the search criteria. Valid {type} ENUMs are: ‘imsi’, ‘iccid’, ‘msisdn’, ‘imei’.
Eligibility
The Requester is eligible to attach a Regular plan to sub-customers’ subscribers.
The Requester is eligible to attach a Regular plan (Buy Plan created by the Parent) to own subscribers only if the allowOfferDelegation parameter has been set to True by the Parent.
The Pool plan can be attached to a specific subscriber (in URL) only on the following conditions:
The Pool Plan was created for the requester’s sub account
The specific subscriber belongs to this sub account.
API Request
Request Structure
|
Parameter |
Type |
M/O/CM |
Description |
|---|---|---|---|
|
priority |
Numeric |
O |
Plan order of priority; the higher the numeric value, the higher priority the plan receives. For example, a plan with priority 100 precedes plan with priority 50. The Rater does not enforce the sequential order of any plan’s priorities and so it has no meaning. Note: The Rater does not enforce the uniqueness of an assigned priority between a subscriber’s plans. Therefore, prevent sending an existing plan’s priority value to this plan. |
|
myOffer |
Boolean |
O |
Determines whether to: Attach one of my Customer plans (Sell Plan offers) to my sub accounts’ subscribers OR Attach one of the Parent’s Buy Plans to my accounts’ subscribers. [myOffer] True = Request to attach a Parent plan (Buy Plan offer) to my own subscribers. This self-service functionality is allowed only when the sub-customer was defined by my Parent as authorized for delegation of Parent Plans [myOffer] False = Request to attach one of my Customer plans (Sell Plan offers) to my sub accounts subscribers (Normal operation) Default (if not provided) = False |
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 |
|---|---|---|---|
|
requestId |
UUID |
M |
Request instance ID. To be used by external systems to query the call (operation) status: In progress Successful Failed. |
|
subscriberOfferId |
UUID |
M |
Offer instance attached to the subscriber |
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 |
|
SUBSCRIBER_1010 |
Failed to attach offer |
|
SUBSCRIBER_1027 |
You are not allowed to attach parent customer plans to your own SIM cards |
Examples
Request Body
{
"priority": 100,
"myOffer": false
}
Response Body: Success ACK
{
"errorCode": "",
"errorMessage": "",
"content": [
{
"requestId": "ff74dca6-8e7f-4b85-a42b-13860913b370"",
"subscriberOfferId": "ab74dfe6-8e7f-4b45-a42b-14460913b459"
}
],
"pageable": {
"page": 0,
"size": 10,
"totalPages": 1,
"totalElements": 1
}
}
Response Body: Failure NAK:
{
"errorCode": "SUBSCRIBER_1010",
"errorMessage": "Failed to attach offer",
"content": "",
"pageable": ""
}