The eSIM order webhook.
Request Method
- POST
Webhook payload object common properties
| Key | Type | Description |
|---|---|---|
| orderNo | String | Unique order number |
| currency | String | Currency (1 = RMB, 2 = USD, 3 = EUR, 4 = SGD, 5 = TWD ...) |
| iccid | String | ICCID of the eSIM |
| lpa | String | Local Profile Assistant (LPA) |
| packageCode | String | Unique identifier of the package. |
| packageName | String | Package name |
| price | String | Price (in the contract currency). |
| result | String | Order result (FAILED or COMPLETED) |
Test Examples
curl --location 'https://YOUR-WEBHOOK-URL' \
--header 'Content-Type: application/json' \
--data '{
"orderNo": "2026032516xxxxxxxxxxx",
"currency": "4",
"iccid": "8910010000xxxxxxxxxx",
"lpa": "LPA:1$rsp.demo$69C32E7Dxxxxxxxx",
"packageCode": "YN2602130xxxxxx",
"packageName": "Malaysia, 1 Day, 1GB, 256kbps",
"price": "9.99",
"result": "COMPLETED"
}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"orderNo\": \"2026032516xxxxxxxxxxx\",\r\n \"currency\": \"4\",\r\n \"iccid\": \"8910010000xxxxxxxxxx\",\r\n \"lpa\": \"LPA:1$rsp.demo$69C32E7Dxxxxxxxx\",\r\n \"packageCode\": \"YN2602130xxxxxx\",\r\n \"packageName\": \"Malaysia, 1 Day, 1GB, 256kbps\",\r\n \"price\": \"9.99\",\r\n \"result\": \"COMPLETED\"\r\n }");
Request request = new Request.Builder()
.url("https://YOUR-WEBHOOK-URL")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://YOUR-WEBHOOK-URL',
'headers': {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"orderNo": "2026032516xxxxxxxxxxx",
"currency": "4",
"iccid": "8910010000xxxxxxxxxx",
"lpa": "LPA:1$rsp.demo$69C32E7Dxxxxxxxx",
"packageCode": "YN2602130xxxxxx",
"packageName": "Malaysia, 1 Day, 1GB, 256kbps",
"price": "9.99",
"result": "COMPLETED"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "https://YOUR-WEBHOOK-URL"
payload = json.dumps({
"orderNo": "2026032516xxxxxxxxxxx",
"currency": "4",
"iccid": "8910010000xxxxxxxxxx",
"lpa": "LPA:1$rsp.demo$69C32E7Dxxxxxxxx",
"packageCode": "YN2602130xxxxxx",
"packageName": "Malaysia, 1 Day, 1GB, 256kbps",
"price": "9.99",
"result": "COMPLETED"
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Failure Retry Policy
If an event push attempt fails, the system retries up to 2 additional times, for a maximum of 3 total attempts.
Retry intervals:
- After the 1st failure, retry after 3 seconds
- After the 2nd failure, retry after 6 seconds
- After the 3rd failure, no further retries are performed
After the 3rd failed attempt, the system logs the final failure and removes the corresponding order from the event push executor.
