取消(异步)
PUT
/sims/{sim_id}/cancel简要描述
版本:
v4
适用场景
- 场景1:提前结束SIM卡下所有套餐。
- 场景2:根据
order_id
提前结束指定套餐。(添加套餐接口响应参数中的order_id) - 场景3:通过
order_id
提前结束指定套餐,并立即启用(时间上)最近下一个未启用套餐(通过keep_alive
参数控制)。
必要条件
- 仅支持对所用API key归属企业下的卡片进行操作。
- 仅支持非OTA卡操作。
业务规则
场景1:未传order_id
时:
- SIM卡状态使用期时操作成功后,使用中套餐(含补充套餐/加油包)将提前结束。SIM卡最终状态为停机保。
- SIM卡状态暂停期时操作成功后,暂停中套餐将被提前结束。SIM卡最终状态为停机保。
- 任何状态下的SIM操作成功后,未启用套餐将被提前结束。
场景2:传入order_id
时:
- 仅结束对应的套餐。
场景3:传入order_id
且keep_alive
为true
时:
- 结束指定
order_id
的套餐。 - 若无使用中套餐但有未启用套餐,则启用最近未启用套餐。
注意事项
- 操作的处理为异步,接口同步响应成功代表领科系统接收请求成功。
- 获取操作异步处理结果的方式:
1.使用接口响应中的request_id通过GET/sims/async_result/{request_id}进行处理结果查询。
2.通过notification api回调获取结果 pending
3. 当操作异步处理结束前,卡片处于锁定状态,此时禁止对同一SIM进行激活、停机、复机、重置等操作。
4. 异步处理过程通常可在几秒内结束,若运营商系统发生网络拥塞等异常,处理时长可达几十分甚至更长。
5. 异步操作处理结果为失败时,用户可再次发起操作。
SDK API 调用方式
场景1:取消全部套餐。支持SDK最低版本:1.0.10
PartnerClient client = new PartnerClient(accessKey,privateKey)
client.v2().sim().cancelSim(new CancelSim(1, "89852202306300023202"));
场景2:根据order_id
取消指定套餐。支持SDK最低版本:1.0.13
PartnerClient client = new PartnerClient(accessKey,privateKey)
client.v2().sim().cancelSim(new CancelSim(1, "89852202306300023202","20240816000019173"));
场景3:根据orde_id
取消指定套餐,并将keep_alive
参数设置为true
。支持SDK最低版本:1.0.14
PartnerClient client = new PartnerClient(accessKey,privateKey)
client.v2().sim().cancelSim(new CancelSim(1, "89852202306300023202","20240816000019173",true));
请求参数
Path 参数
sim_id
string
必需
Body 参数application/json
order_id
string | null
可选
添加套餐时的业务标识,可作为后续发起指定取消的输入 参数
keep_alive
boolean
可选
是否自动启用,默认false
示例
{
"order_id": null,
"keep_alive": false
}
示例代码
返回响应
成功(200)
HTTP 状态码: 200
内容格式: JSONapplication/json
数据结构
data
必需
Any of
status
#/definitions/41430733必需
示例
{
"data": {
"code": "CB-00-0099",
"message": "Request received, asynchronous processing."
},
"status": {
"code": "CB-00-0000",
"message": "成功",
"detail": "https://apidoc-en.iotcube.link/"
}
}
最后修改时间: 2 个月前