Add a plan to subscriber
This POST
operation adds an existing plan to a subscriber by passing the msisdn
of the subscriber in the URL and a JSON
payload containing the plan you wish to apply to the subscriber. If successful, you receive an HTTP response code of 201
as well as a JSON
response body showing the information passed in the JSON request payload as well as an id
assigned to the new plan definition.
See HTTP response codes for other response codes. |
POST /pcc/spcm/subscribers/<msisdn>/plans
+ JSON request payload
HEADER INFO
tenant: <tenantName>
authorisation: HTTP Basic Auth
content-type: application/json
accept: application/vnd.com.tango.pcc.v2+json
permissions: SPCM_PLAN_CREATE_PERMISSION
URL parameters
There is one mandatory parameter.
Parameter | Type | Description |
---|---|---|
|
string |
The subscriber’s MSISDN in international format. |
JSON request payload
The following example shows only the minimum attributes for adding a plan to a subscriber. See plan type descriptions for all possible data types.
{
"planDefinition" {
"name": "BILLSHOCK"
},
"purchaseSource": "customerCare"
}
JSON response
The following example response shows the expected response from the above payload. See Plan definition descriptions for all possible data types.
{
"planDefinition":{
"id":2,
"name":"BILLSHOCK",
"identifier":"qwerty1",
"unitAmount":"20",
"unitMeteringType":"volume",
"cost":20,
"validityPeriod":"1month",
"classification":"DATA",
"precedence":2,
"recurring":false,
"core":false,
"maxDeactivationCount":3,
"recycleRollOverLimit":0,
"accumulationPermitted":false,
"dpsEnabled":false,
"shared":false,
"activationModeType":"default",
"validityCarryForward":false,
"validityCarryForwardRankEnabled":false,
"validityCarryForwardRank":0,
"validityCarryForwardAccumulation":false,
"deferredActivationAllowed":false,
"loanPurchaseAllowed":false,
"recommendationOnPurchase":false,
"version":1,
"description":"",
"allowed":false
},
"id":"5738",
"state":"active",
"purchaseTimestamp":"2019-10-03T10:09:42.000+01:00",
"activationTimestamp":"2019-10-03T10:09:42.000+01:00",
"expiryTimestamp":"2019-11-03T10:01:00.000Z",
"updateTimestamp":"2019-10-03T10:09:42.000+01:00",
"cancelled":false,
"deactivationCount":0,
"allowedUnitAmount":"UNLIMITED",
"occurrenceCount":1,
"boosterVolumeCount":0,
"boosterValidityCount":0,
"loanAmount":0
}
Plan type descriptions
Field | Type | Description | ||
---|---|---|---|---|
|
integer |
The plan definition information for the plan.
|
||
|
integer |
Specifies the maximum number of times this plan can recur. options
|
||
|
string |
The unique identifier for the plan. |
||
|
enum |
The current state of the plan in its lifecycle. options
|
||
|
dateTime |
The time at which the plan was purchased.
|
||
|
dateTime |
The time at which the plan was activated.
|
||
|
dateTime |
The time at which the plan will expire.
|
||
|
dateTime |
The time at which the plan was updated.
|
||
|
boolean |
Flag that indicates if the plan has been cancelled. options
|
||
|
long |
The plan’s current usage. The unit type is defined in |
||
|
short |
The number of times the plan has been deactivated. |
||
|
string |
Identifies the source of the plan purchase such as |
||
|
string |
The current allowed plan amount (taken into account rollover, accumulation, and pro-rated data/validity). |
||
|
integer |
The number of times the plan recurred. |
||
|
enum |
The current usage state of the plan. options
|
||
|
dateTime |
The time when the plan was parked for the first time during the current renewal.
|
||
|
dateTime |
The time when the next retry will be made.
|
||
|
short |
The number of times the plan used the volume booster. |
||
|
short |
The number of times the plan used the validity booster. |
||
|
boolean |
Specifies if the plan was added to the subscriber (as a recipient) as part of a donation.
|
Plan definition type descriptions
Field | Type | Description | ||
---|---|---|---|---|
|
integer |
The unique identifier for the plan. This is assigned by the server upon creating a plan definition.
|
||
|
string (255) |
The name of the plan definition.
|
||
|
string (255) |
|||
|
enum |
Defines the unit type. This can be
|
||
|
integer |
The cost or purchasing the plan. Like
|
||
|
string (255) |
A formatted string that displays for how long a plan definition exists. An example is
|
||
|
string |
Denotes the hour, minute, and second at which the plan will expire or renew.
|
||
|
integer |
The precedence of the plan over other plans purchased by the subscriber where
|
||
|
boolean |
Denotes whether a plan is recurring or not where
|
||
|
boolean |
Indicates if this plan is the core plan for the subscriber where
|
||
|
string (2048 char) |
A brief summary describing the plan. |
||
|
integer |
The amount of times a plan definition can be deactivated. |
||
|
integer |
The maximum number of times a recurring plan can recur. |
||
|
integer |
The maximum amount of unused data usage that can be carried forward when a plan is renewed.
|
||
|
boolean |
Indicates if accumulation is permitted where
|
||
|
boolean |
Indicates whether DPS is enabled where
|
||
|
boolean |
Indicates if a plan is activated upon purchase where
|
||
|
boolean |
Indicates if a plan is shared where
|
||
|
integer |
Denotes the version of the plan
|
||
|
integer |
Specifies the maximum number of recipients with whom quota can be shared.
|
||
|
integer |
The chunk size that is granted to a data session. The session reports usage after using the granted amount.
|
||
|
boolean |
{define-renewOnConsumption}
Default = false |
HTTP response codes
Code | Description | ||||
---|---|---|---|---|---|
|
success!
|
||||
|
Multistatus response
|
||||
|
malformed request |
||||
|
unauthorised; bad username or password |
||||
|
forbidden; user does not have appropriate privileges |
||||
|
subscriber not found |
||||
|
conflict with target resource
|
||||
|
failed validation; this typically means that a property was not set or a value is out of range. example
|
||||
|
failed processing (after passing validation). example
|
||||
|
internal error example
|
||||
|
request rejected due to overload |