Endpoint Activation & Addon Provisioning
A traveler logs in to Customer X’s portal and purchases a new eSIM with a connectivity add-on.
User authentication, identity verification, and payment handling are managed entirely by Customer X’s portal and are out of scope for SFT.
Once the purchase is completed, Customer X must:
Assign an available eSIM to the traveler
Activate the corresponding endpoint
Deliver the eSIM installation details (QR code) to the traveler
Objectives
Allocate an unused, pre-created endpoint
Activate the endpoint so connectivity can start
Assign Addon
Provide the traveler with the eSIM QR code required to install the profile on their device
At the end of this process:
The endpoint is active
The addon customer purchased is assigned
The eSIM is installable by the traveler
The endpoint is ready to connect using addon
High-Level Flow
Identify an available eSIM / endpoint
Activate the endpoint
Assign Addon
Deliver eSIM installation details to the traveler
Step 1 – Find an Available eSIM
Customer X needs to identify the first available eSIM that is:
Not yet used by any traveler
Already linked to a pre-created endpoint
Ready to be activated
Although Customer X can manage this selection using its own backend inventory, this section explains how the same information can be retrieved using SFT APIs.
Customer X can retrieve available eSIMs by calling the GET SIM (fetchSIM) API with specific query parameters.
simStatusId = 12
Indicates that the SIM is in Pre-Active state
simAttachStatusId = 1
Indicates that the SIM is already attached to an endpoint
To retrieve only one SIM, you can use
page = 1
perPage = 1
So the final api call must be
https://sft.bics.com/api/fetchSIM?simStatusId=12&simAttachStatusId=1&page=1&perPage=1
This ensures that only the first available SIM is returned.
Key Output Data
From the API response, Customer X can retrieve the following key values:
endpointId
The identifier of the endpoint associated with the SIM
→ Used in the activation stepiccid
The eSIM identifier
→ Can be used for internal tracking and activation logicmsisdn (optional)
The MSISDN associated with the SIM
→ Can be exposed to the traveler if requiredactivationCode.textQrCode
A string representing the Consumer eSIM profile activation code
→ Used to generate a QR code for eSIM installation
Customer X uses this value to generate and deliver the QR code to the traveler via its portal or communication channels.
Step 2 – Activate the Endpoint
Once an available eSIM and endpoint are identified, Customer X must activate the endpoint so that:
The eSIM can connect to the network
Add-ons can later be provisioned
Usage can be generated
Customer X can activate the endpoint using one of the following APIs:
Option 1 – Endpoint Activate API
Activate the endpoint directly
Uses
endpointIdin the request body
Option 2 – EndpointLifeCycleChange API RECOMMENDED
Uses
endpointIdin the request bodySets lifecycle state to A (Active)
The EndpointLifeCycleChange API is recommended because:
It provides a consistent way to manage endpoint lifecycle
The same API can later be reused to deactivate or suspend the endpoint
For both activation APIs:
Customer X only needs to verify whether the operation was successful
No additional response data is required for this use case
If activation fails:
Customer X may retry the activation
Or select another available endpoint and repeat the previous step
Step 3 – Add-on Provisioning
After the endpoint has been activated, Customer X must provision the add-on purchased by the traveler.
At this point:
The traveler has completed a purchase in Customer X’s portal
The endpoint is active
Customer X knows which add-on was purchased
During the Backend Configuration – Initial Setup phase, Customer X created all add-ons in SFT and stored a mapping between:
Portal add-on products
SFT planId values
for example:
Portal add-on Name | SFT Plan ID |
|---|---|
Wakanda 30Days / 30GB |
|
Wakanda Daily |
|
Using this existing mapping, Customer X can now assign the purchased add-on to the activated endpoint.
Customer X assigns an add-on to an endpoint by calling the POST SubscribeAddon API.
The request body must include:
endpointId
Identifies the endpoint to which the add-on will be assignedplanId
Identifies the add-on plan to be assigned
This value is retrieved from Customer X’s backend mapping created during the configuration phase
Key Output Date
If the operation is successful, the API response includes a unique identifier for the add-on instance:
uniqueId (info.promotionalPlans.plan.uniqueId)
Customer X must store and use the uniqueId to:
Track the remaining balance of a specific add-on
Display correct usage information in the portal
Handle renewals, expirations, or deactivations
Distinguish between multiple active add-ons of the same type
For more information about uniqueId see in Appendix Endpoint Activation & Addon Provisioning | Understanding-planId-vs-uniqueId
The planId alone is not sufficient once an add-on has been assigned.
Repeated Add-on Purchases
The same add-on provisioning procedure applies every time a traveler purchases an add-on, regardless of whether:
The traveler purchases a new add-on, or
The traveler purchases the same add-on again
Each purchase results in:
A new add-on assignment to the endpoint
A new add-on instance with its own uniqueId
Independent validity and balance tracking
Customer X should therefore repeat Step 3 – Add-on Provisioning for:
Initial add-on purchase
Add-on renewal
Additional add-on purchases during the same trip
Step 4 – Deliver eSIM to final customer
After the endpoint has been activated and the add-on has been provisioned, Customer X must enable the traveler to install the eSIM profile on their device.
This is achieved by delivering the eSIM installation details, typically in the form of a QR code, to the traveler.
When Customer X retrieved the available SIM during Step 1 – Find an Available eSIM, the response included the following value:
activationCode.textQrCode
This field contains the Consumer eSIM profile activation data required to install the eSIM on a device.
SFT does not handle QR code generation or delivery to the end user.
Customer X is responsible for:
Generating a QR code from
activationCode.textQrCodeDelivering the QR code securely to the traveler
Delivery methods are entirely controlled by Customer X and may include:
Displaying the QR code in the customer portal
Sending it via email or SMS
Providing it through a mobile application
The QR code represents a single eSIM profile
It should be delivered securely and only to the intended traveler
Installation instructions and device compatibility checks are handled by Customer X
SFT provides the activation data, but the end-user experience and delivery flow are outside the scope of the platform.
Appendix
Understanding planId vs uniqueId
This distinction is critical for correct add-on lifecycle management.
planId – Add-on Definition
Represents the add-on product definition
Created once during backend configuration
Reused every time the same add-on is assigned
Example:
“30 GB – 7 Days – Country A”
→ oneplanId
uniqueId – Add-on Instance
Represents a specific instance of an add-on assigned to an endpoint
Generated every time the add-on is assigned
Uniquely identifies that assignment
If the same add-on is assigned multiple times to the same endpoint, each assignment results in a new instance with a different uniqueId.
Example Scenario
A traveler purchases the same add-on three times:
Assignment | planId | uniqueId |
|---|---|---|
1st purchase | PLAN-123 | UID-001 |
2nd purchase | PLAN-123 | UID-002 |
3rd purchase | PLAN-123 | UID-003 |
All three assignments use the same planId
Each assignment generates a different uniqueId
Each
uniqueIdrepresents a distinct add-on instance with its own:Validity
Balance
Lifecycle