Move Subscriber

This API is used to move a subscriber (SIM) from its current account or sub-account (customer) to another.

HTTP URL

 

PUT

/api/v2/subscriber/{type}/{value}/move

NOTE: All {type} and {value} pairs, define the search criteria. Valid {type} ENUMs are: ‘imsi’, ‘iccid’, ‘msisdn’, ‘imei’.

Eligibility

The Requester is eligible to request to move a subscriber that is now attached to its own account (level 0) and move it to its own sub-account (level 1). The Requester is eligible to request to move a subscriber that is now attached to its own sub-account (level 1) and move it to another one of its sub-accounts (level 1).

The Requester is eligible to request to move a subscriber that is he previously allocated to any of its sub-accounts (level 1) back to its own (parent) account (level 0). The Requester is eligible to do this regardless of the sub-account level the subscriber is now found in. If the Requester sub-account (level 1) has allocated that subscriber, in turn, to its own sub-account (level 2), the Requester can still move the subscriber back to its own account (level 0). This means the Requester is eligible to move the subscriber that it has allocated to its sub-account back to its own account, regardless of how many times that subscriber has been resold. The Requester always “sees” the subscriber as listed in its sub-account (level 1), regardless of where it actually is now and so can move it back to its own account (level 0).

For example:

  1. SIM1 is attached to the Requester’s own account (level 0).

  2. The Requester moves SIM1 to one of its own sub-accounts called Sparta (level 1).

  3. Sparta allocates SIM1 to one of its sub-accounts called Carthage (level 2 from the Requester’s account level).

  4. Carthage allocates SIM1 to one its sub-accounts called Athens (level 3 from the Requester’s account level)

In this use case, the Requester at level 0 is eligible to do the following:

  1. Move SIM1 from Sparta (level 1) back to its own account (level 0).
  2. If SIM1 is now found in Carthage (level 2), the Requester can still move it back to its own account (level 0).
  3. If SIM1 is now found in Athens (level 3), the Requester can still move it back to its own account (level 0)

API Request

Request Structure

Parameter

Type

M/O/CM

Description

targetCustomerId

UUID

M

The UUID of the customer that the subscriber is being moved to

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.

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_1008

Failed to find target customer

SUBSCRIBER_1002

Subscriber does not exist

SUBSCRIBER_1023

Failed to move subscriber

Examples

Request Body

Copy
{
  "targetCustomerId": "dd64dca6-8e7f-4b85-a42b-13860913bb5a"
}

Response Body: Success ACK

Copy
{
  "errorCode": "",
  "errorMessage": "",
  "content": [
    {
      "requestId": "ff74dca6-8e7f-4b85-a42b-13860913b370"
    }
  ],
  "pageable": {
    "page": 0,
    "size": 10,
    "totalPages": 1,
    "totalElements": 1
  }
}

Response Body: Failure NAK

Copy
{
  "errorCode": "CUSTOMER_1008",
  "errorMessage": "Failed to find target customer"",
  "content": "",
  "pageable": null
}