Base URL  https://api.esim.tech/v1/     Auth  Authorization: Token <your_api_token>

eSIM Tech API — Version 1

Welcome to the eSIM Tech API v1 reference documentation.

Base URL https://api.esim.tech/v1/
Authentication Authorization: Token <your_api_token>
Content-Type application/json

All requests must include the Authorization header with a valid API token. Request and response bodies are JSON.


1 Reseller

1.1 listResellerAccount

1.2 modifyAccountBalance

1.3 modifyResellerBalance

1.4 getResellerInfo

1.5 esimStatusPerAccount

1.6 listSponsor

1.7 listSteeringList

2 Subscriber

2.1 getSingleSubscriber

2.2 listSubscriber

2.3 affectSubscriberRealPhoneNumber

2.4 affectSubscriberFakePhoneNumber

2.5 getSimProviderStatus

2.6 modifySubscriberBalance

2.7 hlrSetBitrate

2.8 hlrGetBitrate

2.9 moveSubscriberRangeToAccount

2.10 modifySubscriberContactInfo

2.11 modifySubscriberStatus

2.12 setSubscriberTrafficRestrictions

2.13 modifySubscriberSteeringList

2.14 pushSteeringToSubs

2.15 cleanSubscriberAllPackages

2.16 resetSubsGzCounter

2.17 getSubscriberLocation

2.18 getSubscriberLocationByCellId

2.19 changeSimStatus

3 Subscriber prepaid packages

3.1 affectPackageToSubscriber

3.2 affectRecurringPackageToSubscriber

3.3 listSubscriberPrepaidPackages

3.4 modifySubscriberPrepaidPackageLimits

3.5 modifySubscriberPrepaidPackageExpDate

3.6 modifySubscriberPrepaidPackageStatus

3.7 stopResumeSubsRecurringPackage

3.8 deleteSubscriberPackage

3.9 modifySubscriberPrepaidPackageActivePeriod

3.10 modifySubscriberMobilePlan

3.11 modifySubscriberVoipPlan

4 Prepaid package template

4.1 listPrepaidPackageTemplate

4.2 listLocationZoneElement

4.3 listDestinationListPrefix

4.4 listDetailedLocationZone

4.5 listDetailedDestinationList

4.6 createPrepaidPackageTemplate

4.7 modifyPPTCore

4.8 modifyPPTRecurring

4.9 modifyPPTThrottling

5 Tariff

5.1 listResellerTariff

5.2 listSubscriberTariff

5.3 listTariffRule

5.4 getCustomerTariff

5.5 listSubscriberVoipTariff

5.6 listVoipTariffRule

6 Statistics

6.1 getSubscriberActivePeriod

6.2 subscriberUsageOverPeriod

6.3 subscriberNetworkEventsOverPeriod

7 SMS

7.1 sendMtSms

8 Network profile

8.1 listNetworkProfile

8.2 createLocationZone

Error codes

1. Reseller

1.1 listResellerAccount

Description

This request can be used to retrieve the list of accounts. You can retrieve the list of a specific reseller or all accounts of all your reseller.

Inputs

Parameter Presence Description
resellerId Optional The ID of the reseller

1.1.1 Account of all resellers

Request

{
  "listResellerAccount" : { }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listResellerAccount" : {
    "reseller" : [ {
      "id" : 1,
      "name" : "PDEL Reseller",
      "account" : [ {
        "id" : 4,
        "name" : "PDEL - Second account",
        "balance" : 10925.289088984377,
        "packageOnly" : false,
        "steeringListId" : 1
      }, {
        "id" : 7,
        "name" : "PDEL - Subs X",
        "balance" : 1000.0,
        "packageOnly" : false
      }, {
        "id" : 37,
        "name" : "TestSubscribers",
        "balance" : 197.80718309495325,
        "packageOnly" : false
      }, {
        "id" : 55,
        "name" : "FUT",
        "balance" : 70.06,
        "packageOnly" : false
      }, {
        "id" : 150,
        "name" : "PDEL Pack and Balance account",
        "balance" : 9940.0,
        "packageOnly" : false
      }, {
        "id" : 151,
        "name" : "PDEL - Package only",
        "balance" : 0.0,
        "packageOnly" : true
      } ]
    }, {
      "id" : 10,
      "name" : "PDEL Reseller 3",
      "account" : [ {
        "id" : 140,
        "name" : "Test dev account name 2",
        "balance" : 0.0,
        "packageOnly" : true
      }, {
        "id" : 141,
        "name" : "Test dev account name 3",
        "balance" : 100.0,
        "packageOnly" : true
      }, {
        "id" : 147,
        "name" : "PDEL 3 Pack_only_ACC",
        "balance" : 0.0,
        "packageOnly" : true
      }, {
        "id" : 148,
        "name" : "PDEL 3 Pack_And_Balance",
        "balance" : 100.0,
        "packageOnly" : false
      } ]
    }, {
      "id" : 58,
      "name" : "Reseller XYZ",
      "account" : [ {
        "id" : 118,
        "name" : "Test dev account name",
        "balance" : 100.0,
        "packageOnly" : false
      }, {
        "id" : 119,
        "name" : "Test dev account name 2",
        "balance" : 100.0,
        "packageOnly" : false
      } ]
    }, {
      "id" : 65,
      "name" : "Denis Test Reseller",
      "account" : [ {
        "id" : 142,
        "name" : "Denis Res Subs account",
        "balance" : 0.0,
        "packageOnly" : false
      } ]
    } ]
  }
}

1.1.2 Account of specific reseller

Request

{
  "listResellerAccount" : {
    "resellerId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listResellerAccount" : {
    "reseller" : [ {
      "id" : 10,
      "name" : "Test Reseller 3",
      "account" : [ {
        "id" : 37,
        "name" : "TestSubscribers",
        "balance" : 97.80718309495325,
        "packageOnly" : false,
        "steeringListId" : 1
      } ]
    } ]
  }
}

1.2 modifyAccountBalance

Description

This request can be used to adapt the balance of an account. The balance can either: - Be adapted: You can add or remove a certain amount from the balance. The amount you need to provide in the request will be added to the current balance. You can provide a negative amount and the balance will be decreased. Please note that balance cannot become negative, in such a case the balance will be set to 0. - Set to a new value: In this case you provide the new amount you want to set the balance to.

This request is logged in the system DB and you can see them in the UI, in the Account -> Transaction tab.

Inputs

Parameter Presence Description
accountId Mandatory The ID of the account to modify
amount Mandatory The amount to add to the current balance
setBalance Optional true => balance will be set to provided amount, false => balance will be adapted
description Optional A description giving information about the reason of this balance adjustment

1.2.1 Update balance

Request

{
  "modifyAccountBalance" : {
    "accountId" : 132,
    "amount" : -123.25,
    "description" : "Optional description"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

1.2.2 Set balance

Request

{
  "modifyAccountBalance" : {
    "accountId" : 132,
    "amount" : 123.25,
    "description" : "Optional description",
    "setBalance" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

1.3 modifyResellerBalance

Description

This request can be used to adapt the balance of reseller. The balance can either: - Be adapted: You can add or remove a certain amount from the balance. The amount you need to provide in the request will be added to the current balance. You can provide a negative amount and the balance will be decreased. Please note that balance cannot become negative, in such a case the balance will be set to 0. - Set to a new value: In this case you provide the new amount you want to set the balance to.

This request is logged in the system DB and you can see them in the UI, in the Account -> Transaction tab.

Inputs

Parameter Presence Description
resellerId Mandatory The ID of the reseller to modify balance
type Mandatory Transaction type
amount Mandatory The amount to add to the current balance
setBalance Optional true => balance will be set to provided amount, false => balance will be adapted
description Optional A description giving information about the reason of this balance adjustment

1.3.1 Update balance

Request

{
  "modifyResellerBalance" : {
    "resellerId" : 1,
    "type" : "Wire",
    "amount" : 123.45,
    "description" : "Optional description"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

1.3.2 Set balance

Request

{
  "modifyResellerBalance" : {
    "resellerId" : 1,
    "type" : "Wire",
    "amount" : 123.45,
    "description" : "Optional description",
    "setBalance" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

1.4 getResellerInfo

Description

This request can be used to retrieve the reseller info.

The reseller ID in the request if optional. If no ID is provided in the request, the system will return the reseller owning the token provided in the URL. If the reseller ID is provided in the request, the system will return the reseller identified by the request ID.

Request

{
  "getResellerInfo" : {
    "id" : 111
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getResellerInfo" : {
    "id" : 1,
    "name" : "PDEL Reseller",
    "parentId" : -1,
    "balance" : "8870,59",
    "cdrFolder" : "pdel_tap",
    "trafficInfo" : {
      "relayGy" : true,
      "relayCallSms" : false,
      "relayLU" : false,
      "relayVoIP" : false
    },
    "chargingInfo" : {
      "mobilePlan" : {
        "id" : 1,
        "name" : "PDEL - ResellerAccount"
      },
      "voipPlan" : {
        "id" : 1,
        "name" : "PDEL - VOiP Plan 1"
      },
      "CallPackageUseSingleCounter" : true,
      "voipFree" : false
    },
    "contactInfo" : {
      "contactName" : "Denis",
      "city" : "Bat Yam",
      "state" : "Israel",
      "country" : "Israel"
    }
  }
}

1.5 esimStatusPerAccount

Description

This request can be used to retrieve the status of your eSIMs per account. You can retrieve the status of your eSIMs for a specific account, or for all the accounts of a specific reseller.

The answer contains a list of account. For each account, you have a list of sponsor (for which you have eSIMs). For each sponsor, you have a list of status (Free or Affected) with the count of eSIM for the status.

Status Free means that the eSIM is still available for a user. Status Affected means that the eSIM has already been affected to a user.

1.5.1 For a specific account

Request

{
  "esimStatusPerAccount" : {
    "accountId" : 222
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "esimStatusPerAccount" : {
    "account" : [ {
      "sponsor" : [ {
        "id" : 101,
        "name" : "Sponsor ABC",
        "esim" : {
          "status" : [ {
            "statusNum" : 0,
            "statusStr" : "Free",
            "count" : 100
          }, {
            "statusNum" : 2,
            "statusStr" : "Affected",
            "count" : 10
          } ]
        }
      } ],
      "id" : 222,
      "name" : "My account XYZ"
    } ]
  }
}

1.5.2 All accounts of a specific reseller

Request

{
  "esimStatusPerAccount" : {
    "resellerId" : 111
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "esimStatusPerAccount" : {
    "account" : [ {
      "sponsor" : [ {
        "id" : 101,
        "name" : "Sponsor ABC",
        "esim" : {
          "status" : [ {
            "statusNum" : 0,
            "statusStr" : "Free",
            "count" : 100
          }, {
            "statusNum" : 2,
            "statusStr" : "Affected",
            "count" : 10
          } ]
        }
      } ],
      "id" : 222,
      "name" : "My account XYZ"
    } ]
  }
}

1.6 listSponsor

Description

This request can be used to list the different sponsors configured for a reseller.

Inputs

Parameter Presence Description
listSponsor Mandatory The ID of the reseller for which to list the sponsor(s).

Request

{
  "listSponsor" : 12
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSponsor" : {
    "sponsor" : [ {
      "id" : 1,
      "prefix" : 11122,
      "name" : "SP01"
    }, {
      "id" : 2,
      "prefix" : 33322,
      "name" : "SP02"
    } ]
  }
}

1.7 listSteeringList

Description

This request can be used to list the different steering list of a reseller.

Inputs

Parameter Presence Description
listSteeringList Mandatory The ID of the reseller for which to list the steering list(s).

Request

{
  "listSteeringList" : 12
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSteeringList" : [ {
    "id" : 1,
    "resellerId" : 12,
    "name" : "Steering list 1"
  }, {
    "id" : 2,
    "resellerId" : 12,
    "name" : "Steering list 2"
  }, {
    "id" : 3,
    "resellerId" : 12,
    "name" : "Steering list 3"
  } ]
}

Remark(s)

2. Subscriber

2.1 getSingleSubscriber

Description

This request can be used to search for a specific subscriber. The subscriber can be found via its: - IMSI - ICCID - MSISDN - eSIM activation code - eSIM Tech internal ID

Remarks when searching with IMSI, ICCID or MSISDN: - Unlike the listSubscriber you must provide the exact value, not a prefix. - Unlike the listSubscriber the system will search only the currently active object (IMSI, ICCID or MSISDN). If you search by MSISDN, the provided MSISDN must be the currently active MSISDN for the subscriber. If you provide the MSISDN that was active in the past, but not anymore, the system will not find your subscriber.

Inputs

Parameter Presence Description
imsi Optional IMSI of the subscribers to find.
iccid Optional ICCID of the subscribers to find.
msisdn Optional MSISDN of the subscribers to find.
subscriberId Optional The ID of the subscriber.
activationCode Optional The eSIM activation code. The request will return the subscriber having the eSIM having with this activation code
withSimInfo Optional If set to true, the eSIM info of the subscriber will be returned. If not present, default value is true
onlySubsInfo Optional If set to true, you will get the basic info of the subscriber. If set to false false, you will get additional info like: imsi history, msisdn history, status history. Default value is false
withGzCounter Optional If set to true, the Green Zone counter of the subscriber will be returned. Default value is false

2.1.1 IMSI

Request

{
  "getSingleSubscriber" : {
    "imsi" : "9999900000",
    "withGzCounter" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSingleSubscriber" : {
    "imsiList" : [ {
      "id" : 21046,
      "subscriberId" : 21046,
      "imsi" : "248029018000011",
      "startDate" : "2022-03-10T20:29:41",
      "iccid" : "893720401717000011"
    } ],
    "phoneNumberList" : [ {
      "id" : 21040,
      "subscriberId" : 21046,
      "phoneNumber" : "3728803101011",
      "startDate" : "2022-03-10T20:29:41"
    } ],
    "multiImsi" : [ {
      "id" : 21043,
      "subscriberId" : 21046,
      "imsi" : "248029018000011",
      "startDate" : "2022-03-10T20:29:41"
    } ],
    "status" : [ {
      "id" : 21040,
      "subscriberId" : 21046,
      "startDate" : "2022-03-10T20:29:41",
      "status" : "Active"
    } ],
    "sim" : {
      "id" : 36904,
      "subscriberId" : 21046,
      "esim" : true,
      "status" : "FREE",
      "pin1" : "0561",
      "pin2" : "1736",
      "puk2" : "50913387",
      "smdpServer" : "smdp.io",
      "activationCode" : "K2-1JL8YT-14S7I6K"
    },
    "networkInfo" : {
      "subscriberid" : 21046,
      "time" : "2026-02-08T15:39:55.913145",
      "lastMcc" : 222,
      "lastMnc" : 99,
      "lastCellId" : 123456,
      "lastLac" : 456,
      "lastImei" : "789456123",
      "lastRat" : "3G - UTRAN"
    },
    "greenZoneCounter" : {
      "accountGZ" : {
        "greenZoneId" : 30,
        "greenZoneName" : "Some name",
        "maxVolumeMB" : 0,
        "throttlingKbs" : 0
      },
      "resellerGZ" : {
        "greenZoneId" : 25,
        "greenZoneName" : "new name",
        "maxVolumeMB" : 1000,
        "throttlingKbs" : 2048
      },
      "subscriberId" : 4,
      "greenZoneId" : 25,
      "greenZoneName" : "new name",
      "volumeOnGZ" : 921269,
      "lastResetDate" : "2026-02-06T14:35:13",
      "startDateUTC" : "2026-02-06T14:35:13",
      "lastUpdateDate" : "2026-02-06T21:51:47"
    },
    "subscriberId" : 21046,
    "batchId" : "SPRK_220206_3K_eSIM__20220310192941_435",
    "subscriberName" : "SPRK_eSIM_Eitan_220601_1",
    "accountId" : 37,
    "resellerId" : 10,
    "prepaid" : true,
    "balance" : 0.0,
    "activationDate" : "2022-03-10T20:29:41",
    "lastUsageDate" : "2022-06-01T15:35:34",
    "useAccountForCharging" : true,
    "allowedMoc" : true,
    "allowedMtc" : true,
    "allowedData" : true,
    "allowedMosms" : true,
    "allowedMtsms" : true,
    "account" : "TestSubscribers",
    "reseller" : "Test Reseller 3",
    "lastMcc" : 334,
    "lastMnc" : 50,
    "steeringListId" : 1,
    "throttlingLimit" : 128
  }
}

Remark(s)

2.1.2 ICCID

Request

{
  "getSingleSubscriber" : {
    "iccid" : "9999900017170",
    "withSimInfo" : true,
    "onlySubsInfo" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.1.3 MSISDN

Request

{
  "getSingleSubscriber" : {
    "msisdn" : "1234567",
    "withSimInfo" : false,
    "onlySubsInfo" : false,
    "withGzCounter" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.1.4 eSIM activation code

Request

{
  "getSingleSubscriber" : {
    "activationCode" : "activation code",
    "withSimInfo" : true,
    "onlySubsInfo" : false,
    "withGzCounter" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.1.5 Subscriber Id

Request

{
  "getSingleSubscriber" : {
    "subscriberId" : 4,
    "withSimInfo" : false,
    "onlySubsInfo" : true,
    "withGzCounter" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.2 listSubscriber

Description

This request can be used to search for subscriber. You can search for subscribers by: - IMSI prefix - ICCID prefix - Account - eSIM activation code

Inputs

Parameter Presence Description
imsi Optional IMSI prefix for the subscribers to list. Minimum 10 digits long
iccid Optional ICCID prefix for the subscribers to list. Minimum 13 digits long
msisdn Optional MSISDN prefix for the subscribers to list. Minimum 7 digits long
accountId Optional The ID of the account. The request will return the list of all the subscriber attached to this account
activationCode Optional The eSIM activation code. The request will return the subscriber with the eSIM having this activation code

2.2.1 IMSI prefix

Request

{
  "listSubscriber" : {
    "imsiPrefix" : "9999900000"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriber" : {
    "subscriberList" : [ {
      "imsiList" : [ {
        "id" : 44974,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020010"
      } ],
      "phoneNumberList" : [ {
        "id" : 44932,
        "subscriberId" : 45046,
        "phoneNumber" : "32477002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44896,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44893,
        "subscriberId" : 45046,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36904,
        "subscriberId" : 45046,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-27T11:56:07",
        "pin1" : "6310",
        "puk1" : "89116899",
        "pin2" : "0569",
        "puk2" : "25380546",
        "smdpServer" : "some.server",
        "activationCode" : "some code",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45046,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T06:35:38",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    }, {
      "imsiList" : [ {
        "id" : 44977,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020028"
      } ],
      "phoneNumberList" : [ {
        "id" : 44935,
        "subscriberId" : 45049,
        "phoneNumber" : "32477002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44899,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44896,
        "subscriberId" : 45049,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36905,
        "subscriberId" : 45049,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-30T07:04:31",
        "pin1" : "4366",
        "puk1" : "51885819",
        "pin2" : "5919",
        "puk2" : "03208995",
        "smdpServer" : "some.server",
        "activationCode" : "some code1",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45049,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T07:04:31",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    } ],
    "hasMore" : false,
    "nbFound" : 11
  }
}

2.2.2 ICCID prefix

Request

{
  "listSubscriber" : {
    "iccidPrefix" : "9999900017170"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriber" : {
    "subscriberList" : [ {
      "imsiList" : [ {
        "id" : 44974,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020010"
      } ],
      "phoneNumberList" : [ {
        "id" : 44932,
        "subscriberId" : 45046,
        "phoneNumber" : "32477002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44896,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44893,
        "subscriberId" : 45046,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36904,
        "subscriberId" : 45046,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-27T11:56:07",
        "pin1" : "6310",
        "puk1" : "89116899",
        "pin2" : "0569",
        "puk2" : "25380546",
        "smdpServer" : "some.server",
        "activationCode" : "some code",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45046,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T06:35:38",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    }, {
      "imsiList" : [ {
        "id" : 44977,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020028"
      } ],
      "phoneNumberList" : [ {
        "id" : 44935,
        "subscriberId" : 45049,
        "phoneNumber" : "32477002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44899,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44896,
        "subscriberId" : 45049,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36905,
        "subscriberId" : 45049,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-30T07:04:31",
        "pin1" : "4366",
        "puk1" : "51885819",
        "pin2" : "5919",
        "puk2" : "03208995",
        "smdpServer" : "some.server",
        "activationCode" : "some code1",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45049,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T07:04:31",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    } ],
    "hasMore" : false,
    "nbFound" : 11
  }
}

2.2.3 MSISDN prefix

Request

{
  "listSubscriber" : {
    "msisdnPrefix" : "1234567"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriber" : {
    "subscriberList" : [ {
      "imsiList" : [ {
        "id" : 44974,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020010"
      } ],
      "phoneNumberList" : [ {
        "id" : 44932,
        "subscriberId" : 45046,
        "phoneNumber" : "32477002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44896,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44893,
        "subscriberId" : 45046,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36904,
        "subscriberId" : 45046,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-27T11:56:07",
        "pin1" : "6310",
        "puk1" : "89116899",
        "pin2" : "0569",
        "puk2" : "25380546",
        "smdpServer" : "some.server",
        "activationCode" : "some code",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45046,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T06:35:38",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    }, {
      "imsiList" : [ {
        "id" : 44977,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020028"
      } ],
      "phoneNumberList" : [ {
        "id" : 44935,
        "subscriberId" : 45049,
        "phoneNumber" : "32477002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44899,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44896,
        "subscriberId" : 45049,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36905,
        "subscriberId" : 45049,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-30T07:04:31",
        "pin1" : "4366",
        "puk1" : "51885819",
        "pin2" : "5919",
        "puk2" : "03208995",
        "smdpServer" : "some.server",
        "activationCode" : "some code1",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45049,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T07:04:31",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    } ],
    "hasMore" : false,
    "nbFound" : 11
  }
}

2.2.4 Account Id

Request

{
  "listSubscriber" : {
    "accountId" : 4
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriber" : {
    "subscriberList" : [ {
      "imsiList" : [ {
        "id" : 44974,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020010"
      } ],
      "phoneNumberList" : [ {
        "id" : 44932,
        "subscriberId" : 45046,
        "phoneNumber" : "32477002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44896,
        "subscriberId" : 45046,
        "imsi" : "999990000002001",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44893,
        "subscriberId" : 45046,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36904,
        "subscriberId" : 45046,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-27T11:56:07",
        "pin1" : "6310",
        "puk1" : "89116899",
        "pin2" : "0569",
        "puk2" : "25380546",
        "smdpServer" : "some.server",
        "activationCode" : "some code",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45046,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T06:35:38",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    }, {
      "imsiList" : [ {
        "id" : 44977,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41",
        "iccid" : "9999900017170020028"
      } ],
      "phoneNumberList" : [ {
        "id" : 44935,
        "subscriberId" : 45049,
        "phoneNumber" : "32477002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "multiImsi" : [ {
        "id" : 44899,
        "subscriberId" : 45049,
        "imsi" : "999990000002002",
        "startDate" : "2022-05-23T16:47:41"
      } ],
      "status" : [ {
        "id" : 44896,
        "subscriberId" : 45049,
        "startDate" : "2022-05-23T16:47:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36905,
        "subscriberId" : 45049,
        "esim" : true,
        "status" : "AFFECTED",
        "affectationDateUtc" : "2022-05-30T07:04:31",
        "pin1" : "4366",
        "puk1" : "51885819",
        "pin2" : "5919",
        "puk2" : "03208995",
        "smdpServer" : "some.server",
        "activationCode" : "some code1",
        "confirmationCode" : "confirm code"
      },
      "subscriberId" : 45049,
      "batchId" : "Some_test_batch",
      "accountId" : 4,
      "resellerId" : 1,
      "prepaid" : true,
      "balance" : 150.0,
      "activationDate" : "2022-05-30T07:04:31",
      "email" : "user@example.com",
      "useAccountForCharging" : true,
      "allowedMoc" : false,
      "allowedMtc" : false,
      "allowedData" : true,
      "allowedMosms" : false,
      "allowedMtsms" : false,
      "account" : "Test - Second account",
      "reseller" : "Test Reseller"
    } ],
    "hasMore" : false,
    "nbFound" : 11
  }
}

2.2.5 eSIM activation code

Request

{
  "listSubscriber" : {
    "activationCode" : "activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriber" : {
    "subscriberList" : [ {
      "imsiList" : [ {
        "id" : 21046,
        "subscriberId" : 21046,
        "imsi" : "248029018000011",
        "startDate" : "2022-03-10T20:29:41",
        "iccid" : "893720401717000011"
      } ],
      "phoneNumberList" : [ {
        "id" : 21040,
        "subscriberId" : 21046,
        "phoneNumber" : "3728803101011",
        "startDate" : "2022-03-10T20:29:41"
      } ],
      "multiImsi" : [ {
        "id" : 21043,
        "subscriberId" : 21046,
        "imsi" : "248029018000011",
        "startDate" : "2022-03-10T20:29:41"
      } ],
      "status" : [ {
        "id" : 21040,
        "subscriberId" : 21046,
        "startDate" : "2022-03-10T20:29:41",
        "status" : "Active"
      } ],
      "sim" : {
        "id" : 36904,
        "subscriberId" : 21046,
        "esim" : true,
        "status" : "FREE",
        "pin1" : "0561",
        "pin2" : "1736",
        "puk2" : "50913387",
        "smdpServer" : "smdp.io",
        "activationCode" : "K2-1JL8YT-14S7I6K"
      },
      "subscriberId" : 21046,
      "batchId" : "SPRK_220206_3K_eSIM__20220310192941_435",
      "subscriberName" : "SPRK_eSIM_Eitan_220601_1",
      "accountId" : 37,
      "resellerId" : 10,
      "prepaid" : true,
      "balance" : 0.0,
      "activationDate" : "2022-03-10T20:29:41",
      "lastUsageDate" : "2022-06-01T15:35:34",
      "useAccountForCharging" : true,
      "allowedMoc" : true,
      "allowedMtc" : true,
      "allowedData" : true,
      "allowedMosms" : true,
      "allowedMtsms" : true,
      "account" : "TestSubscribers",
      "reseller" : "Test Reseller 3",
      "lastMcc" : 334,
      "lastMnc" : 50,
      "steeringListId" : 1,
      "throttlingLimit" : 128
    } ],
    "hasMore" : false,
    "nbFound" : 1
  }
}

Remark(s)

2.3 affectSubscriberRealPhoneNumber

Description

This request can be used to affect a real phone number to a subscriber. A real phone number can be either a MSISDN or a DID.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

2.3.1 By subscriber ID

Request

{
  "affectSubscriberRealPhoneNumber" : {
    "subscriber" : {
      "subscriberId" : 1000
    },
    "phoneNumber" : 123456789
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.3.2 By IMSI

Request

{
  "affectSubscriberRealPhoneNumber" : {
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "phoneNumber" : 123456789
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.3.3 By ICCID

Request

{
  "affectSubscriberRealPhoneNumber" : {
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "phoneNumber" : 123456789
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.3.4 By MSISDN

Request

{
  "affectSubscriberRealPhoneNumber" : {
    "subscriber" : {
      "msisdn" : "123456789123"
    },
    "phoneNumber" : 123456789
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.3.5 By multi imsi

Request

{
  "affectSubscriberRealPhoneNumber" : {
    "subscriber" : {
      "multiImsi" : "12345678901234"
    },
    "phoneNumber" : 123456789
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.3.6 By Activation code

Request

{
  "affectSubscriberRealPhoneNumber" : {
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "phoneNumber" : 1123456789
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

2.4 affectSubscriberFakePhoneNumber

Description

This request can be used to re-affect a subscriber its fake phone number.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

2.4.1 By subscriber ID

Request

{
  "affectSubscriberFakePhoneNumber" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.4.2 By IMSI

Request

{
  "affectSubscriberFakePhoneNumber" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.4.3 By ICCID

Request

{
  "affectSubscriberFakePhoneNumber" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.4.4 By MSISDN

Request

{
  "affectSubscriberFakePhoneNumber" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.4.5 By multi imsi

Request

{
  "affectSubscriberFakePhoneNumber" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.4.6 By Activation code

Request

{
  "affectSubscriberFakePhoneNumber" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

2.5 getSimProviderStatus

Description

This request can be used to retrieve the status of the eSIM from the eSIM provider system. It returns in fact the status history of the eSIM. The current status is the one with no end date.

Note that the statuses are sorted by start date in descending order (most recent date first).

Request

{
  "getSimProviderStatus" : 1234
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSimProviderStatus" : [ {
    "simId" : 36862,
    "status" : "Enable",
    "start" : "2023-04-06T09:55:08",
    "profileType" : "SPRK_230218_NoApplet_SP02",
    "statusModification" : "Executed-Success"
  }, {
    "simId" : 36862,
    "status" : "Enable",
    "start" : "2023-04-01T09:55:08",
    "end" : "2023-04-06T09:55:08",
    "profileType" : "SPRK_230218_NoApplet_SP02",
    "statusModification" : "Executed-Success"
  } ]
}

Remark(s)

2.6 modifySubscriberBalance

Description

This request can be used to adapt the balance of a subscriber. The balance can either: - Be adapted: You can add or remove a certain amount from the balance. The amount you need to provide in the request will be added to the current balance. You can provide a negative amount and the balance will be decreased. Please note that balance cannot become negative, in such a case the balance will be set to 0. - Set to a new value: In this case you provide the new amount you want to set the balance to.

This request is logged in the system DB and you can see them in the UI, in the Subscriber -> Transaction tab.

Inputs

Parameter Presence Description
subscriber Mandatory One of the subscriber identifier see Subscriber identifiers in OcsObjects.md
amount Mandatory The amount to add to the current balance
setBalance Optional true => balance will be set to provided amount, false => balance will be adapted
description Optional A description giving information about the reason of this balance adjustment

2.6.1 Update balance

Request

{
  "modifySubscriberBalance" : {
    "subscriber" : {
      "subscriberId" : 123
    },
    "amount" : -123.25,
    "description" : "Optional description"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.6.2 Set balance

Request

{
  "modifySubscriberBalance" : {
    "subscriber" : {
      "subscriberId" : 123
    },
    "amount" : -123.25,
    "description" : "Optional description",
    "setBalance" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.7 hlrSetBitrate

Description

This request is part of the throttling API.

It will set a new bandwidth limitation for the subscriber identified by the IMSI.

Possible values for the limit field: - KB_32: User will be limited 32 Kbit/sec - KB_64: User will be limited 64 Kbit/sec - KB_128: User will be limited 128 Kbit/sec - KB_256: User will be limited 256 Kbit/sec - KB_384: User will be limited 384 Kbit/sec - KB_512: User will be limited 512 Kbit/sec - KB_1024: User will be limited 1024 Kbit/sec - KB_2048: User will be limited 2048 Kbit/sec - KB_3072: User will be limited 3072 Kbit/sec - KB_5120: User will be limited 5120 Kbit/sec - KB_7680: User will be limited 7680 Kbit/sec - KB_10240: User will be limited 10240 Kbit/sec - KB_20480: User will be limited 20480 Kbit/sec - KB_51200: User will be limited 51200 Kbit/sec - KB_102400: User will be limited 102400 Kbit/sec - UNLIMITED: User will not be limited.

Request

{
  "hlrSetBitrate" : {
    "imsi" : "123456789",
    "limit" : "KB_512"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.8 hlrGetBitrate

Description

This request is part of the throttling API.

It retrieves the current limitation of the subscriber in terms of data bandwidth.

Request

{
  "hlrGetBitrate" : {
    "imsi" : "123456789"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "hlrGetBitrate" : "UNLIMITED"
}

2.9 moveSubscriberRangeToAccount

Description

This method can be used to move a range a subscribers from one account to another account. The range of subscriber can be either a range of IMSI, or a range of ICCID.

In this version, the move is restricted between accounts of the same reseller. If you need to move subscribers between accounts of different resellers, please use the version 2 of this request.

If you move subscribers to a different reseller, all the moved subscribers will lose their prepaid packages. Indeed, location zone (that is attached to each and every packages) from reseller A, is not visible in reseller B. Meaning packages from reseller A are not visible in reseller B, so no need to keep them.

Inputs

Parameter Presence Description
rangeType Mandatory Indicate the type of range. Possible values: IMSI, ICCID.
rangeStart Mandatory IMSI or ICCID of the first subscriber of the range to move
rangeEnd Mandatory IMSI or ICCID of the last subscriber of the range to move
srcAccountId Mandatory Current account of the subscriber to move
destAccount Mandatory New account for the subscriber to move

Outputs

Parameter Presence Description
moveSubscriberRangeToAccount Mandatory The number of subscriber that has been moved.

2.9.1 IMSI range

Request

{
  "moveSubscriberRangeToAccount" : {
    "rangeType" : "IMSI",
    "rangeStart" : "200010416000001",
    "rangeEnd" : "2000104160000010",
    "srcAccountId" : 10,
    "destAccount" : 15
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "moveSubscriberRangeToAccount" : 4
}

2.9.2 ICCID range

Request

{
  "moveSubscriberRangeToAccount" : {
    "rangeType" : "ICCID",
    "rangeStart" : "893720000000000001",
    "rangeEnd" : "893720000000000010",
    "srcAccountId" : 10,
    "destAccount" : 15
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "moveSubscriberRangeToAccount" : 4
}

2.10 modifySubscriberContactInfo

Description

This request can be used to adapt the subscriber contact info.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID

2.10.1 By subscriber ID

Request

{
  "modifySubscriberContactInfo" : {
    "subscriber" : {
      "subscriberId" : 1000
    },
    "name" : "optional name",
    "phone" : "optional phone number",
    "mail" : "optional mail",
    "company" : "optional company"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.10.2 By IMSI

Request

{
  "modifySubscriberContactInfo" : {
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "name" : "optional name",
    "mail" : "optional mail"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.10.3 By ICCID

Request

{
  "modifySubscriberContactInfo" : {
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "phone" : "optional phone number",
    "company" : "optional company"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.11 modifySubscriberStatus

Description

This request can be used to change the status of a subscriber.

Only subscribers with the ACTIVE status can consume data, send/receive calls and SMS.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

The possible values for the new status are: - ACTIVE - INACTIVE - DISCONNECTED - SUSPENDED - END_OF_LIFE: This status is final. Once in this status, the subscriber can ONLY be re-activated via the eSIM Tech UI. No request in the API has the ability to re-activate a subscriber in this status. The following actions are not permitted on a subscriber in this status: - Change status (but still permitted in the UI) - Affect prepaid package - Affect real phone number - Change throttling - Change authorized traffic - Push steering to subscriber - Send SMS

2.11.1 By subscriber ID

Request

{
  "modifySubscriberStatus" : {
    "subscriber" : {
      "subscriberId" : 1000
    },
    "newStatus" : "ACTIVE"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.11.2 By IMSI

Request

{
  "modifySubscriberStatus" : {
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "newStatus" : "INACTIVE"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.11.3 By ICCID

Request

{
  "modifySubscriberStatus" : {
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "newStatus" : "SUSPENDED"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.11.4 By MSISDN

Request

{
  "modifySubscriberStatus" : {
    "subscriber" : {
      "msisdn" : "123456789123"
    },
    "newStatus" : "INACTIVE"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.11.5 By multi imsi

Request

{
  "modifySubscriberStatus" : {
    "subscriber" : {
      "multiImsi" : "12345678901234"
    },
    "newStatus" : "END_OF_LIFE"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.11.6 By Activation code

Request

{
  "modifySubscriberStatus" : {
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "newStatus" : "DISCONNECTED"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

2.12 setSubscriberTrafficRestrictions

Description

This request can be used to configure the traffic types thar are allowed for a subscriber: Data, MOC, MTC and SMS-MO. Please note that SMS-MT is always allowed.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

Inputs

Parameter Presence Description
subscriber Mandatory Identifier of the subscriber, see Subscriber identifiers in OcsObjects.md.
dataAllowed Mandatory Indicates if data is allowed for the subscriber.
mocAllowed Mandatory Indicates if MOC are allowed for the subscriber.
mtcAllowed Mandatory Indicates if MTC are allowed for the subscriber.
smsMoAllowed Mandatory Indicates if SMS-MO are allowed for the subscriber.

2.12.1 By subscriber ID

Request

{
  "setSubscriberTrafficRestrictions" : {
    "subscriber" : {
      "subscriberId" : 1000
    },
    "dataAllowed" : true,
    "mocAllowed" : false,
    "mtcAllowed" : false,
    "smsMoAllowed" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.12.2 By IMSI

Request

{
  "setSubscriberTrafficRestrictions" : {
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "dataAllowed" : true,
    "mocAllowed" : true,
    "mtcAllowed" : true,
    "smsMoAllowed" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.12.3 By ICCID

Request

{
  "setSubscriberTrafficRestrictions" : {
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "dataAllowed" : true,
    "mocAllowed" : false,
    "mtcAllowed" : true,
    "smsMoAllowed" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.12.4 By MSISDN

Request

{
  "setSubscriberTrafficRestrictions" : {
    "subscriber" : {
      "msisdn" : "123456789123"
    },
    "dataAllowed" : true,
    "mocAllowed" : true,
    "mtcAllowed" : false,
    "smsMoAllowed" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.12.5 By multi imsi

Request

{
  "setSubscriberTrafficRestrictions" : {
    "subscriber" : {
      "multiImsi" : "12345678901234"
    },
    "dataAllowed" : true,
    "mocAllowed" : false,
    "mtcAllowed" : true,
    "smsMoAllowed" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.12.6 By Activation code

Request

{
  "setSubscriberTrafficRestrictions" : {
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "dataAllowed" : false,
    "mocAllowed" : true,
    "mtcAllowed" : true,
    "smsMoAllowed" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

2.13 modifySubscriberSteeringList

Description

This request can be used to change or remove the steering list of the subscriber.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

Inputs

Parameter Presence Description
subscriber Mandatory Identifier of the subscriber, see Subscriber identifiers in OcsObjects.md.
steeringListId Optional The new steering list for the subscriber. If none provided (null), the current list will be removed.

2.13.1 By subscriber ID

Request

{
  "modifySubscriberSteeringList" : {
    "subscriber" : {
      "subscriberId" : 1000
    },
    "steeringListId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.13.2 By IMSI

Request

{
  "modifySubscriberSteeringList" : {
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "steeringListId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.13.3 By ICCID

Request

{
  "modifySubscriberSteeringList" : {
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "steeringListId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.13.4 By MSISDN

Request

{
  "modifySubscriberSteeringList" : {
    "subscriber" : {
      "msisdn" : "123456789123"
    },
    "steeringListId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.13.5 By multi imsi

Request

{
  "modifySubscriberSteeringList" : {
    "subscriber" : {
      "multiImsi" : "12345678901234"
    },
    "steeringListId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.13.6 By Activation code

Request

{
  "modifySubscriberSteeringList" : {
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "steeringListId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.14 pushSteeringToSubs

Description

This request can be used to push the OPLMN list to the phone of the subscriber via OTA. You just need to provide the ID of the subscriber, the system will find the current country of the subscriber, build the OPLMN list for this country, and send it to the phone of the subscriber via OTA SMS.

This request can be used after a modification has been brought to a steering list, of if you changed the steering list of subscriber, and you need to push it right away.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

2.14.1 By subscriber ID

Request

{
  "pushSteeringToSubs" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.14.2 By IMSI

Request

{
  "pushSteeringToSubs" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.14.3 By ICCID

Request

{
  "pushSteeringToSubs" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.14.4 By MSISDN

Request

{
  "pushSteeringToSubs" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.14.5 By multi imsi

Request

{
  "pushSteeringToSubs" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.14.6 By Activation code

Request

{
  "pushSteeringToSubs" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.15 cleanSubscriberAllPackages

Description

This request can be used to clean ALL the prepaid package AND ALL the recurring packages.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

2.15.1 By subscriber ID

Request

{
  "cleanSubscriberAllPackages" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.15.2 By IMSI

Request

{
  "cleanSubscriberAllPackages" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.15.3 By ICCID

Request

{
  "cleanSubscriberAllPackages" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.15.4 By MSISDN

Request

{
  "cleanSubscriberAllPackages" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.15.5 By multi imsi

Request

{
  "cleanSubscriberAllPackages" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.15.6 By Activation code

Request

{
  "cleanSubscriberAllPackages" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.16 resetSubsGzCounter

Description

This request can be used to reset the Green Zone counter of a subscriber.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

2.16.1 By subscriber ID

Request

{
  "resetSubsGzCounter" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.16.2 By IMSI

Request

{
  "resetSubsGzCounter" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.16.3 By ICCID

Request

{
  "resetSubsGzCounter" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.16.4 By MSISDN

Request

{
  "resetSubsGzCounter" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.16.5 By multi imsi

Request

{
  "resetSubsGzCounter" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

2.16.6 By Activation code

Request

{
  "resetSubsGzCounter" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

2.17 getSubscriberLocation

Description

This request can be used to get the last known location of a subscriber based on the last known tower cell.

Please note that we cannot always provide the location: - If we don't have any usages yet, for example the eSIM has not been activated yet. - If we have usages, but we didn't receive the location information.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

In the answer you will get latitude and longitude, accuracy in meters, and date and time (UTC+0) of our last known location (last time the subscriber was "seen" by our system). The accuracy is the estimated median error in meters, i.e. the radius in a circle with 50% confidence level

2.17.1 By subscriber ID

Request

{
  "getSubscriberLocation" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberLocation" : {
    "latitude" : 47.447163,
    "longitude" : 8.55877,
    "accuracy" : 250,
    "dateTime" : "2026-02-07T15:39:55.916425"
  }
}

2.17.2 By IMSI

Request

{
  "getSubscriberLocation" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberLocation" : {
    "latitude" : 47.447163,
    "longitude" : 8.55877,
    "accuracy" : 250,
    "dateTime" : "2026-02-07T15:39:55.916425"
  }
}

2.17.3 By ICCID

Request

{
  "getSubscriberLocation" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberLocation" : {
    "latitude" : 47.447163,
    "longitude" : 8.55877,
    "accuracy" : 250,
    "dateTime" : "2026-02-07T15:39:55.916425"
  }
}

2.17.4 By MSISDN

Request

{
  "getSubscriberLocation" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberLocation" : {
    "latitude" : 47.447163,
    "longitude" : 8.55877,
    "accuracy" : 250,
    "dateTime" : "2026-02-07T15:39:55.916425"
  }
}

2.17.5 By multi imsi

Request

{
  "getSubscriberLocation" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberLocation" : {
    "latitude" : 47.447163,
    "longitude" : 8.55877,
    "accuracy" : 250,
    "dateTime" : "2026-02-07T15:39:55.916425"
  }
}

2.17.6 By Activation code

Request

{
  "getSubscriberLocation" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberLocation" : {
    "latitude" : 47.447163,
    "longitude" : 8.55877,
    "accuracy" : 250,
    "dateTime" : "2026-02-07T15:39:55.916425"
  }
}

Remark(s)

2.18 getSubscriberLocationByCellId

Description

This request can be used to get location of a subscriber based on tower cell ID: radio type, mcc, mnc, lac, cell id. Radio type should be one of: "2G", "3G", "4G", "5G", "NBIOT".

In the answer you will get latitude and longitude, accuracy in meters. The accuracy is the estimated median error in meters, i.e. the radius in a circle with 50% confidence level

Inputs

Parameter Presence Description
radioType Mandatory Possible values: '2G', '3G', '4G', '5G' and 'NB-IoT'.
mcc Mandatory Mobile country code.
mnc Mandatory Mobile network code.
lac Mandatory Location area code.
cellId Optional The tower cell Id. It's optional, but if not provided, the location will be very inaccurate.

Request

{
  "getSubscriberLocationByCellId" : {
    "radioType" : "4G",
    "mcc" : 250,
    "mnc" : 99,
    "lac" : 9830,
    "cellId" : 79131751,
    "signalStrength" : -89
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberLocation" : {
    "latitude" : 46.54557,
    "longitude" : 48.620538,
    "accuracy" : 250
  }
}

2.19 changeSimStatus

Description

This request can be used to change the status of an eSIM by its ID.

Be careful when setting the status of an eSIM back to Free after the eSIM has been used by one of your subscriber. The new subscriber that will receive this (used) eSIM won't be able to download the eSIM again.

The purpose of this request is only to fix a problematic situation. When you have identified an eSIM with the wrong status and you need to fix it.

REMARK: - This request must not be used after affectPackageToSubscriber or affectRecurringPackageToSubscriber. Setting the eSIM status is part of the logic of those requests.

Inputs

Parameter Presence Description
simId Mandatory The ID of the eSIM to update. You can get this ID from getSingleSubscriber and listSubscriber answer, see getSingleSubscriber.sim.id
newStatus Mandatory The new status for the eSIM. Value can be: Affected, Free

Request

{
  "changeSimStatus" : {
    "simId" : 123,
    "newStatus" : "Affected"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3. Subscriber prepaid packages

3.1 affectPackageToSubscriber

Description

This request can be used to affect a new prepaid package to a subscriber. The prepaid package affected to the subscriber will be created based on the package template provided in the request (you can get the list of template via request listPrepaidPackageTemplate).

Please note that this request will activate the subscriber, if it is not active yet. Meaning after this request (successfully executed), the user can start using its prepaid package, no matter if it was active or not before the request.

The subscriber (and its eSIM) can be provided in the request (see subscriber), then the system will affect a new plan to the specified subscriber.

But instead of a subscriber, an account can be provided (see accountForSubs). In this case the system will search for a free eSIM (and its subscriber) in the specified account. If a free eSIM is found, a new package will be affected to its subscriber.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

The active period of the prepaid package is calculated as following: - An activePeriod with a start and end date and time is provided in the request: The start and end will be used as start and end date and time for the active period of the package. This overrides the validity period configured in the package template. - A validityPeriod expressed as a number of days is provided in the request: The start date and time of package is the current date and time. The end date and time of the package is the current date and time, plus the number of days mentioned in validityPeriod. - No activePeriod nor validityPeriod for activation at first use: The start date and time will be the date and time of the first successful usage of the prepaid package template. The end date and time of the package will be the first successful usage date and time, plus the number of days for validity configured in the package template.

3.1.1 By subscriber ID

Request

{
  "affectPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "subscriberId" : 1000
    },
    "activePeriod" : {
      "start" : "2026-02-08T15:39:55.917589",
      "end" : "2026-03-10T15:39:55.917595"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "affectPackageToSubscriber" : {
    "iccid" : "893720401615000106",
    "smdpServer" : "smdp.io",
    "activationCode" : "K2-1JL898-DKUTDC",
    "urlQrCode" : "LPA:1$smdp.io$K2-1JL898-DKUTDC",
    "subscriberId" : 18331,
    "esimId" : 37147,
    "subsPackageId" : 414,
    "userSimName" : "Example_12345"
  }
}

3.1.2 By IMSI

Request

{
  "affectPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "validityPeriod" : 30
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.1.3 By ICCID

Request

{
  "affectPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "iccid" : "123456789012345678"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.1.4 By MSISDN

Request

{
  "affectPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "msisdn" : "123456789123"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.1.5 By multi imsi

Request

{
  "affectPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "multiImsi" : "12345678901234"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.1.6 By Activation code

Request

{
  "affectPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "validityPeriod" : 10
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.1.7 With account

Request

{
  "affectPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "accountForSubs" : 40,
    "validityPeriod" : 30
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

3.2 affectRecurringPackageToSubscriber

Description

For a complete description of the recurring packages, please refer to eSIM Tech UI documentation.

This request can be used to affect a new recurring prepaid package to a subscriber. The subscriber prepaid packages generated by the recurring package will be created based on the package template provided in the request (you can get the list of template via request listPrepaidPackageTemplate).

The subscriber packages will start to be generated once the start time of the recurring package is reached, or when the user will start consume units on this package (A.K.A activation at first use). When creating the recurring package, you need to decide if you want the recurring to be active from a certain time, or if you want it to be activated at first use.

The packages will not be created all at once, when using this request. The packages will created 12 hours in advance with the following logic: - Start time based package: if the start time, is within the next 12 hours, the first package will be created immediately, and will be returned in the answer. If the start time is after the next 12 hours, no package will be created. - Activation at first use package: A first subscriber package is created immediately (returned in the answer). This first package will be created with no start date and end date, so it will be activated at first use. When this first subscriber package will be activated, the recurring package will also be activated, and from that moment, the other subscriber packages will be created 12 hours in advance.

Please note that this request will activate the subscriber, if it is not active yet. Meaning after this request (successfully executed), the user can start using its prepaid package, as soon as the package is available.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

For monthly recurring packages, the packages will be created the same day in the month as the first package of the recurring packages. Meaning if the first package is created the 3rd of a month, all the other packages will be given to the user every 3rd of the month.

For monthly recurring packages, packages are granted the same day in the month. This mean that in some case we might need to create packages with invalid start date. For example, if the Start time is august 31, we cannot have a package starting the 31 of september. In the case, the package will be create with the closest previous valid date, in our example, the 30 of september.

Inputs

Parameter Presence Description
packageTemplateId Mandatory ID of package template to use to create the recurring package instance.
subscriber Mandatory One of the subscriber identifier see Subscriber identifiers in OcsObjects.md
startTimeUTC Optional Moment from which the subscriber packages will be created. If not provided, and activationAtFirstUse is false, current date and time will be used as default value.
activationAtFirstUse Optional Flag indicating if the package needs to be activated when the subscriber will start consuming the first units. If not provided, default value is false. If value is true, startTimeUTC cannot be provided.

3.2.1 By subscriber ID

Request

{
  "affectRecurringPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "subscriberId" : 1000
    },
    "startTimeUTC" : "2026-02-08T14:39:55",
    "activationAtFirstUse" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "affectRecurringPackageToSubscriber" : {
    "packageInfo" : {
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 9280,
        "prepaidpackagetemplatename" : "PDEL Recurring"
      },
      "subscriberprepaidpackageid" : 1042,
      "subscriberid" : 4,
      "priority" : 7,
      "locationzoneid" : 27,
      "pckdatabyte" : 1073741824,
      "pckmocsecond" : 1,
      "pckmtcsecond" : 2,
      "pckmosmsnumber" : 3,
      "pckmtsmsnumber" : 4,
      "tsassigned" : "2023-10-02T09:31:21",
      "tsactivationutc" : "2023-10-02T09:31:21",
      "tsexpirationutc" : "2023-11-02T09:31:21",
      "useddatabyte" : 0,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 45,
      "cost" : 123.0,
      "templateId" : 9280,
      "esimId" : 64612,
      "active" : true
    },
    "simInfo" : {
      "iccid" : "123",
      "smdpServer" : "serv",
      "activationCode" : "blah blah",
      "urlQrCode" : "LPA:1$serv$blah blah",
      "subscriberId" : 4,
      "esimId" : 64612,
      "subsPackageId" : 1042,
      "userSimName" : "PDEL"
    }
  }
}

Remark(s)

3.2.2 By IMSI

Request

{
  "affectRecurringPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "startTimeUTC" : "2026-02-08T14:39:55",
    "activationAtFirstUse" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.2.3 By ICCID

Request

{
  "affectRecurringPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "activationAtFirstUse" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.2.4 By MSISDN

Request

{
  "affectRecurringPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "msisdn" : "123456789123"
    },
    "activationAtFirstUse" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.2.5 By multi imsi

Request

{
  "affectRecurringPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "multiImsi" : "12345678901234"
    },
    "startTimeUTC" : "2026-02-08T14:39:55",
    "activationAtFirstUse" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.2.6 By Activation code

Request

{
  "affectRecurringPackageToSubscriber" : {
    "packageTemplateId" : 553,
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "activationAtFirstUse" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

3.3 listSubscriberPrepaidPackages

Description

This request can be used to list all the pre paid packages of a subscriber (if any).

If you are using recurring packages, please use version 2

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

Outputs

Parameter Presence Description
listSubscriberPrepaidPackages.callUseSingleCounter Mandatory Indicates if MOC and MTC are charged on the same counter.
If the flag is false MOC seconds are charged on usedmocsecond and the limit is pckmocsecond. While the MTC seconds are charged on usedmtcsecond and the limit is pckmtcsecond.
If the flag is true, no difference is made between MOC and MTC, they both are considered as calls charged on the same counter with the same limit. Both MOC and MTC seconds are charged on usedmocsecond counter. The limit for both MOC and MTC is pckmocsecond.
listSubscriberPrepaidPackages.packages Mandatory Array of subscriber prepaid packages, see Subscriber prepaid package in OcsObjects.md. If the subscriber doesn't have any prepaid package, this array will be empty.

3.3.1 By subscriber ID

Request

{
  "listSubscriberPrepaidPackages" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "packages" : [ {
      "rdbDestinationZones" : {
        "destinationzoneid" : 1,
        "destinationzonename" : "PDEL Test - 7"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 30,
        "prepaidpackagetemplatename" : "PDEL - Italy 20Gb"
      },
      "subscriberprepaidpackageid" : 83,
      "subscriberid" : 4,
      "priority" : 1,
      "locationzoneid" : 27,
      "destinationzoneid" : 1,
      "pckdatabyte" : 21474836480,
      "pckmocsecond" : 100,
      "pckmtcsecond" : 100,
      "pckmosmsnumber" : 500,
      "pckmtsmsnumber" : 500,
      "tsassigned" : "2022-10-13T15:04:43",
      "tsactivationutc" : "2023-02-22T09:52:53",
      "tsexpirationutc" : "2023-09-30T12:09:04",
      "useddatabyte" : 30971520,
      "usedmocsecond" : 100,
      "usedmocvoipsecond" : 75,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 30,
      "cost" : 23.0,
      "templateId" : 30,
      "esimId" : 64612,
      "active" : true,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    }, {
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 30,
        "prepaidpackagetemplatename" : "PDEL - Italy 20Gb"
      },
      "subscriberprepaidpackageid" : 989,
      "subscriberid" : 4,
      "priority" : 2,
      "locationzoneid" : 27,
      "pckdatabyte" : 21474836480,
      "pckmocsecond" : 0,
      "pckmtcsecond" : 0,
      "pckmosmsnumber" : 0,
      "pckmtsmsnumber" : 0,
      "tsassigned" : "2022-10-13T15:04:43",
      "tsactivationutc" : "2023-02-22T09:52:53",
      "tsexpirationutc" : "2023-07-27T08:02:54",
      "useddatabyte" : 10971520,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 30,
      "cost" : 23.0,
      "templateId" : 30,
      "esimId" : 64612,
      "active" : false,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    }, {
      "rdbDestinationZones" : {
        "destinationzoneid" : 5,
        "destinationzonename" : "Denis Destination list"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 2214,
        "prepaidpackagetemplatename" : "Denis Italy"
      },
      "subscriberprepaidpackageid" : 1007,
      "subscriberid" : 4,
      "priority" : 3,
      "locationzoneid" : 27,
      "destinationzoneid" : 5,
      "pckdatabyte" : 1073741824,
      "pckmocsecond" : 0,
      "pckmtcsecond" : 0,
      "pckmosmsnumber" : 0,
      "pckmtsmsnumber" : 0,
      "tsassigned" : "2023-08-01T13:25:08",
      "useddatabyte" : 0,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 10,
      "cost" : 9.99,
      "templateId" : 2214,
      "esimId" : 64612,
      "active" : true,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    } ],
    "callUseSingleCounter" : false
  }
}

Remark(s)

3.3.2 By IMSI

Request

{
  "listSubscriberPrepaidPackages" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

3.3.3 By ICCID

Request

{
  "listSubscriberPrepaidPackages" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

3.3.4 By MSISDN

Request

{
  "listSubscriberPrepaidPackages" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

3.3.5 By multi imsi

Request

{
  "listSubscriberPrepaidPackages" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

3.3.6 By Activation code

Request

{
  "listSubscriberPrepaidPackages" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

Remark(s)

3.4 modifySubscriberPrepaidPackageLimits

Description

This request can be used to adapt one or more limits (max volume, max SMS, minutes of call) of a subscriber prepaid package.

This request is logged in the system DB and you can see them in the UI, in the Subscriber prepaid package -> History tab.

Inputs

Parameter Presence Description
packageId Mandatory The ID of the subscriber prepaid package to adapt
newLimits.dataByte Mandatory The new limit for the data volume of this package, in bytes. Set to null to leave unchanged.
newLimits.mocSecond Mandatory The new limit for the MO calls of this package, in minutes. Set to null to leave unchanged.
newLimits.mtcSecond Mandatory The new limit for the MT calls of this package, in minutes. Set to null to leave unchanged.
newLimits.moSms Mandatory The new limit for the MO SMS of this package, in number of SMS. Set to null to leave unchanged.
newLimits.mtSms Mandatory The new limit for the MT SMS of this package, number of SMS. Set to null to leave unchanged.
comment Optional A description giving information about the reason of this adjustment

Request

{
  "modifySubscriberPrepaidPackageLimits" : {
    "packageId" : 123,
    "newLimits" : {
      "dataByte" : 1073741824,
      "mocSecond" : 60,
      "mtcSecond" : 90,
      "moSms" : 100,
      "mtSms" : 200
    },
    "comment" : "Optional comment"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.5 modifySubscriberPrepaidPackageExpDate

Description

This request can be used to adapt the expiration date of a subscriber prepaid package.

You can provide either a new expiration date, or you can provide new validity duration. You can provide an new validity duration no matter if the package has been activated or not. You can provide a new expiration date only if an expiration date already exist (package has been activated, or package will be active in the future but start and exp. date already provided).

This request is logged in the system DB and you can see them in the UI, in the Subscriber prepaid package -> History tab.

Inputs

Parameter Presence Description
packageId Mandatory The ID of the subscriber prepaid package to adapt.
newValidityDuration Optional The new number of days for the validity duration. The new expiration date will be calculated as following, start validity date plus newValidityDuration days.
newExpirationDate Optional The new expiration date for the subscriber prepaid package. Package cannot be active.

3.5.1 Change expiration date

Request

{
  "modifySubscriberPrepaidPackageExpDate" : {
    "packageId" : 123,
    "newExpirationDate" : "2026-03-10T15:39:55"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.5.2 Change validity duration

Request

{
  "modifySubscriberPrepaidPackageExpDate" : {
    "packageId" : 123,
    "newValidityDuration" : 45
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.6 modifySubscriberPrepaidPackageStatus

Description

This request can be used to adapt the status of a subscriber prepaid package. You can activate or deactivate the package. A deactivated package can no longer be used by the subscriber.

This request is logged in the system DB and you can see them in the UI, in the Subscriber prepaid package -> History tab.

Inputs

Parameter Presence Description
subsPrepaidPackageId Mandatory The ID of the subscriber prepaid package to adapt.
active Mandatory true => prepaid package is active, false => prepaid package is blocked.

Request

{
  "modifySubscriberPrepaidPackageStatus" : {
    "subsPrepaidPackageId" : 123,
    "active" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.7 stopResumeSubsRecurringPackage

Description

This request can be used to stop or resume a recurring package. If you stop a recurring package, the subscriber will stop receiving packages for this recurring package. If you resume a stopped recurring package, the subscriber will receive again its packages.

You can use this request to stop/resume: 1. A specific recurring package of a subscriber. In this case you need to provide the field recurringId. 2. All the recurring packages of a specific subscriber. In this case you need to provide the field subscriberId. 3. All the recurring packages, of all the subscriber, of a specific template. In this case you need to provide the field templateId.

Please note that to get the recurring packages of a subscriber, you need to use the version 2 of the list subscriber prepaid packages request= listSubscriberPrepaidPackages.

Inputs

Parameter Presence Description
recurringId Optional The ID of the recurring package you want to stop/resume. You can find it in the answer of the listSubscriberPrepaidPackages (version 2): recurring[i].id
subscriberId Optional The ID of the subscriber for which you want to stop ALL recurring packages.
templateId Optional The ID of the template for which you want to to stop ALL the instances of ALL the subscribers.
active Mandatory Flag indicating if you to stop (active=false) or resume (active=true) the recurring package(s).

3.7.1 With recurring package ID

Request

{
  "stopResumeSubsRecurringPackage" : {
    "recurringId" : 4,
    "active" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.7.2 With subscriber ID

Request

{
  "stopResumeSubsRecurringPackage" : {
    "subscriberId" : 123456789,
    "active" : false
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.7.3 With package template ID

Request

{
  "stopResumeSubsRecurringPackage" : {
    "templateId" : 123,
    "active" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.8 deleteSubscriberPackage

Description

This request can be used to delete a prepaid package of a subscriber.

Request

{
  "deleteSubscriberPackage" : 123
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.9 modifySubscriberPrepaidPackageActivePeriod

Description

This request can be used to adapt the active period (activation and expiration date) of a subscriber prepaid package configured to be activated at first use. If the package has already been activated (even if activation is in the future), the request will return an error.

This request is logged in the system DB and you can see them in the UI, in the Subscriber prepaid package -> History tab.

Inputs

Parameter Presence Description
packageId Mandatory The ID of the subscriber prepaid package to adapt.
newActivationDateUtc Mandatory The new activation date for the subscriber prepaid package.
newExpirationDateUtc Mandatory The new expiration date for the subscriber prepaid package.
comment Mandatory Some relevant comment about the active period modification. The comment will appear in package history.

Request

{
  "modifySubscriberPrepaidPackageActivePeriod" : {
    "packageId" : 123,
    "newActivationDateUtc" : "2026-02-08T15:39:55",
    "newExpirationDateUtc" : "2026-02-18T15:39:55",
    "comment" : "Some relevant comment"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.10 modifySubscriberMobilePlan

Description

This request can be used to change the Mobile plan a specific subscriber.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

If you don't provide mobilePlanId, the current mobile plan (if exist) will be removed from the subscriber.

3.10.1 By subscriber ID

Request

{
  "modifySubscriberMobilePlan" : {
    "subscriberId" : {
      "subscriberId" : 1000
    },
    "mobilePlanId" : 10
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.10.2 By IMSI

Request

{
  "modifySubscriberMobilePlan" : {
    "subscriberId" : {
      "imsi" : "12345678901234"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.10.3 By ICCID

Request

{
  "modifySubscriberMobilePlan" : {
    "subscriberId" : {
      "iccid" : "123456789012345678"
    },
    "mobilePlanId" : 10
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.10.4 By MSISDN

Request

{
  "modifySubscriberMobilePlan" : {
    "subscriberId" : {
      "msisdn" : "123456789123"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.10.5 By multi imsi

Request

{
  "modifySubscriberMobilePlan" : {
    "subscriberId" : {
      "multiImsi" : "12345678901234"
    },
    "mobilePlanId" : 10
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.10.6 By Activation code

Request

{
  "modifySubscriberMobilePlan" : {
    "subscriberId" : {
      "activationCode" : "Activation code"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

3.11 modifySubscriberVoipPlan

Description

This request can be used to change the VoIP plan a specific subscriber.

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

If you don't provide voipPlanId, the current VoIP plan (if exist) will be removed from the subscriber.

3.11.1 By subscriber ID

Request

{
  "modifySubscriberVoipPlan" : {
    "subscriberId" : {
      "subscriberId" : 1000
    },
    "voipPlanId" : 12
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.11.2 By IMSI

Request

{
  "modifySubscriberVoipPlan" : {
    "subscriberId" : {
      "imsi" : "12345678901234"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.11.3 By ICCID

Request

{
  "modifySubscriberVoipPlan" : {
    "subscriberId" : {
      "iccid" : "123456789012345678"
    },
    "voipPlanId" : 12
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.11.4 By MSISDN

Request

{
  "modifySubscriberVoipPlan" : {
    "subscriberId" : {
      "msisdn" : "123456789123"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.11.5 By multi imsi

Request

{
  "modifySubscriberVoipPlan" : {
    "subscriberId" : {
      "multiImsi" : "12345678901234"
    },
    "voipPlanId" : 12
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

3.11.6 By Activation code

Request

{
  "modifySubscriberVoipPlan" : {
    "subscriberId" : {
      "activationCode" : "Activation code"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

4. Prepaid package template

4.1 listPrepaidPackageTemplate

Description

This request can be used to list your prepaid package templates. You have several keys to search the templates: - Reseller: the request will return all the templates of the reseller. - Location zone: the request wil return all templates linked to that particular location zone. - Sponsor: The request will list all your templates linked to that particular sponsor. - Template: By providing a template id you will retrieve this template.

You can also send the request without any search keys. In this case the request will return all your templates.

4.1.1 By template Id

Request

{
  "listPrepaidPackageTemplate" : {
    "templateId" : 1
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listPrepaidPackageTemplate" : {
    "template" : [ {
      "sponsors" : {
        "sponsorid" : 1,
        "sponsorname" : "PDEL-Spons-Display",
        "displayname" : "PDEL-Spons-Display"
      },
      "reseller" : {
        "resellerid" : 1,
        "resellername" : "PDEL Reseller"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 21,
        "locationzonename" : "PDEL - Spain"
      },
      "prepaidpackagetemplateid" : 1204,
      "prepaidpackagetemplatename" : "PDEL - Spain 10Gb",
      "resellerid" : 1,
      "priority" : 1,
      "locationzoneid" : 21,
      "databyte" : 10737418240,
      "perioddays" : 30,
      "deleted" : false,
      "esimSponsor" : 1,
      "cost" : 66.0,
      "uiStartAvailablePeriod" : "2022-03-01T17:18:00",
      "uiEndAvailibilityPeriod" : "2022-06-15T17:18:00",
      "uiVisible" : false,
      "userUiName" : "Spain_10Gb"
    }, {
      "rdbDestinationZones" : {
        "destinationzoneid" : 1,
        "destinationzonename" : "PDEL Test - 7"
      },
      "reseller" : {
        "resellerid" : 1,
        "resellername" : "PDEL Reseller"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 2,
        "locationzonename" : "PDEL - Belgium"
      },
      "prepaidpackagetemplateid" : 1207,
      "prepaidpackagetemplatename" : "blalbla",
      "resellerid" : 1,
      "priority" : 1,
      "locationzoneid" : 2,
      "destinationzoneid" : 1,
      "databyte" : 10737418240,
      "perioddays" : 30,
      "deleted" : false,
      "cost" : 50.0,
      "uiStartAvailablePeriod" : "2022-09-24T11:30:00",
      "uiEndAvailibilityPeriod" : "2022-09-30T11:30:00",
      "uiVisible" : false,
      "userUiName" : "blalbla"
    }, {
      "rdbDestinationZones" : {
        "destinationzoneid" : 1,
        "destinationzonename" : "PDEL Test - 7"
      },
      "sponsors" : {
        "sponsorid" : 1,
        "sponsorname" : "PDEL-Spons-Display",
        "displayname" : "PDEL-Spons-Display"
      },
      "reseller" : {
        "resellerid" : 1,
        "resellername" : "PDEL Reseller"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 2,
        "locationzonename" : "PDEL - Belgium"
      },
      "prepaidpackagetemplateid" : 1224,
      "prepaidpackagetemplatename" : "Denis Belgium 20 GB",
      "resellerid" : 1,
      "priority" : 1,
      "locationzoneid" : 2,
      "destinationzoneid" : 1,
      "databyte" : 21474836480,
      "mocsecond" : 3600,
      "mtcsecond" : 3600,
      "mosmsnumber" : 100,
      "mtsmsnumber" : 200,
      "perioddays" : 30,
      "deleted" : false,
      "esimSponsor" : 1,
      "cost" : 24.0,
      "uiStartAvailablePeriod" : "2022-03-01T17:18:00",
      "uiEndAvailibilityPeriod" : "2022-06-15T17:18:00",
      "uiVisible" : false,
      "userUiName" : "Denis_Belgium_20GB"
    }, {
      "rdbDestinationZones" : {
        "destinationzoneid" : 5,
        "destinationzonename" : "Denis Destination list"
      },
      "sponsors" : {
        "sponsorid" : 104,
        "sponsorname" : "SP04",
        "displayname" : "SP04"
      },
      "reseller" : {
        "resellerid" : 1,
        "resellername" : "PDEL Reseller"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "prepaidpackagetemplateid" : 2214,
      "prepaidpackagetemplatename" : "Denis Italy",
      "resellerid" : 1,
      "priority" : 1,
      "locationzoneid" : 27,
      "destinationzoneid" : 5,
      "databyte" : 1073741824,
      "perioddays" : 10,
      "deleted" : false,
      "esimSponsor" : 104,
      "cost" : 9.99,
      "uiStartAvailablePeriod" : "2022-06-20T16:47:41",
      "uiVisible" : false
    } ]
  }
}

4.1.2 By reseller

Request

{
  "listPrepaidPackageTemplate" : {
    "resellerId" : 1
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listPrepaidPackageTemplate" : {
    "template" : [ {
      "rdbDestinationZones" : {
        "destinationzoneid" : 1,
        "destinationzonename" : "PDEL Test - 7"
      },
      "sponsors" : {
        "sponsorid" : 1,
        "sponsorname" : "PDEL-Spons-Display",
        "displayname" : "PDEL-Spons-Display"
      },
      "reseller" : {
        "resellerid" : 1,
        "resellername" : "PDEL Reseller"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 18,
        "locationzonename" : "PDEL - France"
      },
      "prepaidpackagetemplateid" : 1225,
      "prepaidpackagetemplatename" : "France PDEL Denis New",
      "resellerid" : 1,
      "priority" : 1,
      "locationzoneid" : 18,
      "destinationzoneid" : 1,
      "databyte" : 21474836480,
      "mocsecond" : 3600,
      "mtcsecond" : 3600,
      "mosmsnumber" : 100,
      "mtsmsnumber" : 200,
      "perioddays" : 20,
      "deleted" : false,
      "esimSponsor" : 1,
      "cost" : 25.0,
      "uiStartAvailablePeriod" : "2022-06-20T16:47:41",
      "uiVisible" : false,
      "userUiName" : "France PDEL Denis New 20Gb"
    } ]
  }
}

4.1.3 By sponsor

Request

{
  "listPrepaidPackageTemplate" : {
    "sponsorId" : 1
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

4.1.4 By location zone

Request

{
  "listPrepaidPackageTemplate" : {
    "locationZoneId" : 1
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

4.1.5 By destination list

Request

{
  "listPrepaidPackageTemplate" : {
    "destinationListId" : 1207
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

4.1.6 No search keys

Request

{
  "listPrepaidPackageTemplate" : { }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

4.2 listLocationZoneElement

Description

This request can be used to list the operators composing a specific location zone.

Request

{
  "listLocationZoneElement" : 1
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listLocationZoneElement" : {
    "operator" : [ {
      "networkId" : 769,
      "continent" : "Asia",
      "countryCode" : 79,
      "countryName" : "Russian Federation",
      "countryIso2" : "ru",
      "utcOffset" : "+03:00",
      "operatorName" : "OJSC MegaFon",
      "mccMncs" : [ {
        "mcc" : "250",
        "mnc" : "02"
      } ],
      "tadigs" : [ "RUSNW" ]
    } ]
  }
}

Remark(s)

4.3 listDestinationListPrefix

Description

This request can be used to list the prefix(es) of a specific destination list.

Request

{
  "listDestinationListPrefix" : 1
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listDestinationListPrefix" : {
    "prefixes" : [ "12", "32", "7" ],
    "resellerId" : 1,
    "listId" : 1,
    "listName" : "Test - 7"
  }
}

Remark(s)

4.4 listDetailedLocationZone

Description

This request can be used to list all the 'Location zone' of a reseller (customer). This request is returning the complete list operator (including MCC-MNC and TADIGs) for each zone.

Inputs

Parameter Presence Description
listDetailedLocationZone Mandatory ID of the reseller for which to list the location zones

Request

{
  "listDetailedLocationZone" : 1
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listDetailedLocationZone" : [ {
    "zoneId" : 27,
    "zoneName" : "PDEL - Test eSIM",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    },
    "operators" : [ {
      "networkId" : 477,
      "continent" : "Europe",
      "countryCode" : 39,
      "countryName" : "Italy",
      "countryIso2" : "it",
      "utcOffset" : "+01:00",
      "operatorName" : "H3G S p A ",
      "mccMncs" : [ {
        "mcc" : "222",
        "mnc" : "99"
      } ],
      "tadigs" : [ "ITAH3" ]
    }, {
      "networkId" : 79,
      "continent" : "Europe",
      "countryCode" : 32,
      "countryName" : "Belgium",
      "countryIso2" : "be",
      "utcOffset" : "+01:00",
      "operatorName" : "Proximus PLC",
      "mccMncs" : [ {
        "mcc" : "206",
        "mnc" : "01"
      } ],
      "tadigs" : [ "BELTB" ]
    } ]
  }, {
    "zoneId" : 1121,
    "zoneName" : "TEST_LZ",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    },
    "operators" : [ {
      "networkId" : 769,
      "continent" : "Asia",
      "countryCode" : 7,
      "countryName" : "Russian Federation",
      "countryIso2" : "ru",
      "utcOffset" : "+03:00",
      "operatorName" : "OJSC MegaFon",
      "mccMncs" : [ {
        "mcc" : "250",
        "mnc" : "02"
      } ],
      "tadigs" : [ "RUSNW" ]
    } ]
  } ]
}

Remark(s)

4.5 listDetailedDestinationList

Description

This request can be used to list all the 'Destination list' of a reseller (customer). The request returns the list of prefixes configured in each list.

Inputs

Parameter Presence Description
listDetailedDestinationList Mandatory ID of the reseller for which to list the destination list

Request

{
  "listDetailedDestinationList" : 1
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listDetailedDestinationList" : [ {
    "listId" : 5,
    "listName" : "Denis Destination list",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    },
    "prefixes" : [ "665", "7" ]
  }, {
    "listId" : 6,
    "listName" : "Denis new List",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    },
    "prefixes" : [ "343" ]
  }, {
    "listId" : 7,
    "listName" : "dddd",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    }
  }, {
    "listId" : 11,
    "listName" : "Denis Super Destination",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    },
    "prefixes" : [ "346", "666" ]
  }, {
    "listId" : 12,
    "listName" : "Dest list 1",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    },
    "prefixes" : [ "12", "641" ]
  }, {
    "listId" : 14,
    "listName" : "PDEL Destination list",
    "reseller" : {
      "id" : 1,
      "name" : "PDEL Reseller"
    },
    "prefixes" : [ "113", "99" ]
  } ]
}

Remark(s)

4.6 createPrepaidPackageTemplate

Description

This request can be used to create a prepaid package template.

REMARK: If reseller is configured to use a single counter for MOC and MTC for its packages, MOC counter mocsecond needs to contain the value for MOC and MTC.

Please refer to eSIM Tech User guide ( available from eSIM Tech UI) for a full description of the recurring and throttling features.

Inputs

Parameter Presence Description
prepaidpackagetemplatename Mandatory The name of the template to create.
resellerid Mandatory ID of the reseller to which the template will belong.
locationzoneid Mandatory ID of the 'Location zone' for this template. See listDetailedLocationZone.
destinationzoneid Optional ID of the 'Destination list' for this template. See listDetailedDestinationList.
databyte Optional Maximum volume for packages instantiated from this template.
mocsecond Optional Maximum MOC seconds for packages instantiated from this template.
mtcsecond Optional Maximum MTC seconds for packages instantiated from this template.
mosmsnumber Optional Maximum number of MO-SMS for packages instantiated from this template.
mtsmsnumber Optional Maximum number of MT-SMS for packages instantiated from this template.
perioddays Mandatory Duration (in days) of the validity period for packages instantiated from this template.
cost Optional Informative field you can use to store the price you're selling packages issued from this template.
throttlingActive Mandatory Indicates if the throttling feature is active for this template.
throttlingThreshold1Perc Optional First threshold for throttling, in percentage of the total volume of the package. See possible values in below remarks.
throttlingThreshold1Limit Optional Limit to apply when the subscriber is crossing the first threshold.
throttlingThreshold2Perc Optional Second threshold for throttling, in percentage of the total volume of the package. See possible values in below remarks.
throttlingThreshold2Limit Optional Limit to apply when the subscriber is crossing the second threshold.
throttlingThreshold3Perc Optional Third threshold for throttling, in percentage of the total volume of the package. See possible values in below remarks.
throttlingThreshold3Limit Optional Limit to apply when the subscriber is crossing the third threshold.
throttlingThreshold4Perc Optional Fourth threshold for throttling, in percentage of the total volume of the package. See possible values in below remarks.
throttlingThreshold4Limit Optional Limit to apply when the subscriber is crossing the fourth threshold.
throttlingErrorAction Optional What is happening to the package if the throttling request failed to reach the subscriber. Possible values are: 0=User can continue to use the template (no speed limitation), 1=Package is blocked and user cannot use it anymore.
recurring Mandatory Indicates if the recurring feature is active for this template.
nbOccurrence Optional Indicates the max number of package to give to the subscriber.
recurringPeriodicityType Optional Recurring periodicity type. Possible values: 0=Daily, 1=Weekly, 2=Monthly.
recurringPeriodicityFrequency Optional Along with recurringPeriodicityType will determine the frequency at which the subscriber will receive its packages. For example recurringPeriodicityType=0 and recurringPeriodicityFrequency=2, the subscriber is going to receive a package every 2 days.
reportUnitsPreviousPackage Optional When creating a new package for a subscriber, indicated if the remaining units of the previous packages needs to be reported (added to the new packages).

Request

{
  "createPrepaidPackageTemplate" : {
    "prepaidpackagetemplatename" : "Name",
    "resellerid" : 123,
    "locationzoneid" : 123,
    "destinationzoneid" : 123,
    "databyte" : 10000000,
    "mocsecond" : 60,
    "mtcsecond" : 90,
    "mosmsnumber" : 100,
    "mtsmsnumber" : 120,
    "perioddays" : 45,
    "cost" : 15.5,
    "throttlingActive" : true,
    "throttlingThreshold1Perc" : 60,
    "throttlingThreshold1Limit" : 128,
    "throttlingThreshold2Perc" : 70,
    "throttlingThreshold2Limit" : 256,
    "throttlingThreshold3Perc" : 80,
    "throttlingThreshold3Limit" : 512,
    "throttlingThreshold4Perc" : 90,
    "throttlingThreshold4Limit" : 1024,
    "throttlingErrorAction" : 1,
    "recurring" : true,
    "nbOccurrence" : 12,
    "recurringPeriodicityType" : 2,
    "recurringPeriodicityFrequency" : 12,
    "reportUnitsPreviousPackage" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "createPrepaidPackageTemplate" : {
    "rdbDestinationZones" : {
      "destinationzoneid" : 5,
      "destinationzonename" : "Denis Destination list"
    },
    "prepaidpackagetemplateid" : 9359,
    "prepaidpackagetemplatename" : "Name",
    "resellerid" : 1,
    "priority" : 1,
    "locationzoneid" : 27,
    "destinationzoneid" : 5,
    "databyte" : 10000000,
    "mocsecond" : 60,
    "mtcsecond" : 90,
    "mosmsnumber" : 100,
    "mtsmsnumber" : 120,
    "perioddays" : 45,
    "deleted" : false,
    "esimSponsor" : 102,
    "cost" : 15.5,
    "uiVisible" : false,
    "throttlingActive" : true,
    "throttlingThreshold1Perc" : 60,
    "throttlingThreshold1Limit" : 128,
    "throttlingThreshold2Perc" : 70,
    "throttlingThreshold2Limit" : 256,
    "throttlingThreshold3Perc" : 80,
    "throttlingThreshold3Limit" : 512,
    "throttlingThreshold4Perc" : 90,
    "throttlingThreshold4Limit" : 1024,
    "throttlingErrorAction" : 1,
    "recurring" : true,
    "nbOccurrence" : 12,
    "recurringPeriodicityType" : 2,
    "recurringPeriodicityFrequency" : 12,
    "reportUnitsPreviousPackage" : true,
    "resellerName" : "PDEL Reseller",
    "sponsorName" : "SP02",
    "zone" : {
      "locationZoneId" : 27,
      "locationZoneName" : "PDEL - Test eSIM",
      "countryList" : [ {
        "continent" : "Europe",
        "countryId" : 21,
        "countryName" : "Belgium",
        "countryIso2" : "be",
        "countryCode" : 32
      }, {
        "continent" : "Europe",
        "countryId" : 100,
        "countryName" : "Italy",
        "countryIso2" : "it",
        "countryCode" : 39
      } ],
      "operatorList" : [ {
        "operId" : 477,
        "operatorName" : "H3G S p A ",
        "tadigList" : [ "ITAH3" ],
        "mccMncList" : [ "222-99" ],
        "countryId" : 100
      }, {
        "operId" : 79,
        "operatorName" : "Proximus PLC",
        "tadigList" : [ "BELTB" ],
        "mccMncList" : [ "206-01" ],
        "countryId" : 21
      } ]
    },
    "useSingleCounterForCall" : true
  }
}

Remark(s)

4.7 modifyPPTCore

Description

This request can be used to modify a prepaid package template.

REMARK: If reseller is configured to use a single counter for MOC and MTC for its packages, MOC counter mocsecond needs to contain the value for MOC and MTC.

Please refer to eSIM Tech User guide ( available from eSIM Tech UI) for a full description of the recurring and throttling features.

Inputs

Parameter Presence Description
prepaidpackagetemplatename Mandatory The name of the template to create.
resellerid Mandatory ID of the reseller to which the template will belong.
locationzoneid Mandatory ID of the 'Location zone' for this template. See listDetailedLocationZone.
destinationzoneid Optional ID of the 'Destination list' for this template. See listDetailedDestinationList.
databyte Optional Maximum volume for packages instantiated from this template.
mocsecond Optional Maximum MOC seconds for packages instantiated from this template.
mtcsecond Optional Maximum MTC seconds for packages instantiated from this template.
mosmsnumber Optional Maximum number of MO-SMS for packages instantiated from this template.
mtsmsnumber Optional Maximum number of MT-SMS for packages instantiated from this template.
perioddays Mandatory Duration (in days) of the validity period for packages instantiated from this template.
cost Optional Informative field you can use to store the price you're selling packages issued from this template.
changeSponsor Optional Must be present and true if you want to configure a location from another sponsor.

Request

{
  "modifyPPTCore" : {
    "prepaidpackagetemplateid" : 123,
    "prepaidpackagetemplatename" : "Name",
    "resellerid" : 123,
    "locationzoneid" : 123,
    "destinationzoneid" : 123,
    "databyte" : 10000000,
    "mocsecond" : 60,
    "mtcsecond" : 90,
    "mosmsnumber" : 100,
    "mtsmsnumber" : 120,
    "perioddays" : 45,
    "esimSponsor" : 155,
    "cost" : 15.5,
    "changeSponsor" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "modifyPrepaidPackageTemplate" : {
    "rdbDestinationZones" : {
      "destinationzoneid" : 5,
      "destinationzonename" : "Denis Destination list"
    },
    "prepaidpackagetemplateid" : 9359,
    "prepaidpackagetemplatename" : "Name 2",
    "resellerid" : 1,
    "priority" : 1,
    "locationzoneid" : 1121,
    "destinationzoneid" : 5,
    "databyte" : 100000000,
    "mocsecond" : 61,
    "mtcsecond" : 91,
    "mosmsnumber" : 101,
    "mtsmsnumber" : 1201,
    "perioddays" : 30,
    "deleted" : false,
    "cost" : 25.5,
    "uiVisible" : false,
    "throttlingActive" : true,
    "throttlingThreshold1Perc" : 75,
    "throttlingThreshold1Limit" : 128,
    "throttlingThreshold2Perc" : 95,
    "throttlingThreshold2Limit" : 256,
    "throttlingErrorAction" : 1,
    "recurring" : true,
    "nbOccurrence" : 15,
    "recurringPeriodicityType" : 1,
    "recurringPeriodicityFrequency" : 10,
    "reportUnitsPreviousPackage" : true,
    "resellerName" : "PDEL Reseller",
    "sponsorName" : "SP01",
    "zone" : {
      "locationZoneId" : 1121,
      "locationZoneName" : "TEST_LZ",
      "countryList" : [ {
        "continent" : "Asia",
        "countryId" : 168,
        "countryName" : "Russian Federation",
        "countryIso2" : "ru",
        "countryCode" : 7
      } ],
      "operatorList" : [ {
        "operId" : 769,
        "operatorName" : "OJSC MegaFon",
        "tadigList" : [ "RUSNW" ],
        "mccMncList" : [ "250-02" ],
        "countryId" : 168
      } ]
    },
    "useSingleCounterForCall" : false
  }
}

4.8 modifyPPTRecurring

Description

This request can be used to modify the recurring configuration of a prepaid package template.

Please refer to eSIM Tech User guide ( available from eSIM Tech UI) for a full description of the recurring and throttling features.

Please note: - If You de-activate "Recurring", the subscribers having instance of this template will stop receiving new packages. - Modification of recurringPeriodicityFrequency, recurringPeriodicityType and nbOccurrence WILL NOT AFFECT subscribers having instance of this template.

Inputs

Parameter Presence Description
recurring Mandatory Indicates if the recurring feature is active for this template.
nbOccurrence Optional Indicates the max number of package to give to the subscriber.
recurringPeriodicityType Optional Recurring periodicity type. Possible values: 0=Daily, 1=Weekly, 2=Monthly.
recurringPeriodicityFrequency Optional Along with recurringPeriodicityType will determine the frequency at which the subscriber will receive its packages. For example recurringPeriodicityType=0 and recurringPeriodicityFrequency=2, the subscriber is going to receive a package every 2 days.
reportUnitsPreviousPackage Optional When creating a new package for a subscriber, indicated if the remaining units of the previous packages needs to be reported (added to the new packages).

Request

{
  "modifyPPTRecurring" : {
    "prepaidpackagetemplateid" : 123,
    "recurring" : true,
    "nbOccurrence" : 12,
    "recurringPeriodicityType" : 2,
    "recurringPeriodicityFrequency" : 12,
    "reportUnitsPreviousPackage" : true
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "modifyPrepaidPackageTemplate" : {
    "rdbDestinationZones" : {
      "destinationzoneid" : 5,
      "destinationzonename" : "Denis Destination list"
    },
    "prepaidpackagetemplateid" : 9359,
    "prepaidpackagetemplatename" : "Name",
    "resellerid" : 1,
    "priority" : 1,
    "locationzoneid" : 27,
    "destinationzoneid" : 5,
    "databyte" : 10000000,
    "mocsecond" : 60,
    "mtcsecond" : 90,
    "mosmsnumber" : 100,
    "mtsmsnumber" : 120,
    "perioddays" : 45,
    "deleted" : false,
    "esimSponsor" : 102,
    "cost" : 15.5,
    "uiVisible" : false,
    "throttlingActive" : true,
    "throttlingThreshold1Perc" : 70,
    "throttlingThreshold1Limit" : 256,
    "throttlingThreshold2Perc" : 90,
    "throttlingThreshold2Limit" : 128,
    "throttlingErrorAction" : 1,
    "recurring" : true,
    "nbOccurrence" : 12,
    "recurringPeriodicityType" : 2,
    "recurringPeriodicityFrequency" : 12,
    "reportUnitsPreviousPackage" : true,
    "resellerName" : "PDEL Reseller",
    "sponsorName" : "SP02",
    "zone" : {
      "locationZoneId" : 27,
      "locationZoneName" : "PDEL - Test eSIM",
      "countryList" : [ {
        "continent" : "Europe",
        "countryId" : 21,
        "countryName" : "Belgium",
        "countryIso2" : "be",
        "countryCode" : 32
      }, {
        "continent" : "Europe",
        "countryId" : 100,
        "countryName" : "Italy",
        "countryIso2" : "it",
        "countryCode" : 39
      } ],
      "operatorList" : [ {
        "operId" : 477,
        "operatorName" : "H3G S p A ",
        "tadigList" : [ "ITAH3" ],
        "mccMncList" : [ "222-99" ],
        "countryId" : 100
      }, {
        "operId" : 79,
        "operatorName" : "Proximus PLC",
        "tadigList" : [ "BELTB" ],
        "mccMncList" : [ "206-01" ],
        "countryId" : 21
      } ]
    },
    "useSingleCounterForCall" : true
  }
}

Remark(s)

4.9 modifyPPTThrottling

Description

This request can be used to modify the throttling configuration a prepaid package template. Please refer to eSIM Tech User guide ( available from eSIM Tech UI) for a full description of the recurring and throttling features.

Inputs

Parameter Presence Description
throttlingActive Mandatory Indicates if the throttling feature is active for this template.
throttlingThreshold1Perc Optional First threshold for throttling, in percentage of the total volume of the package. See possible values in below remarks.
throttlingThreshold1Limit Optional Limit to apply when the subscriber is crossing the first threshold.
throttlingThreshold2Perc Optional Second threshold for throttling, in percentage of the total volume of the package. See possible values in below remarks.
throttlingThreshold2Limit Optional Limit to apply when the subscriber is crossing the second threshold.
throttlingErrorAction Optional What is happening to the package if the throttling request failed to reach the subscriber. Possible values are: 0=User can continue to use the template (no speed limitation), 1=Package is blocked and user cannot use it anymore.

Request

{
  "modifyPPTThrottling" : {
    "prepaidpackagetemplateid" : 123,
    "throttlingActive" : true,
    "throttlingThreshold1Perc" : 70,
    "throttlingThreshold1Limit" : 256,
    "throttlingThreshold2Perc" : 90,
    "throttlingThreshold2Limit" : 128,
    "throttlingErrorAction" : 1
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "modifyPrepaidPackageTemplate" : {
    "rdbDestinationZones" : {
      "destinationzoneid" : 5,
      "destinationzonename" : "Denis Destination list"
    },
    "prepaidpackagetemplateid" : 9359,
    "prepaidpackagetemplatename" : "Name",
    "resellerid" : 1,
    "priority" : 1,
    "locationzoneid" : 27,
    "destinationzoneid" : 5,
    "databyte" : 10000000,
    "mocsecond" : 60,
    "mtcsecond" : 90,
    "mosmsnumber" : 100,
    "mtsmsnumber" : 120,
    "perioddays" : 45,
    "deleted" : false,
    "esimSponsor" : 102,
    "cost" : 15.5,
    "uiVisible" : false,
    "throttlingActive" : true,
    "throttlingThreshold1Perc" : 70,
    "throttlingThreshold1Limit" : 256,
    "throttlingThreshold2Perc" : 90,
    "throttlingThreshold2Limit" : 128,
    "throttlingErrorAction" : 1,
    "recurring" : true,
    "nbOccurrence" : 12,
    "recurringPeriodicityType" : 2,
    "recurringPeriodicityFrequency" : 12,
    "reportUnitsPreviousPackage" : true,
    "resellerName" : "PDEL Reseller",
    "sponsorName" : "SP02",
    "zone" : {
      "locationZoneId" : 27,
      "locationZoneName" : "PDEL - Test eSIM",
      "countryList" : [ {
        "continent" : "Europe",
        "countryId" : 21,
        "countryName" : "Belgium",
        "countryIso2" : "be",
        "countryCode" : 32
      }, {
        "continent" : "Europe",
        "countryId" : 100,
        "countryName" : "Italy",
        "countryIso2" : "it",
        "countryCode" : 39
      } ],
      "operatorList" : [ {
        "operId" : 477,
        "operatorName" : "H3G S p A ",
        "tadigList" : [ "ITAH3" ],
        "mccMncList" : [ "222-99" ],
        "countryId" : 100
      }, {
        "operId" : 79,
        "operatorName" : "Proximus PLC",
        "tadigList" : [ "BELTB" ],
        "mccMncList" : [ "206-01" ],
        "countryId" : 21
      } ]
    },
    "useSingleCounterForCall" : true
  }
}

Remark(s)

5. Tariff

5.1 listResellerTariff

Description

This request can be used to list the reseller (customer) tariffs (the cost for the customer). You can list them all, or just the ones of a specific reseller.

5.1.1 By reseller

Request

{
  "listResellerTariff" : {
    "resellerId" : 1
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listResellerTariff" : {
    "tariff" : [ {
      "resellers" : {
        "resellerid" : 1,
        "resellername" : "Test Reseller"
      },
      "roamingplanid" : 1,
      "roamingplanname" : "Test - ResellerAccount",
      "defaultoutgoingvoice" : 0.0,
      "defaultterminatedvoice" : 0.0,
      "defaulttext" : 0.0,
      "defaultdata" : 0.0,
      "resellerid" : 1,
      "defaultmtsms" : 0.0,
      "currencyid" : 1,
      "isusedefaultprices" : false,
      "tariffType" : "RESELLER"
    } ]
  }
}

5.1.2 No search keys

Request

{
  "listResellerTariff" : { }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listResellerTariff" : {
    "tariff" : [ {
      "resellers" : {
        "resellerid" : 1,
        "resellername" : "Test Reseller"
      },
      "roamingplanid" : 1,
      "roamingplanname" : "Test - ResellerAccount",
      "defaultoutgoingvoice" : 0.0,
      "defaultterminatedvoice" : 0.0,
      "defaulttext" : 0.0,
      "defaultdata" : 0.0,
      "resellerid" : 1,
      "defaultmtsms" : 0.0,
      "currencyid" : 1,
      "isusedefaultprices" : false,
      "tariffType" : "RESELLER"
    } ]
  }
}

Remark(s)

5.2 listSubscriberTariff

Description

This request can be used to list the subscriber tariffs. The ones used by a customer to charge its subscribers. You can list them all, or just the ones of a specific reseller.

5.2.1 By reseller

Request

{
  "listSubscriberTariff" : {
    "resellerId" : 1
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberTariff" : {
    "tariff" : [ {
      "resellers" : {
        "resellerid" : 1,
        "resellername" : "Test Reseller"
      },
      "roamingplanid" : 4,
      "roamingplanname" : "Test - Account",
      "defaultoutgoingvoice" : 0.0,
      "defaultterminatedvoice" : 0.0,
      "defaulttext" : 0.0,
      "defaultdata" : 0.0,
      "resellerid" : 1,
      "defaultmtsms" : 0.0,
      "currencyid" : 1,
      "isusedefaultprices" : false,
      "tariffType" : "SUBSCRIBER"
    }, {
      "resellers" : {
        "resellerid" : 1,
        "resellername" : "Test Reseller"
      },
      "roamingplanid" : 10,
      "roamingplanname" : "Test - For Subs",
      "defaultoutgoingvoice" : 0.0,
      "defaultterminatedvoice" : 0.0,
      "defaulttext" : 0.0,
      "defaultdata" : 0.0,
      "resellerid" : 1,
      "defaultmtsms" : 0.0,
      "currencyid" : 1,
      "isusedefaultprices" : false,
      "tariffType" : "SUBSCRIBER"
    } ]
  }
}

5.2.2 No search keys

Request

{
  "listSubscriberTariff" : { }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberTariff" : {
    "tariff" : [ {
      "resellers" : {
        "resellerid" : 1,
        "resellername" : "Test Reseller"
      },
      "roamingplanid" : 4,
      "roamingplanname" : "Test - Account",
      "defaultoutgoingvoice" : 0.0,
      "defaultterminatedvoice" : 0.0,
      "defaulttext" : 0.0,
      "defaultdata" : 0.0,
      "resellerid" : 1,
      "defaultmtsms" : 0.0,
      "currencyid" : 1,
      "isusedefaultprices" : false,
      "tariffType" : "SUBSCRIBER"
    }, {
      "resellers" : {
        "resellerid" : 1,
        "resellername" : "Test Reseller"
      },
      "roamingplanid" : 10,
      "roamingplanname" : "Test - For Subs",
      "defaultoutgoingvoice" : 0.0,
      "defaultterminatedvoice" : 0.0,
      "defaulttext" : 0.0,
      "defaultdata" : 0.0,
      "resellerid" : 1,
      "defaultmtsms" : 0.0,
      "currencyid" : 1,
      "isusedefaultprices" : false,
      "tariffType" : "SUBSCRIBER"
    } ]
  }
}

Remark(s)

5.3 listTariffRule

Description

This request can be used to list the rules (costs) of a specific tariff.

Request

{
  "listTariffRule" : 1
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listTariffRule" : {
    "rule" : [ {
      "operator" : {
        "networkId" : 79,
        "continent" : "Europe",
        "countryCode" : 32,
        "countryName" : "Belgium",
        "countryIso2" : "be",
        "utcOffset" : "+01:00",
        "operatorName" : "Proximus PLC",
        "mccMncs" : [ {
          "mcc" : "206",
          "mnc" : "01"
        } ],
        "tadigs" : [ "BELTB" ]
      },
      "currency" : {
        "currencyid" : 1,
        "currencycode" : "EUR",
        "currencyname" : "Euro"
      },
      "roamingplanruleid" : 7198,
      "roamingplanid" : 1,
      "networkid" : 79,
      "sponsoridx" : -1,
      "active" : true,
      "mocallrate" : 2.0,
      "mtcallrate" : 2.0,
      "mosmsrate" : 2.0,
      "mtsmsrate" : 2.0,
      "datarate" : 2.0,
      "currencyid" : 1,
      "startdate" : "2021-11-16T08:16:49",
      "isDiscounted" : true,
      "hidden" : false,
      "dailyCap" : false
    }, {
      "operator" : {
        "networkId" : 477,
        "continent" : "Europe",
        "countryCode" : 39,
        "countryName" : "Italy",
        "countryIso2" : "it",
        "utcOffset" : "+01:00",
        "operatorName" : "H3G S p A ",
        "mccMncs" : [ {
          "mcc" : "222",
          "mnc" : "99"
        } ],
        "tadigs" : [ "ITAH3" ]
      },
      "currency" : {
        "currencyid" : 1,
        "currencycode" : "EUR",
        "currencyname" : "Euro"
      },
      "roamingplanruleid" : 4,
      "roamingplanid" : 1,
      "networkid" : 477,
      "sponsoridx" : -1,
      "active" : true,
      "mocallrate" : 2.0,
      "mtcallrate" : 2.0,
      "mosmsrate" : 2.0,
      "mtsmsrate" : 2.0,
      "datarate" : 2.0,
      "currencyid" : 1,
      "startdate" : "2021-11-16T08:16:49",
      "isDiscounted" : true,
      "hidden" : false,
      "dailyCap" : false
    } ]
  }
}

Remark(s)

5.4 getCustomerTariff

Description

This request can be used to list the rules (costs) of the customer tariff. The tariff that is used to charge the customer.

The request takes as input the reseller ID of the customer.

Request

{
  "getCustomerTariff" : 1
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listTariffRule" : {
    "rule" : [ {
      "operator" : {
        "networkId" : 9,
        "continent" : "Europe",
        "countryCode" : 355,
        "countryName" : "Albania",
        "countryIso2" : "al",
        "utcOffset" : "+01:00",
        "operatorName" : "TELEKOM ALBANIA SH A",
        "mccMncs" : [ {
          "mcc" : "276",
          "mnc" : "01"
        } ],
        "tadigs" : [ "ALBAM" ]
      },
      "currency" : {
        "currencyid" : 1,
        "currencycode" : "EUR",
        "currencyname" : "Euro"
      },
      "sponsor" : {
        "sponsorid" : 101,
        "imsiprefix" : 24801,
        "pricingplanid" : 101,
        "sponsorname" : "Telia Estonia",
        "deleted" : false,
        "displayname" : "SP01"
      },
      "roamingplanruleid" : 9794,
      "roamingplanid" : 1,
      "networkid" : 9,
      "sponsorid" : 101,
      "sponsoridx" : 101,
      "active" : true,
      "mocallrate" : 0.429,
      "mosmsrate" : 0.033,
      "datarate" : 0.0165,
      "currencyid" : 1,
      "startdate" : "2021-12-20T00:00:00",
      "isDiscounted" : true,
      "hidden" : false,
      "dailyCap" : false
    }, {
      "operator" : {
        "networkId" : 79,
        "continent" : "Europe",
        "countryCode" : 32,
        "countryName" : "Belgium",
        "countryIso2" : "be",
        "utcOffset" : "+01:00",
        "operatorName" : "Proximus PLC",
        "mccMncs" : [ {
          "mcc" : "206",
          "mnc" : "01"
        } ],
        "tadigs" : [ "BELTB" ]
      },
      "currency" : {
        "currencyid" : 1,
        "currencycode" : "EUR",
        "currencyname" : "Euro"
      },
      "roamingplanruleid" : 7198,
      "roamingplanid" : 1,
      "networkid" : 79,
      "sponsoridx" : -1,
      "active" : true,
      "mocallrate" : 2.0,
      "mtcallrate" : 2.0,
      "mosmsrate" : 2.0,
      "mtsmsrate" : 2.0,
      "datarate" : 2.0,
      "currencyid" : 1,
      "startdate" : "2021-11-16T08:16:49",
      "isDiscounted" : true,
      "hidden" : false,
      "dailyCap" : false
    }, {
      "operator" : {
        "networkId" : 477,
        "continent" : "Europe",
        "countryCode" : 39,
        "countryName" : "Italy",
        "countryIso2" : "it",
        "utcOffset" : "+01:00",
        "operatorName" : "H3G S p A ",
        "mccMncs" : [ {
          "mcc" : "222",
          "mnc" : "99"
        } ],
        "tadigs" : [ "ITAH3" ]
      },
      "currency" : {
        "currencyid" : 1,
        "currencycode" : "EUR",
        "currencyname" : "Euro"
      },
      "roamingplanruleid" : 4,
      "roamingplanid" : 1,
      "networkid" : 477,
      "sponsoridx" : -1,
      "active" : true,
      "mocallrate" : 2.0,
      "mtcallrate" : 2.0,
      "mosmsrate" : 2.0,
      "mtsmsrate" : 2.0,
      "datarate" : 2.0,
      "currencyid" : 1,
      "startdate" : "2021-11-16T08:16:49",
      "isDiscounted" : true,
      "hidden" : false,
      "dailyCap" : false
    }, {
      "operator" : {
        "networkId" : 477,
        "continent" : "Europe",
        "countryCode" : 39,
        "countryName" : "Italy",
        "countryIso2" : "it",
        "utcOffset" : "+01:00",
        "operatorName" : "H3G S p A ",
        "mccMncs" : [ {
          "mcc" : "222",
          "mnc" : "99"
        } ],
        "tadigs" : [ "ITAH3" ]
      },
      "currency" : {
        "currencyid" : 1,
        "currencycode" : "EUR",
        "currencyname" : "Euro"
      },
      "sponsor" : {
        "sponsorid" : 1,
        "imsiprefix" : 99999,
        "pricingplanid" : 7,
        "sponsorname" : "PDEL-Spons",
        "deleted" : false,
        "displayname" : "PDEL-Spons-Display"
      },
      "roamingplanruleid" : 9790,
      "roamingplanid" : 1,
      "networkid" : 477,
      "sponsorid" : 1,
      "sponsoridx" : 1,
      "active" : true,
      "mocallrate" : 2.0,
      "mtcallrate" : 2.0,
      "mosmsrate" : 2.0,
      "mtsmsrate" : 2.0,
      "datarate" : 2.0,
      "currencyid" : 1,
      "startdate" : "2021-11-16T08:16:49",
      "isDiscounted" : true,
      "hidden" : false,
      "dailyCap" : false
    } ]
  }
}

Remark(s)

5.5 listSubscriberVoipTariff

Description

This request can be used to list all the VoIP tariffs configured for your reseller, or to list all the VoIP tariffs configured for a specific reseller.

You can get all the costs per prefix of a specific VoIP tariff with the request listVoipTariffRule.

5.5.1 All visible VoIP tariff

Request

{
  "listSubscriberVoipTariff" : { }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberVoipTariff" : [ {
    "id" : 49,
    "planName" : "TELECLUB",
    "reseller" : {
      "resellerId" : 10,
      "resellerName" : "PDEL Reseller 3"
    },
    "provider" : {
      "providerId" : 6,
      "providerName" : "DIDWW (Live)"
    },
    "deleted" : false,
    "costPlan" : false,
    "maxAllowRate" : 2.0
  }, {
    "id" : 50,
    "planName" : "ImsiMarket01",
    "reseller" : {
      "resellerId" : 10,
      "resellerName" : "PDEL Reseller 3"
    },
    "deleted" : false,
    "costPlan" : true,
    "maxAllowRate" : 2.0
  } ]
}

5.5.2 By reseller ID

Request

{
  "listSubscriberVoipTariff" : {
    "resellerId" : 49
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberVoipTariff" : [ {
    "id" : 49,
    "planName" : "TELECLUB",
    "reseller" : {
      "resellerId" : 10,
      "resellerName" : "PDEL Reseller 3"
    },
    "provider" : {
      "providerId" : 6,
      "providerName" : "DIDWW (Live)"
    },
    "deleted" : false,
    "costPlan" : false,
    "maxAllowRate" : 2.0
  } ]
}

5.6 listVoipTariffRule

Description

This request can be used to list all the costs per prefix composing a specific VoIP tariff.

The numeric value provided in the request is the VoIP tariff ID, see request listSubscriberVoipTariff.

Request

{
  "listVoipTariffRule" : 50
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listVoipTariffRule" : [ {
    "price" : 0.007425,
    "country" : "CANADA",
    "fromdate" : "2024-01-02 00:00:00",
    "prefix" : "1204"
  }, {
    "price" : 0.007425,
    "country" : "CANADA",
    "fromdate" : "2024-01-02 00:00:00",
    "prefix" : "1204555"
  }, {
    "price" : 0.00891,
    "country" : "UNITED STATES OF AMERICA",
    "fromdate" : "2024-01-02 00:00:00",
    "prefix" : "1205"
  }, {
    "price" : 0.009207,
    "country" : "UNITED STATES OF AMERICA",
    "fromdate" : "2024-01-02 00:00:00",
    "prefix" : "1205555"
  }, {
    "price" : 0.298485,
    "country" : "BELGIUM",
    "fromdate" : "2024-01-02 00:00:00",
    "prefix" : "322009"
  }, {
    "price" : 0.298485,
    "country" : "BELGIUM",
    "fromdate" : "2024-01-02 00:00:00",
    "prefix" : "322203"
  } ]
}

6. Statistics

6.1 getSubscriberActivePeriod

Description

This request can be used the active period of a subscriber by checking the subscriber usages in DB. The request will return the date of the first usage and the date of the last usage of the subscriber.

6.1.1 By subscriber ID

Request

{
  "getSubscriberActivePeriod" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSubscriberActivePeriod" : {
    "subscriberId" : 3235,
    "period" : {
      "start" : "2022-09-16T08:27:19",
      "end" : "2022-09-19T19:58:43"
    }
  }
}

6.1.2 By IMSI

Request

{
  "getSubscriberActivePeriod" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSubscriberActivePeriod" : {
    "subscriberId" : 3319
  }
}

6.1.3 By ICCID

Request

{
  "getSubscriberActivePeriod" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSubscriberActivePeriod" : {
    "subscriberId" : 3235,
    "period" : {
      "start" : "2022-09-16T08:27:19",
      "end" : "2022-09-19T19:58:43"
    }
  }
}

6.1.4 By MSISDN

Request

{
  "getSubscriberActivePeriod" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSubscriberActivePeriod" : {
    "subscriberId" : 3319
  }
}

6.1.5 By multi imsi

Request

{
  "getSubscriberActivePeriod" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSubscriberActivePeriod" : {
    "subscriberId" : 3319
  }
}

6.1.6 By Activation code

Request

{
  "getSubscriberActivePeriod" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "getSubscriberActivePeriod" : {
    "subscriberId" : 3235,
    "period" : {
      "start" : "2022-09-16T08:27:19",
      "end" : "2022-09-19T19:58:43"
    }
  }
}

Remark(s)

6.2 subscriberUsageOverPeriod

Description

IMPORTANT REMARK:
The correct URL for this request is: https://api.esim.tech/v1/

This request can be used to retrieve the daily usage of a subscriber over a certain period. The period is delimited with a start date (included) and an end date (included). The period cannot exceed 1 week. If you need statistics about usages over a longer period, you can use the requests using aggregated data.

Usage type:

Numeric value Usage type
1 MOC
15 MTC
21 MO-SMS
22 MT-SMS
33 Data
40 MOC VoIP
41 MTC VoIP

6.2.1 By subscriber ID

Request

{
  "subscriberUsageOverPeriod" : {
    "subscriber" : {
      "subscriberId" : 1000
    },
    "period" : {
      "start" : "2026-02-03",
      "end" : "2026-02-08"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberUsageOverPeriod" : {
    "total" : {
      "resellerCost" : 0.6963018882751465,
      "subscriberCost" : 0.6963018882751465,
      "quantityPerType" : {
        "1" : 64,
        "33" : 10485840,
        "40" : 9
      },
      "quantityPerCountry" : [ {
        "mcc" : 250,
        "name" : "Russian Federation",
        "alpha2" : "ru",
        "qty" : 10485913,
        "quantityPerOperator" : [ {
          "mnc" : 1,
          "name" : "PJSC Mobile TeleSystems MTS",
          "qty" : 10485913
        } ]
      } ]
    },
    "usages" : [ {
      "subscriberId" : 18037,
      "total" : {
        "resellerCost" : 0.6963018882751465,
        "subscriberCost" : 0.6963018882751465,
        "quantityPerType" : {
          "1" : 64,
          "33" : 10485840,
          "40" : 9
        },
        "quantityPerCountry" : [ {
          "mcc" : 250,
          "name" : "Russian Federation",
          "alpha2" : "ru",
          "qty" : 10485913,
          "quantityPerOperator" : [ {
            "mnc" : 1,
            "name" : "PJSC Mobile TeleSystems MTS",
            "qty" : 10485913
          } ]
        } ]
      },
      "subsPeriodUsages" : [ {
        "day" : "2022-06-16",
        "total" : {
          "resellerCost" : 0.6963018882751465,
          "subscriberCost" : 0.6963018882751465,
          "quantityPerType" : {
            "1" : 64,
            "33" : 10485840,
            "40" : 9
          },
          "quantityPerCountry" : [ {
            "mcc" : 250,
            "name" : "Russian Federation",
            "alpha2" : "ru",
            "qty" : 10485913,
            "quantityPerOperator" : [ {
              "mnc" : 1,
              "name" : "PJSC Mobile TeleSystems MTS",
              "qty" : 10485913
            } ]
          } ]
        },
        "subsDailyUsages" : [ {
          "subscriberId" : 18037,
          "sessionId" : "ee-cmg02cgy.pgw.epc.mnc001.mcc248.3gppnetwork.org;2347c4a1;62ab0e46;248010416000008-12c41685",
          "usageDateUtc" : "2022-06-16T11:17:08",
          "usageType" : 33,
          "accountId" : 22,
          "accountName" : "Unknown - 22",
          "resellerId" : 7,
          "resellerName" : "Example Reseller",
          "mcc" : 250,
          "country" : "Russian Federation",
          "countryAlpha2" : "ru",
          "operator" : "PJSC Mobile TeleSystems MTS",
          "mnc" : 1,
          "quantity" : 10485760,
          "resellerCost" : 0.2475,
          "resellerPlanId" : 400,
          "resellerPlanRuleId" : 1564,
          "resellerCurrencyId" : 1,
          "resellerConvertRate" : 1.0,
          "resellerPrepaidPackageQty" : 0,
          "subscriberCost" : 0.2475,
          "subscriberPlanId" : 400,
          "subscriberPlanRuleId" : 1564,
          "subscriberCurrencyId" : 1,
          "subscriberConvertRate" : 1.0,
          "subscriberPrepaidPackageQty" : 0,
          "lac" : 12361,
          "cellId" : 116115764,
          "rat" : "4G - LTE",
          "imei" : "354647888013844",
          "upBitrate" : 0,
          "downBitrate" : 0,
          "qci" : 0,
          "apn" : "internet.emt.ee",
          "imsi" : 24801,
          "sponsorImsi" : 248010416000008,
          "accountChargeEntity" : false
        }, {
          "subscriberId" : 18037,
          "sessionId" : "37945396-1655377585",
          "usageDateUtc" : "2022-06-16T11:06:51",
          "usageType" : 40,
          "accountId" : 22,
          "accountName" : "Unknown - 22",
          "resellerId" : 7,
          "resellerName" : "Example Reseller",
          "mcc" : 250,
          "country" : "Russian Federation",
          "countryAlpha2" : "ru",
          "operator" : "PJSC Mobile TeleSystems MTS",
          "mnc" : 1,
          "quantity" : 4,
          "resellerCost" : 0.0,
          "resellerPlanId" : 4,
          "resellerPlanRuleId" : 19,
          "resellerCurrencyId" : 1,
          "resellerConvertRate" : 1.0,
          "resellerPrepaidPackageQty" : 0,
          "subscriberCost" : 0.0,
          "subscriberPlanId" : 4,
          "subscriberPlanRuleId" : 19,
          "subscriberCurrencyId" : 1,
          "subscriberConvertRate" : 1.0,
          "subscriberPrepaidPackageQty" : 0,
          "otherPartyNumber" : "79811564198",
          "imsi" : 24801,
          "sponsorImsi" : 248010416000008,
          "accountChargeEntity" : false
        }, {
          "subscriberId" : 18037,
          "sessionId" : "37945396-1655377585",
          "usageDateUtc" : "2022-06-16T11:06:51",
          "usageType" : 1,
          "accountId" : 22,
          "accountName" : "Unknown - 22",
          "resellerId" : 7,
          "resellerName" : "Example Reseller",
          "mcc" : 250,
          "country" : "Russian Federation",
          "countryAlpha2" : "ru",
          "operator" : "PJSC Mobile TeleSystems MTS",
          "mnc" : 1,
          "quantity" : 4,
          "resellerCost" : 0.028050000000000002,
          "resellerPlanId" : 400,
          "resellerPlanRuleId" : 1564,
          "resellerCurrencyId" : 1,
          "resellerConvertRate" : 1.0,
          "resellerPrepaidPackageQty" : 0,
          "subscriberCost" : 0.028050000000000002,
          "subscriberPlanId" : 400,
          "subscriberPlanRuleId" : 1564,
          "subscriberCurrencyId" : 1,
          "subscriberConvertRate" : 1.0,
          "subscriberPrepaidPackageQty" : 0,
          "otherPartyNumber" : "3726503919",
          "imsi" : 24801,
          "sponsorImsi" : 248010416000008,
          "accountChargeEntity" : false
        }, {
          "subscriberId" : 18037,
          "sessionId" : "ee-cmg01cgy.pgw.epc.mnc001.mcc248.3gppnetwork.org;08d2465b;62ab0c78;248010416000008-3f6e0a45",
          "usageDateUtc" : "2022-06-16T11:04:36",
          "usageType" : 33,
          "accountId" : 22,
          "accountName" : "Unknown - 22",
          "resellerId" : 7,
          "resellerName" : "Example Reseller",
          "mcc" : 250,
          "country" : "Russian Federation",
          "countryAlpha2" : "ru",
          "operator" : "PJSC Mobile TeleSystems MTS",
          "mnc" : 1,
          "quantity" : 80,
          "resellerCost" : 1.888275146484375E-6,
          "resellerPlanId" : 400,
          "resellerPlanRuleId" : 1564,
          "resellerCurrencyId" : 1,
          "resellerConvertRate" : 1.0,
          "resellerPrepaidPackageQty" : 0,
          "subscriberCost" : 1.888275146484375E-6,
          "subscriberPlanId" : 400,
          "subscriberPlanRuleId" : 1564,
          "subscriberCurrencyId" : 1,
          "subscriberConvertRate" : 1.0,
          "subscriberPrepaidPackageQty" : 0,
          "lac" : 12361,
          "cellId" : 115609386,
          "rat" : "4G - LTE",
          "imei" : "354647888013844",
          "upBitrate" : 0,
          "downBitrate" : 0,
          "qci" : 0,
          "apn" : "internet.emt.ee",
          "imsi" : 24801,
          "sponsorImsi" : 248010416000008,
          "accountChargeEntity" : false
        }, {
          "subscriberId" : 18037,
          "sessionId" : "38338685-1655377272",
          "usageDateUtc" : "2022-06-16T11:01:39",
          "usageType" : 40,
          "accountId" : 22,
          "accountName" : "Unknown - 22",
          "resellerId" : 7,
          "resellerName" : "Example Reseller",
          "mcc" : 250,
          "country" : "Russian Federation",
          "countryAlpha2" : "ru",
          "operator" : "PJSC Mobile TeleSystems MTS",
          "mnc" : 1,
          "quantity" : 5,
          "resellerCost" : 0.0,
          "resellerPlanId" : 4,
          "resellerPlanRuleId" : 19,
          "resellerCurrencyId" : 1,
          "resellerConvertRate" : 1.0,
          "resellerPrepaidPackageQty" : 0,
          "subscriberCost" : 0.0,
          "subscriberPlanId" : 4,
          "subscriberPlanRuleId" : 19,
          "subscriberCurrencyId" : 1,
          "subscriberConvertRate" : 1.0,
          "subscriberPrepaidPackageQty" : 0,
          "otherPartyNumber" : "79811564198",
          "imsi" : 24801,
          "sponsorImsi" : 248010416000008,
          "accountChargeEntity" : false
        }, {
          "subscriberId" : 18037,
          "sessionId" : "38338685-1655377272",
          "usageDateUtc" : "2022-06-16T11:01:39",
          "usageType" : 1,
          "accountId" : 22,
          "accountName" : "Unknown - 22",
          "resellerId" : 7,
          "resellerName" : "Example Reseller",
          "mcc" : 250,
          "country" : "Russian Federation",
          "countryAlpha2" : "ru",
          "operator" : "PJSC Mobile TeleSystems MTS",
          "mnc" : 1,
          "quantity" : 60,
          "resellerCost" : 0.42075,
          "resellerPlanId" : 400,
          "resellerPlanRuleId" : 1564,
          "resellerCurrencyId" : 1,
          "resellerConvertRate" : 1.0,
          "resellerPrepaidPackageQty" : 0,
          "subscriberCost" : 0.42075,
          "subscriberPlanId" : 400,
          "subscriberPlanRuleId" : 1564,
          "subscriberCurrencyId" : 1,
          "subscriberConvertRate" : 1.0,
          "subscriberPrepaidPackageQty" : 0,
          "otherPartyNumber" : "3726503944",
          "imsi" : 24801,
          "sponsorImsi" : 248010416000008,
          "accountChargeEntity" : false
        } ]
      } ]
    } ]
  }
}

6.2.2 By IMSI

Request

{
  "subscriberUsageOverPeriod" : {
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "period" : {
      "start" : "2026-02-03",
      "end" : "2026-02-08"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.2.3 By ICCID

Request

{
  "subscriberUsageOverPeriod" : {
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "period" : {
      "start" : "2026-02-03",
      "end" : "2026-02-08"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.2.4 By MSISDN

Request

{
  "subscriberUsageOverPeriod" : {
    "subscriber" : {
      "msisdn" : "123456789123"
    },
    "period" : {
      "start" : "2026-02-03",
      "end" : "2026-02-08"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.2.5 By multi imsi

Request

{
  "subscriberUsageOverPeriod" : {
    "subscriber" : {
      "multiImsi" : "12345678901234"
    },
    "period" : {
      "start" : "2026-02-03",
      "end" : "2026-02-08"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.2.6 By Activation code

Request

{
  "subscriberUsageOverPeriod" : {
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "period" : {
      "start" : "2026-02-03",
      "end" : "2026-02-08"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

6.3 subscriberNetworkEventsOverPeriod

Description

IMPORTANT REMARK:
The correct URL for this request is: https://api.esim.tech/v1/

This request can be used to retrieve the network events of a subscriber over a certain period. The period is delimited with a start date (included) and an end date (included). The period cannot exceed 1 week.

6.3.1 By subscriber ID

Request

{
  "subscriberNetworkEventsOverPeriod" : {
    "subscriber" : {
      "subscriberId" : 1000
    },
    "period" : {
      "start" : "2026-02-08",
      "end" : "2026-02-03"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "subscriberNetworkEventsOverPeriod" : {
    "mapAnswer" : {
      "events" : [ {
        "eventTime" : "2022-11-21T23:08:51.333+01:00",
        "mcc" : 0,
        "mnc" : 0,
        "countryName" : "N/A",
        "countryAlpha2" : "N/A",
        "operator" : "N/A",
        "service" : "dmi",
        "o_gt" : "972521100089",
        "o_ssn" : "149",
        "d_gt" : "37250980917",
        "d_ssn" : "6",
        "opcode" : "67",
        "shortCode" : "P-MS",
        "longCode" : "purgeMS",
        "result" : "N/A",
        "in_imsi" : "248010415100003",
        "protocol" : "MAP",
        "acn" : "04000001001b03",
        "host" : "stp1"
      } ]
    },
    "s6aAnswer" : {
      "events" : [ {
        "eventTime" : "2022-11-21T16:03:47.842+01:00",
        "service" : "dmi_diam",
        "cmdCode" : "321",
        "cmdNameShort" : "PUR",
        "cmdNameLong" : "Purge-UE-Request",
        "protocol" : "S6a",
        "sponsor_imsi" : "248010415100003",
        "subs_imsi" : "248010415100003",
        "mvno" : "Example",
        "code" : "PUR_NOR",
        "oper_allowed" : "N/A",
        "customer" : "Example",
        "session" : "bcmmor1.epc.mnc002.mcc425.3gppnetwork.org;0316107b;bd6d4e5b;5cab64ce",
        "orig_realm" : "epc.mnc002.mcc425.3gppnetwork.org",
        "orig_host" : "bcmmor1.epc.mnc002.mcc425.3gppnetwork.org",
        "dest_realm" : "epc.mnc001.mcc248.3gppnetwork.org",
        "host" : "stp2",
        "user_apn" : "N/A",
        "sponsor" : "SP01_RESTR",
        "countryName" : "N/A",
        "countryAlpha2" : "N/A",
        "operator" : "N/A"
      } ]
    },
    "gyAnswer" : {
      "events" : [ {
        "eventTime" : "2022-11-20T14:09:18.795+01:00",
        "hopByHopS" : "607cb75f",
        "endToEndS" : "e4fe080a",
        "hopByHopL" : 1618786143,
        "endToEndL" : 3841853450,
        "originHost" : "travelsim-datak6.emt.ee",
        "originRealm" : "emt.ee",
        "requestType" : "Term",
        "session" : "ee-cmg02cgy.pgw.epc.mnc001.mcc248.3gppnetwork.org;39607f64;637a268c;248010415100003-130303d5",
        "msisdn" : "3728802100003",
        "imei" : "353041112627481",
        "apn" : "internet.emt.ee",
        "ratTypes" : "3G - UTRAN",
        "userLocationInfoMCC" : "425",
        "userLocationInfoMNC" : "02",
        "userLocationInfoLAC" : "42731",
        "usedUnits" : "1792819",
        "responseCode" : "2001",
        "sgsnip" : "62.90.68.114",
        "rreResponse" : "OK",
        "ratingGroup" : "6",
        "rreAllowedQuota" : "N/A",
        "countryName" : "Israel",
        "countryAlpha2" : "il",
        "operator" : "Cellcom Israel Ltd ",
        "userLocationInfoSAC" : "49814"
      } ]
    }
  }
}

6.3.2 By IMSI

Request

{
  "subscriberNetworkEventsOverPeriod" : {
    "subscriber" : {
      "imsi" : "12345678901234"
    },
    "period" : {
      "start" : "2026-02-08",
      "end" : "2026-02-03"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.3.3 By ICCID

Request

{
  "subscriberNetworkEventsOverPeriod" : {
    "subscriber" : {
      "iccid" : "123456789012345678"
    },
    "period" : {
      "start" : "2026-02-08",
      "end" : "2026-02-03"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.3.4 By MSISDN

Request

{
  "subscriberNetworkEventsOverPeriod" : {
    "subscriber" : {
      "msisdn" : "123456789123"
    },
    "period" : {
      "start" : "2026-02-08",
      "end" : "2026-02-03"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.3.5 By multi imsi

Request

{
  "subscriberNetworkEventsOverPeriod" : {
    "subscriber" : {
      "multiImsi" : "12345678901234"
    },
    "period" : {
      "start" : "2026-02-08",
      "end" : "2026-02-03"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

6.3.6 By Activation code

Request

{
  "subscriberNetworkEventsOverPeriod" : {
    "subscriber" : {
      "activationCode" : "Activation code"
    },
    "period" : {
      "start" : "2026-02-08",
      "end" : "2026-02-03"
    }
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

Remark(s)

Remark(s)

7. SMS

7.1 sendMtSms

Description

This request can be used to send a SMS to one of your subscribers. The SMS will be sent via MAP MT-Forward-Sm request.

The destination of the SMS can either be the subscriber IMSI, or its MSISDN. When using the MSISDN, the MSISDN must be the currently active MSISDN in the eSIM Tech.

The SMS to send can contain unicode characters. Unicode characters must be provided as \\uXXXX, where XXXX is a hex value. Please note that you need to send two backslashes before the u.

If there is at least one Unicode character in the text, then whole text will be converted into Unicode, and SMS length will be limited to 70 characters.

Example 1 : No unicode
Original message: Test 123 Тест
Message in JSON: Test 123 Тест

Example 2 : With unicode
Original message: Hello 😊
Message in JSON: Hello \\ud83d\\ude0a

Inputs

Parameter Presence Description
imsi Optional IMSI of the destination that will receive the SMS
msisdn Optional MSISDN of the destination that will receive the SMS
text Mandatory The text to send, with support of Unicode.
senderId Mandatory MSISDN or any text identification of the sender

7.1.1 IMSI

Request

{
  "sendMtSms" : {
    "imsi" : 123456789,
    "text" : "Msg to send",
    "senderId" : "Sender"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

7.1.2 MSISDN

Request

{
  "sendMtSms" : {
    "msisdn" : 123456789,
    "text" : "Msg to send",
    "senderId" : "Sender"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  }
}

8. Network profile

8.1 listNetworkProfile

Description

This request can be used to list your Network profile(s). You can provide: - Both resellerId and sponsorId: the request will return the single Network profile for this specific reseller and sponsor. - Only resellerId: the request will return the Network profile(s) of this specific reseller, for all possible sponsor(s). - Only sponsorId: the request will return the Network profile(s) of this specific sponsor, for all possible reseller(s) (yours and your sub-resellers). - None of resellerId and sponsorId: the request will return all your Network profile(s), for all possible sponsor(s), for all possible reseller(s) (yours and your sub-resellers).

Inputs

Parameter Presence Description
resellerId Optional To restrict the search to a specific reseller. Relevant when you have sub-resellers.
sponsorId Optional To restrict the search to a specific sponsor. Relevant when you use more than one sponsor.

Outputs

Parameter Presence Description
id Optional Internal Id of the network profile.
name Optional The name of the network profile.
sponsorId Optional Internal Id of the sponsor.
sponsorName Optional The name of the sponsor.
resellerId Optional Internal Id of the reseller owning the network profile.
resellerName Optional The name of the reseller owning the network profile.
allowedListId Optional Internal Id of the HLR/HSS allowed list.

8.1.1 Both resellerId and sponsorId

Request

{
  "listNetworkProfile" : {
    "resellerId" : 10,
    "sponsorId" : 108
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listNetworkProfile" : [ {
    "id" : 105,
    "name" : "PDEL test Modif",
    "sponsorId" : 108,
    "sponsorName" : "SP05 (ID=108)",
    "resellerId" : 10,
    "resellerName" : "PDEL Reseller 3",
    "allowedListId" : 162
  } ]
}

8.1.2 Only resellerId

Request

{
  "listNetworkProfile" : {
    "resellerId" : 10
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listNetworkProfile" : [ {
    "id" : 46,
    "name" : "New list PDEL test 2",
    "sponsorId" : 108,
    "sponsorName" : "SP05 (ID=108)",
    "resellerId" : 10,
    "resellerName" : "PDEL Reseller 3",
    "allowedListId" : 134
  }, {
    "id" : 105,
    "name" : "PDEL test Modif",
    "sponsorId" : 108,
    "sponsorName" : "SP05 (ID=108)",
    "resellerId" : 10,
    "resellerName" : "PDEL Reseller 3",
    "allowedListId" : 162
  } ]
}

8.1.3 Only sponsorId

Request

{
  "listNetworkProfile" : {
    "sponsorId" : 108
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listNetworkProfile" : [ {
    "id" : 46,
    "name" : "New list PDEL test 2",
    "sponsorId" : 108,
    "sponsorName" : "SP05 (ID=108)",
    "resellerId" : 10,
    "resellerName" : "PDEL Reseller 3",
    "allowedListId" : 134
  }, {
    "id" : 105,
    "name" : "PDEL test Modif",
    "sponsorId" : 108,
    "sponsorName" : "SP05 (ID=108)",
    "resellerId" : 10,
    "resellerName" : "PDEL Reseller 3",
    "allowedListId" : 162
  } ]
}

8.1.4 None of resellerId and sponsorId

Request

{
  "listNetworkProfile" : { }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listNetworkProfile" : [ {
    "id" : 46,
    "name" : "New list PDEL test 2",
    "sponsorId" : 108,
    "sponsorName" : "SP05 (ID=108)",
    "resellerId" : 10,
    "resellerName" : "PDEL Reseller 3",
    "allowedListId" : 134
  }, {
    "id" : 105,
    "name" : "PDEL test Modif",
    "sponsorId" : 108,
    "sponsorName" : "SP05 (ID=108)",
    "resellerId" : 10,
    "resellerName" : "PDEL Reseller 3",
    "allowedListId" : 162
  } ]
}

8.2 createLocationZone

Description

This request can be used to create a new Location zone. The backend will perform the following tests before creating the new Location zone: - Does the locationZoneName already exist in the DB (for the reseller of the networkProfileId). - Does ALL the TADIG in tadigList exist in the DB. In case one (or more) TADIG doesn't not exist in the DB, a dedicated error with code 10001 will be returned. The answer will also contain the list of unknown TADIG. - Is there already a Location zone in the DB with the exact same operators. Via the API, you cannot create a new Location zone with the same operator set of another Location zone. If another Location zone with same operator set already exist, the backend will return a dedicated error with code 10002. The answer will contain the name and the ID of the existing Location zone. So you can reuse the existing Location zone to create a new package template, instead of duplicating the Location zone. This will prevent to create multiple identical Location zones. - All operator(s) provided in the request for the new location zone must be available/allowed. If you use the UI to create the LZ, the UI will propose you only the available/allowed operators. To be available/allowed, an operator needs to satisfy the following conditions: - The operator must be present in your reseller tariff. If it's not the case, the subscribers won't be able to use their prepaid packages. - The operator must be provided by the sponsor. If it's not the case, the subscribers won't be able to use their prepaid packages. - The operator cannot be (too) expensive. We have configured a limit for the data cost. Above this limit, the operator is considered to be too expensive to be used in a location zone.

Inputs

Parameter Presence Description
networkProfileId Mandatory Network profile that will own the new Location zone.
locationZoneName Mandatory The name for the new Location zone.
tadigList Mandatory List of TADIG of the operators to add in the new Location zone.

8.2.1 Success

Request

{
  "createLocationZone" : {
    "networkProfileId" : 79,
    "locationZoneName" : "New LZ name",
    "tadigList" : [ "AZER1", "QWER1" ]
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "createLocationZone" : {
    "newLZ" : {
      "Id" : 1924,
      "name" : "new LZ 2"
    }
  }
}

8.2.2 LZ name already exist

Request

{
  "createLocationZone" : {
    "networkProfileId" : 79,
    "locationZoneName" : "New LZ name",
    "tadigList" : [ "AZER1", "QWER1" ]
  }
}

Answer

{
  "status" : {
    "code" : 4,
    "msg" : "A location zone already exist with this name (for this reseller)"
  }
}

8.2.3 Unknown operator

Request

{
  "createLocationZone" : {
    "networkProfileId" : 79,
    "locationZoneName" : "New LZ name",
    "tadigList" : [ "AZER1", "QWER1" ]
  }
}

Answer

{
  "status" : {
    "code" : 10001,
    "msg" : "Unknown TADIG, see list in this answer"
  },
  "createLocationZone" : {
    "invalidTadigs" : [ "AZER1", "QWER1" ]
  }
}

8.2.4 LZ with same operator(s) already exist

Request

{
  "createLocationZone" : {
    "networkProfileId" : 79,
    "locationZoneName" : "New LZ name",
    "tadigList" : [ "AZER1", "QWER1" ]
  }
}

Answer

{
  "status" : {
    "code" : 10002,
    "msg" : "LZ with same operator already exist"
  },
  "createLocationZone" : {
    "existingLZ" : {
      "Id" : 1923,
      "name" : "Name of the LZ with the same operator(s)"
    }
  }
}

8.2.5 Operator(s) not in reseller tariff

Request

{
  "createLocationZone" : {
    "networkProfileId" : 79,
    "locationZoneName" : "New LZ name",
    "tadigList" : [ "AZER1", "QWER1" ]
  }
}

Answer

{
  "status" : {
    "code" : 10003,
    "msg" : "Some operator(s) not allowed in reseller tariff"
  },
  "createLocationZone" : {
    "invalidTadigs" : [ "JPNKD" ]
  }
}

8.2.6 Operator(s) not provided by sponsor, or too expensive

Request

{
  "createLocationZone" : {
    "networkProfileId" : 79,
    "locationZoneName" : "New LZ name",
    "tadigList" : [ "AZER1", "QWER1" ]
  }
}

Answer

{
  "status" : {
    "code" : 10004,
    "msg" : "Some operator(s) are not available for this operation."
  },
  "createLocationZone" : {
    "invalidTadigs" : [ "BGR01", "DNKIA" ]
  }
}

Error codes

Code Description
0 OK
1 UNKNOWN_REQUEST
2 INVALID_REQUEST
3 UNEXPECTED_ERROR
4 DB_DUPLICATE_ENTRY
5 DB_DATA_INCONSISTENCY
6 DB_NOT_FOUND
7 DB_ERROR
8 NO_API_ACCOUNT_FOR_RESELLER
9 SRC_IP_NOT_AUTHORISED
10 INVALID_RESELLER
11 RESOURCE_NOT_VISIBLE
12 RESOURCE_READ_ONLY
13 SMS_API_ERROR
14 OPERATION_IMPOSSIBLE
15 HLR_API_ERROR
16 STEERING_API_ERROR
17 SUBS_END_OF_LIFE
18 TIMEOUT
100 TRAFFIC_CONTROL_LIMIT_EXCEEDED
Base URL  https://api.esim.tech/v2/     Auth  Authorization: Token <your_api_token>

eSIM Tech API — Version 2

Welcome to the eSIM Tech API v2 reference documentation.

Base URL https://api.esim.tech/v2/
Authentication Authorization: Token <your_api_token>
Content-Type application/json

All requests must include the Authorization header with a valid API token. Request and response bodies are JSON.


1 Subscriber

1.1 moveSubscriberRangeToAccount

2 Prepaid package

2.1 listSubscriberPrepaidPackages

Error codes

1. Subscriber

1.1 moveSubscriberRangeToAccount

Description

This method can be used to move a range a subscribers from one account to another account. The range of subscriber can be either a range of IMSI, or a range of ICCID.

Note that you can only change the Network profile of a set of subscribers. If you provide the same Account in srcAccountId and destAccount, plus a destNetworkProfileId, the system will just change the Network profile of the concerned subscribers.

In this version, you can move subscribers between accounts of different resellers (unlike the version 1).

If you move subscribers to a different reseller, you have to provide a new Network profile ID for the subscribers to move. If you move subscribers between accounts of the same reseller, then the new Network profile is optional. If one is provided, it will be affected to the moved subscribers.

If you move subscribers to a different reseller, all the moved subscribers will lose their prepaid packages. Indeed, location zone (that is attached to each and every packages) from reseller A, is not visible in reseller B. Meaning packages from reseller A are not visible in reseller B, so no need to keep them.

RESTRICTION: - The destination Account and the new Network profile must be from the same reseller. - If destNetworkProfileId is provided, the subscribers to move, must be from the same sponsor as the Network profile.

Inputs

Parameter Presence Description
rangeType Mandatory Indicate the type of range. Possible values: IMSI, ICCID.
rangeStart Mandatory IMSI or ICCID of the first subscriber of the range to move
rangeEnd Mandatory IMSI or ICCID of the last subscriber of the range to move
srcAccountId Mandatory Current account of the subscriber to move
destAccount Mandatory New account for the subscriber to move
destNetworkProfileId Optional The new network profile for the subscribers to move. When moving subscribers between accounts of the same reseller, this field is optional. If it's not provided, subscribers stay in their current network profile. When moving subscribers between accounts of different resellers, then this field is mandatory

Outputs

Parameter Presence Description
moveSubscriberRangeToAccount Mandatory The number of subscribers that has been moved.

1.1.1 IMSI range

Request

{
  "moveSubscriberRangeToAccount" : {
    "rangeType" : "IMSI",
    "rangeStart" : "200010416000001",
    "rangeEnd" : "2000104160000010",
    "srcAccountId" : 10,
    "destAccount" : 15,
    "destNetworkProfileId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "moveSubscriberRangeToAccount" : 4
}

1.1.2 ICCID range

Request

{
  "moveSubscriberRangeToAccount" : {
    "rangeType" : "ICCID",
    "rangeStart" : "893720000000000001",
    "rangeEnd" : "893720000000000010",
    "srcAccountId" : 10,
    "destAccount" : 15,
    "destNetworkProfileId" : 123
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "moveSubscriberRangeToAccount" : 4
}

2. Prepaid package

2.1 listSubscriberPrepaidPackages

Description

This request can be used to list all the pre paid packages of a subscriber (if any).

To identify the subscriber, you can use one of the following IDs: - Subscriber ID - IMSI - ICCID - MSISDN - Multi IMSI - Activation code

Outputs

Parameter Presence Description
listSubscriberPrepaidPackages.callUseSingleCounter Mandatory Indicates if MOC and MTC are charged on the same counter.
If the flag is false MOC seconds are charged on usedmocsecond and the limit is pckmocsecond. While the MTC seconds are charged on usedmtcsecond and the limit is pckmtcsecond.
If the flag is true, no difference is made between MOC and MTC, they both are considered as calls charged on the same counter with the same limit. Both MOC and MTC seconds are charged on usedmocsecond counter. The limit for both MOC and MTC is pckmocsecond.
listSubscriberPrepaidPackages.packages Mandatory Array that contains all the subscriber prepaid packages (recurring and regular), see Subscriber prepaid package in OcsObjects.md. If the subscriber doesn't have any prepaid package, this array will be empty.
listSubscriberPrepaidPackages.recurring Mandatory Array that contains all the recurring packages (still active and inactive) of the subscriber. You can find all the packages (from packages array) created for a recurring packages with recurringPackage field of the prepaid package.

2.1.1 By subscriber ID

Request

{
  "listSubscriberPrepaidPackages" : {
    "subscriberId" : 1000
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "packages" : [ {
      "rdbDestinationZones" : {
        "destinationzoneid" : 5,
        "destinationzonename" : "Denis Destination list"
      },
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 2214,
        "prepaidpackagetemplatename" : "Denis Italy"
      },
      "subscriberprepaidpackageid" : 1007,
      "subscriberid" : 4,
      "priority" : 3,
      "locationzoneid" : 27,
      "destinationzoneid" : 5,
      "pckdatabyte" : 104857600,
      "pckmocsecond" : 0,
      "pckmtcsecond" : 0,
      "pckmosmsnumber" : 0,
      "pckmtsmsnumber" : 0,
      "tsassigned" : "2023-08-01T13:25:08",
      "tsactivationutc" : "2023-09-21T14:49:47",
      "tsexpirationutc" : "2023-10-01T14:49:47",
      "useddatabyte" : 104857600,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 10,
      "cost" : 9.99,
      "templateId" : 2214,
      "esimId" : 64612,
      "active" : true,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    }, {
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 9280,
        "prepaidpackagetemplatename" : "PDEL Recurring"
      },
      "subscriberprepaidpackageid" : 1039,
      "subscriberid" : 4,
      "priority" : 4,
      "locationzoneid" : 27,
      "pckdatabyte" : 0,
      "pckmocsecond" : 0,
      "pckmtcsecond" : 0,
      "pckmosmsnumber" : 0,
      "pckmtsmsnumber" : 0,
      "tsassigned" : "2023-10-02T08:25:03",
      "tsactivationutc" : "2023-10-02T08:00:00",
      "tsexpirationutc" : "2023-11-16T08:00:00",
      "useddatabyte" : 0,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 45,
      "cost" : 123.0,
      "templateId" : 9280,
      "esimId" : 64612,
      "active" : true,
      "recurringPackage" : 1,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    }, {
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 9280,
        "prepaidpackagetemplatename" : "PDEL Recurring"
      },
      "subscriberprepaidpackageid" : 1040,
      "subscriberid" : 4,
      "priority" : 5,
      "locationzoneid" : 27,
      "pckdatabyte" : 1073741824,
      "pckmocsecond" : 1,
      "pckmtcsecond" : 2,
      "pckmosmsnumber" : 3,
      "pckmtsmsnumber" : 4,
      "tsassigned" : "2023-10-02T09:07:35",
      "tsactivationutc" : "2023-10-02T13:50:00",
      "tsexpirationutc" : "2023-11-16T13:50:00",
      "useddatabyte" : 0,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 45,
      "cost" : 123.0,
      "templateId" : 9280,
      "esimId" : 64612,
      "active" : true,
      "recurringPackage" : 3,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    }, {
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 9280,
        "prepaidpackagetemplatename" : "PDEL Recurring"
      },
      "subscriberprepaidpackageid" : 1041,
      "subscriberid" : 4,
      "priority" : 6,
      "locationzoneid" : 27,
      "pckdatabyte" : 1073741824,
      "pckmocsecond" : 1,
      "pckmtcsecond" : 2,
      "pckmosmsnumber" : 3,
      "pckmtsmsnumber" : 4,
      "tsassigned" : "2023-10-02T09:14:37",
      "tsactivationutc" : "2023-10-02T13:50:00",
      "tsexpirationutc" : "2023-11-02T13:50:00",
      "useddatabyte" : 0,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 45,
      "cost" : 123.0,
      "templateId" : 9280,
      "esimId" : 64612,
      "active" : true,
      "recurringPackage" : 4,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    }, {
      "rdbLocationZones" : {
        "locationzoneid" : 27,
        "locationzonename" : "PDEL - Italy"
      },
      "packageTemplate" : {
        "prepaidpackagetemplateid" : 9280,
        "prepaidpackagetemplatename" : "PDEL Recurring"
      },
      "subscriberprepaidpackageid" : 1042,
      "subscriberid" : 4,
      "priority" : 7,
      "locationzoneid" : 27,
      "pckdatabyte" : 1073741824,
      "pckmocsecond" : 1,
      "pckmtcsecond" : 2,
      "pckmosmsnumber" : 3,
      "pckmtsmsnumber" : 4,
      "tsassigned" : "2023-10-02T09:31:21",
      "tsactivationutc" : "2023-10-02T09:31:21",
      "tsexpirationutc" : "2023-11-02T09:31:21",
      "useddatabyte" : 0,
      "usedmocsecond" : 0,
      "usedmocvoipsecond" : 0,
      "usedmtcsecond" : 0,
      "usedmosmsnumber" : 0,
      "usedmtsmsnumber" : 0,
      "perioddays" : 45,
      "cost" : 123.0,
      "templateId" : 9280,
      "esimId" : 64612,
      "active" : true,
      "recurringPackage" : 5,
      "resellerCost" : 0.1256611555,
      "parentResellerCost" : 0.1256611555
    } ],
    "recurring" : [ {
      "id" : 1,
      "startTimeUTC" : "2023-10-02T08:00:00",
      "lastPackageCreationTimeUTC" : "2023-10-02T08:25:03",
      "template" : 9280,
      "templateName" : "Template XYZ",
      "subscriber" : 4,
      "nbOccurrence" : 10,
      "nbCreated" : 1,
      "recurringPeriodicityType" : 1,
      "recurringPeriodicityFrequency" : 7,
      "reportUnitsPreviousPackage" : true,
      "active" : true
    }, {
      "id" : 2,
      "startTimeUTC" : "2023-10-02T23:50:00",
      "template" : 9280,
      "templateName" : "Template XYZ",
      "subscriber" : 4,
      "nbOccurrence" : 10,
      "nbCreated" : 0,
      "recurringPeriodicityType" : 1,
      "recurringPeriodicityFrequency" : 7,
      "reportUnitsPreviousPackage" : true,
      "active" : true
    }, {
      "id" : 3,
      "startTimeUTC" : "2023-10-02T13:50:00",
      "lastPackageCreationTimeUTC" : "2023-10-02T09:07:35",
      "template" : 9280,
      "templateName" : "Template XYZ",
      "subscriber" : 4,
      "nbOccurrence" : 10,
      "nbCreated" : 1,
      "recurringPeriodicityType" : 1,
      "recurringPeriodicityFrequency" : 7,
      "reportUnitsPreviousPackage" : true,
      "active" : false
    }, {
      "id" : 4,
      "startTimeUTC" : "2023-10-02T13:50:00",
      "lastPackageCreationTimeUTC" : "2023-10-02T09:14:37",
      "template" : 9280,
      "templateName" : "Template XYZ",
      "subscriber" : 4,
      "nbCreated" : 1,
      "recurringPeriodicityType" : 2,
      "recurringPeriodicityFrequency" : 1,
      "reportUnitsPreviousPackage" : true,
      "active" : true
    }, {
      "id" : 5,
      "startTimeUTC" : "2023-10-02T09:31:21",
      "lastPackageCreationTimeUTC" : "2023-10-02T09:31:21",
      "template" : 9280,
      "templateName" : "Template XYZ",
      "subscriber" : 4,
      "nbOccurrence" : 10,
      "nbCreated" : 1,
      "recurringPeriodicityType" : 2,
      "recurringPeriodicityFrequency" : 1,
      "reportUnitsPreviousPackage" : true,
      "active" : true
    } ],
    "callUseSingleCounter" : true
  }
}

Remark(s)

2.1.2 By IMSI

Request

{
  "listSubscriberPrepaidPackages" : {
    "imsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

2.1.3 By ICCID

Request

{
  "listSubscriberPrepaidPackages" : {
    "iccid" : "123456789012345678"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

2.1.4 By MSISDN

Request

{
  "listSubscriberPrepaidPackages" : {
    "msisdn" : "123456789123"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

2.1.5 By multi imsi

Request

{
  "listSubscriberPrepaidPackages" : {
    "multiImsi" : "12345678901234"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

2.1.6 By Activation code

Request

{
  "listSubscriberPrepaidPackages" : {
    "activationCode" : "Activation code"
  }
}

Answer

{
  "status" : {
    "code" : 0,
    "msg" : "OK"
  },
  "listSubscriberPrepaidPackages" : {
    "callUseSingleCounter" : false
  }
}

Remark(s)

Remark(s)

Error codes

Code Description
0 OK
1 UNKNOWN_REQUEST
2 INVALID_REQUEST
3 UNEXPECTED_ERROR
4 DB_DUPLICATE_ENTRY
5 DB_DATA_INCONSISTENCY
6 DB_NOT_FOUND
7 DB_ERROR
8 NO_API_ACCOUNT_FOR_RESELLER
9 SRC_IP_NOT_AUTHORISED
10 INVALID_RESELLER
11 RESOURCE_NOT_VISIBLE
12 RESOURCE_READ_ONLY
13 SMS_API_ERROR
14 OPERATION_IMPOSSIBLE
15 HLR_API_ERROR
16 STEERING_API_ERROR
17 SUBS_END_OF_LIFE
18 TIMEOUT
100 TRAFFIC_CONTROL_LIMIT_EXCEEDED