1 使用指南

1.1.客户帐号

登录物联网卡运营支撑系统客户端:自动注册或客服人员提供;

1.2.接入参数

登录物联网卡运营支撑系统客户端,总览-->接口参数-->查看接入账号/接入秘钥apikey

2 .接口开发

2.1.接口说明

  1. 所有接口采用REST架构风格设计,其核心面向资源,REST对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。
  2. 返回报文统一使用JSON,编码为UTF-8。
  3. 请登录物联网卡运营支撑系统客户端,在总览-->接口参数-->查看接入账号/接入秘钥apikey
  4. 请求地址: http://ip:port/iotapi/rest/v2,9011:平台对外数据接口端口;8111:直接调用上级API,受上级开放权限及API速率管控;
注意:
1)采用POST方式时请求参数应放入HTTP请求体中,请勿将请求参数拼接在URL后面,
2) HTTP请求头部信息添加Content-Type=application/x-www-form-urlencoded。

2.2. 鉴权说明

短信平台基于安全考虑,开发者调用短信平台接口采用md5签名摘要算法进行鉴权。各接口统一请求URL地址如下:

参数 说明
sid 账号
sign 签名
ts 时间戳,,格式yyyyMMddHHmmss
签名算法采用md5 32位算法,接口签名的具体要求请查看接口详细描述,为了防止接口被截取而重复恶意调用,采用时间戳控制请求有效期。

3.接口清单

3.1.客户类

3.1.1.查询客户账号信息

请求地址:
get
http://ip:port1/iotapi/rest/v2/customer/get?sid={sid}&sign={sign}&ts={ts}
请求参数:
参数名 类型 约束 描述
sid 字符型 必填 账号
sign 字符型 必填 签名算法 Md5(sid+apikey+ts)
ts 字符型 必填 时间戳,当前时间 格式: yyyyMMddHHmmss; 如:20170401100312
响应参数:
参数名 类型 约束

code

返回码

参见常见返回码

msg

说明

 

detail

详细描述

 

customer

 

 

sid

接入账号

接入账号

name

客户名称

 

telephone

联系电话

 

status

状态

0-禁用,1-正常

balance

余额

单价:元

extcode

扩展码

用于短信子号

loginname

登录名

客户端登录用户

linkman

联系人

 

warningmails

预警提醒邮箱

 

warningphones

预警提醒电话

 

cardqty

卡数量

当前账号直接归属卡数量,不包括下级账号卡数

响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": "",
    "customer": {
        "name": "系统演示客户",
        "telephone": "",
        "status": "1",
        "balance": 9.5,
        "signature": "【物联网卡智能管理平台】",
        "sid": "10043",
        "loginname": "jsmsxxhp",
        "linkman": "",
        "cardqty": 14,
        "warningmails": "",
        "warningphones": "",
        "extcode": "003"
    }
}

3.2.卡类

3.2.1.查询物联网卡清单

分页查询客户所有卡数量,每次返回100张。
请求地址:
get
http://ip:port1/iotapi/rest/v2/card/list?sid={sid}&sign={sign}&ts={ts}&pageindex={pageindex}
请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+pageindex)

ts

字符型

必填

时间戳,当前时间 格式: yyyyMMddHHmmss;

:20170401100312

pageindex

数值型

必填

页码,从1开始

成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

卡数总量

客户卡数总量

pageindex

当前页码

 

totalpage

总页数

 

cards

 

 

msisdn

卡号

 

iccid

串号

 

  imsi

识别码

 

  state

系统状态

系统平台定义状态,而非卡使用状态

0-禁用,1-可用,2-暂停


{
	"code": "0",
	"msg": "成功",
	"detail": "",
	"result": {
		"count": 2,
		"pageindex": 1,
		"totalpage": 1,
		"cards": [
			{
				"msisdn": "1064787000001",
				"imsi": "460041870000001",
				"iccid": "898607b8101700000001",
				"state": "1"
			},
			{
				"msisdn": "1449999000002",
				"imsi": "",
				"iccid": "89899999901874000002",
				"state": "1"
			}
		]
	}
}

3.2.2.查询物联网卡信息

批量查询物联网卡详细信息,包含卡的基本信息、在线信息、当月用量等信息,受运营商内部数据更新及同步调度原因部分数据存在滞后。
请求地址:
get
http://ip:port1/iotapi/rest/v2/card/detail?sid={sid}&sign={sign}&ts={ts}&msisdns={msisdns}&iccids={iccids}
请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdns+iccids)

msisdns

字符型

必填

物联网卡号,多个以英文逗号隔开,最多100张卡

iccids

字符型

必填

物联网卡串号,多个以英文逗号隔开,最多100张卡

注意:

1. msisdns和iccids不能同时为空

2. 优先msisdns

ts

字符型

必填

时间戳,当前时间 格式: yyyyMMddHHmmss;

:20170401100312 


成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

记录数

 

cards

 

 

msisdn

卡号

 

iccid

串号

 

imsi

识别码

 

imei

IMEI

 

state

系统状态

0-禁用,1-可用,2-暂停

balance

余额

单位:元,该指卡在运营商的卡余额,若欠费请登录运营商网上营 业厅自充值

status

状态

作废

msstatus

卡使用状态

0:库存,1:待激活,2:正常,3:停机,4:销号,5:其他,6:测试

cycle

生命周期

0-其他期  1-测试期 2-沉默期 3-正式期

activedate

激活日期(开始计费日期)

格式:yyyy-MM-dd

stoptestdate

截至测试期日期

格式:yyyy-MM-dd

stopsleepdate

截至沉默期日期

格式:yyyy-MM-dd

expiredate

到期日期

格式:yyyy-MM-dd

openpool

是否开通流量池

1-开通流量池,0-未开通

mno

卡所属运营商

CM-移动 CT-电信,UN-联通

pkgcode

主资费编号

 

pkgname

主资费名称

 

isxn

弹性标识

 

isjyb

当前月份是否订购加油包

 

isaxb

当前月份是否订购安心包

 

sbbh

自定义设备编号

客户通过客户端自定义维护

openapns

开通 apn

多个以英文逗号隔开,部分运营商不提供,如:CMIOT,M2MIOT 注意:APN为内置默认名称,可忽略

apnstatus

apn 上网状态

:CMIOT:正常,M2MIOT:暂停

onoff

开关机状态(移动卡有效)

开机或关机

online

在线状态(移动卡有效)

在线或离线

apn

接入方式(移动卡有效)

: 4G 及其他

rat

接入点(移动卡有效)

如: cmiot

ip

终端 ip(移动卡有效)

 

pkgtotalflow

订购有效资费总流量

单位:kb组池卡默认为 0

pkgusedflow

有效资费用量

单位:kb 指有效资费总用量,不含本月失效资费用量 组池卡默认为 0

pkgtotalusedflow

资费总用量

单位:kb 指本月失效资费用量+有效资费用量 组池卡默认为 0

pkgleftflow

有效资费剩余量

单位:kb

组池卡默认为 0

flowusage

当月流量用量

单位:kb

smsusage

当月短信用量

单位:条

voiceusage

当月语音用量

单位:分

connectusage

当月连接数用量

单位:个

outflowusage

当月超套流量用量

单位:kb

仅部分卡支持,建议开卡时做好限额管控

statussyncdate

使        yyyy-MM-dd

 

pkgsyncdate

        yyyy-MM-dd

部分卡无套餐用量,同步日期为空

monthsyncdate

             yyyy-MM-dd

部分卡无月用量,同步日期为空,卡长时间不产生用量该同 步时间不更新,

{
    "code": "0",
    "msg": "成功", 
    "detail": "",
    "result": 
    {
        "count": 1, 
        "cards": 
                [{
                    "imsi": "460040739****13",
                    "iccid": "898602B71019******13",
                    "state": "1",
                    "yys": "CM",
                    "balance": 0, 
                    "cycle": "3",
                    "status": "00-正常", 
                    "msStatus": "2",
                    "onOff": "1",
                    "gprsStatus": "在线",
                    "ip": "10.127.*.220", 
                    "apn": "2G",
                    "rat": "cmiot",
                    "activedate": "2020-04-14",
                    "statussyncdate": "2021-07-05",
                    "pkgsyncdate": "2021-07-12",
                    "monthsyncdate": "2021-07-12", 
                    "pkgtotalflow": 512000,
                    "pkgusedflow": 805,
                    "pkgleftflow": 511195, 
                    "flowusage": 805,
                    "outflowusage": 0, 
                    "smsusage": 0,
                    "voiceusage": 0,
                    "connectusage": 0,
                    "openpool": "0"
                }]
    } 
}

3.3.卡类

3.3.1.查询物联网卡当月用量

批量查询物联网卡当月用量数据,包含套餐用量状况、当月流量、短信、语音、连接数用量,一次最大允许查询100张卡。
请求地址:
get
http://ip:port1/iotapi/rest/v2/card/usage/current?sid={sid}&sign={sign}&ts={ts}&msisdns={msisdns}&iccids={iccids}
请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdns+iccids)

ts

字符型

必填

时间戳,当前时间 格式: yyyyMMddHHmmss;

:20170401100312

msisdns

字符型

必填

物联卡号多个以英文逗号隔开,最多100个卡号

iccids

字符型

必填

物联网卡串号,多个以英文逗号隔开,最多100张卡

注意:

msisdns和iccids不能同时为空

优先msisdns


成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

记录数

 

usages

 

 

msisdn

物联卡号

 

iccids

串号

 

state

系统状态

0-禁用,1-可用,2-暂停

pkgtotalflow

套餐总流量

单位:kb

组池卡默认为0

pkgusedflow

套餐已用量

单位:kb

组池卡默认为0

pkgleftflow

套餐剩余量

单位:kb

组池卡默认为0

flowusage

当月流量用量

单位:kb

smsusage

当月短信用量

单位:条

voiceusage

当月语音用量

单位:分

connectusage

当月连接数用量

单位:个

outflowusage

当月超套流量用量

单位:kb

仅部分卡支持,建议开卡时做好限额管控


{
    "code": "0",
    "msg": "成功",
    "detail": "",
    "result": {
        "count": 2,
        "usages": [
            {
                "msisdn": "1064938567743",
                "imsi": "",
                "iccid": "89860621260034888888",
                "state": "1",
                "pkgtotalflow": 102400,
                "pkgusedflow": 53479516.16,
                "pkgleftflow": 0,
                "flowusage": 51564113.92,
                "outflowusage": 0,
                "smsusage": 0,
                "voiceusage": 0,
                "connectusage": 0
            },
            {
                "msisdn": "1064938172791",
                "imsi": "",
                "iccid": "89860316462012999999",
                "state": "0",
                "pkgtotalflow": 5120,
                "pkgusedflow": 0,
                "pkgleftflow": 5120,
                "flowusage": 0,
                "outflowusage": 0,
                "smsusage": 0,
                "voiceusage": 0,
                "connectusage": 0
            }
        ]
    }
}

3.3.2.查询物联网卡用量明细

批量查询物联网卡最近三个月的用量明细。
请求地址:
get
http://IP:Port1/iotapi/rest/v2/card/usage/past?sid={sid}&sign={sign}&ts={ts}&month={month}&msisdns={msisdns}&iccids={iccids}
请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+month+showday+msisdns+iccids)

ts

字符型

必填

时间戳,当前时间 格式: yyyyMMddHHmmss;

:20170401100312

month

字符型

必填

查询月份,格式:yyyyMM,只允许查询最近3个月

msisdns

字符型

必填

物联卡号,多个以英文逗号隔开,最多100个号码

iccids

字符型

必填

物联网卡串号,多个以英文逗号隔开,最多100张卡

注意:

msisdns和iccids不能同时为空

优先msisdns

成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

记录数

 

usages

 

 

month

月份

 

msisdn

物联卡号

 

iccid

串号

 

flowusage

当月流量用量

单位:kb

smsusage

当月短信用量

单位:条

voiceusage

当月语音用量

单位:分

connectusage

当月连接数用量

单位:个

outflowusage

当月超套流量用量

单位:kb,注意:部分运营商不支持


响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": "",
    "result": {
        "count": 1,
        "usages": [
            {
                "month": "202112",
                "msisdn": "1440263908508",
                "iccid": "89860426102190428508",
                "flowusage": 1536000,
                "outflowusage": 0,
                "smsusage": 0,
                "voiceusage": 0,
                "connectusage": 0
            }
        ]
    }
}

3.4.卡类

3.4.1.查询物联网卡已订购资费

查询物联网卡当前已订购有效资费明细。
请求地址:
get
http://ip:port1/iotapi/rest/v2/card/pkg/get?sid={sid}&sign={sign}&ts={ts}&msisdn={msisdn}&iccid={iccid}
请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid)

ts

字符型

必填

时间戳,当前时间 格式: yyyyMMddHHmmss;

:20170401100312

msisdn

字符型

必填

物联网卡卡号,单卡查询

iccid

字符型

必填

物联网卡串号,单卡查询

注意:

msisdn和iccid不能同时为空

同时非空时优先msisdn


成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

msisdn

物联网卡卡号

 

count

已订购套餐数量

 

pkgs

 

 

msisdn

卡号

 

pkgcode

套餐ID

系统定义套餐id

注意:套餐续费时传递此套餐ID

  pkgname

套餐名称

 

  startdate

起始日期

格式:yyyy-MM-dd

  enddate

结束日期

格式:yyyy-MM-dd

  buycycle

最少订购月份

月包最少订购12个月

  pkgtype

资费类型

1-流量,2-语音,3-NB,4-短信

  pkgcategory

资费包分类

1-月包、2-长包、3-加油包、4-安心包 5-测试包,6-闲时包、7-后付包

  mainpkg

是否主套餐


响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": "",
    "result": {
        "msisdn": "1440263908508",
        "count": 2,
        "pkgs": [
            {
                "pkgcode": "xagx031",
                "pkgname": "安心包10元100M(持续有效,需主动关停)",
                "startdate": "2021-01-01",
                "enddate": "2021-12-31",
                "msisdn": "",
                "mainpkg": false,
                "pkgtype": "1",
                "pkgcategory": "4",
                "buycycle": 1,
                "totalflow": -1
            },
            {
                "pkgcode": "xagx020",
                "pkgname": "移动1G年包",
                "startdate": "2021-12-01",
                "enddate": "2022-11-25",
                "msisdn": "",
                "mainpkg": true,
                "pkgtype": "1",
                "pkgcategory": "2",
                "buycycle": 12,
                "totalflow": 1048576
            }
        ]
    }
}

3.5.受理类

3.5.1.套餐续费

物联网卡套餐续费接口,套餐续费请求成功后由我司专员提交至运营商,运营商确定生效后系统会自动给客户方推送续费最终结果。开通此接口的客户必须确保平台账户余额充足,计费规则:先校验账号余额是否充足,套餐续费生效后再扣减费用。

数据推送模型请参考:“四、数据推送”,客户推送地址可以登陆客户端配置或由我司人员后台配置,客户端配置推送地址路径:系统首页点击“客户名称” “用户信息”接口参数修改“数据推送地址”

请求地址:
post
http://ip:port1/iotapi/rest/v2/card/pkg/renew
请求Header设置:

属性

约束

Content-Type application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求body参数:
参数名 类型 约束 描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid+pkgcode+month)

ts

字符型

必填

时间戳,格式:yyyyMMddHHmmss,如20170401100312
msisdn 字符型 必填 物联网卡卡号
iccid 字符串

必填

物联网卡串号

pkgcode

字符型

必填

续费套餐ID,可通过“查询物联网卡已订套餐”接口获取该卡已订购套餐信息。

month

整数型

必填 续订月份,注意:

月包套餐至少订购12个月,长周期包必须订购周期的整数倍,如:季包可以订购3个月、6个月、9个月……等

remark 字符型 可选 备注
repetition

整数型

可选 是否允许重复续费,1-是,0-否,默认为 0 若不允许重复,上一次续费订单未生效结束则无法提交。
startdate

字符型

可选 起始日期 , 指 新 订 购 的 资费起始生效日期 , 格 式 :yyyy-MM-dd,如:2023-01-01,默认为空表示不指定起始日期,计算规则如下: 规则 1:若卡存在有效资费则按资费的最后到期时间进行顺延; 规则 2:若卡无有效资费(卡所有资费已过期)则当日生效;
audit 整数型 可选 审核核模式:1-人工,2-自动,不填写默认为 1 选择自动审核务必确保账户余额充足,否则提交失败。
成功响应参数:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid+pkgcode+month)

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312

msisdn

字符型

必填

物联网卡卡号

iccid

字符串

必填

物联网卡串号

pkgcode

字符型

必填

续费套餐ID,可通过“查询物联网卡已订套餐”接口获取该卡已订购套餐信息。

month

整数型

必填

续订月份,注意:

月包套餐至少订购12个月,

长周期包必须订购周期的整数倍,如:季包可以订购3个月、6个月、9个月……等

remark

字符型

口选

备注

响应成功Json示例:
{
	"code": "0",
	"msg": "成功",
	"detail": "",
	"result": {
		"msisdn": "1064710578361",
		"orderid": "CR1909111603218752",
		"orderamount": 28.80,
		"ordertime": "2019-09-11 16:03:21"
	}
}
响应成功Json示例:
{
	"code": "1080",
	"msg": "套餐续费失败",
	"detail": "续费失败,原因:1064710578361存在重复续费单,单号:CR1909111603218752",
	"result": {
		"msisdn": "1064710578361",
		"orderid": "",
		"orderamount": 0,
		"ordertime": "2019-09-11 16:03:55"
	}
}

3.5.2.结束测试期

单卡强制结束测试期,同步调用上级运营商API,同一卡号3分钟内不能通过此类接口重复办理业务,该接口涉及物联网卡生命周期调整,请谨慎调用按需处理。适用范围:CT-OneLink,接口端口:port2
请求地址:
post
http://ip:port2/iotapi/rest/v2/card/stoptest
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid)

msisdn

字符型

必填

物联卡号

iccid

字符型

必填

物联网卡串号

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312
成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": ""
}
响应成功Json示例:
{
    "code": "1099",
    "msg": "上级错误",
    "detail": "通道方返回错误码:13009,同一卡号3分钟内不能通过此类接口重复办理业务"
}

3.5.3.强制激活

单卡强制激活,同步调用上级运营商API,同一卡号3分钟内不能通过此类接口重复办理业务,该接口涉及物联网卡生命周期调整,请谨慎调用按需处理。 适用范围:CT-OneLink 接口端口:port2
请求地址:
post
http://ip:port2/iotapi/rest/v2/card/foractive
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid)

msisdn

字符型

必填

物联卡号

iccid

字符型

必填

物联网卡串号

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312
成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述



响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": ""
}
响应失败Json示例:
{
    "code": "1099",
    "msg": "上级错误",
    "detail": "通道方返回错误码:13009,同一卡号3分钟内不能通过此类接口重复办理业务"
}

3.5.4.停机复机

单卡停机复机,同步调用上级运营商API,同一卡号3分钟内不能通过此类接口重复办理业务,该接口涉及物联网卡生命周期调整,请谨慎调用按需处理。适用范围:CT-OneLink,接口端口:port2
请求地址:
post
http://ip:port2/iotapi/rest/v2/card/stopkeep
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid+stopkeep)

msisdn

字符型

必填

物联卡号

iccid

字符型

必填

物联网卡串号

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312

stopkeep

字符型

必填

停机复机操作:0-停机/1-复机

成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述


响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": ""
}
响应失败Json示例:
{
    "code": "1099",
    "msg": "上级错误",
    "detail": "通道方返回错误码:13009,同一卡号3分钟内不能通过此类接口重复办理业务"
}

3.5.5.断网复网

单卡暂停/恢复上网,同步调用上级运营商API,同一卡号3分钟内不能通过此类接口重复办理业务,暂停上网会中断设备正常使用,恢复上网会促使设备继续联网产生用量,请谨慎调用按需处理。适用范围:CT-OneLink 接口端口:port2
请求地址:
post
http://ip:port2/iotapi/rest/v2/card/switchnet
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid+apnname+opertype+marginrat)

msisdn

字符型

必填

物联网卡号

iccid

字符型

必填

物联网卡串号

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312

apnname

字符型

可选

指定具体APN名称,可为空

注意:若开通多个APN上网功能,必须指定具体操作的APN名称

如:CMIOT、CMMTMJSXZ

opertype

字符型

必填

操作类型:0-暂停 1-恢复

marginrat

字符型

可选

余量百分比,若不填写或填写0默认强制恢复上网。

卡的当前余量占比高于该值才允许恢复上网,否则不能恢复上网。注意:受运营商用量接口数据滞后,卡的当前余量存在滞后请做好限控。

示例:填写“30”表示卡的余量高于30%才支持恢复上网

成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": ""
}
响应失败Json示例:
//1099
{
    "code": "1099",
    "msg": "上级错误",
    "detail": "通道方返回错误码:13009,同一卡号3分钟内不能通过此类接口重复办理业务"
}
//1031
{
    "code": "1031",
    "msg": "参数值错误",
    "detail": "该卡开通多个APN上网功能CMIOT,M2MIOT,apnname参数不能为空,必须指定需要操作的APN名称"
}

3.5.6.设置语音白名单号码

设置单卡语音白名单号码,同步调用上级运营商API,同一卡号1分钟内不能通过此类接口重复办理业务(频次间隔大点),请谨慎调用按需处理。适用范围:CT-OneLink 接口端口:port2
规则:
语音白名单号码个数最大为5个。在白名单没有达到5个时,可以继续添加白名单号码,且系统不限制增加频次,但增加后白名单的总数不能超过5个;
从白名单中删除号码的操作每自然月最多允许发生1次,每次最多可删除2个白名单;白名单的增加和删除操作均立即生效,被删除的白名单用户不计入该类白名单的总数;
一个自然月只允许删除1次,请谨慎操作。
请求地址:
post
http://ip:port2/iotapi/rest/v2/card/setvoicewhitemobile
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts+msisdn+iccid+opertype+taskid+content)

msisdn

字符型

必填

物联网卡号

iccid

字符型

必填

物联网卡串号

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312

opertype

字符型

必填

操作类型:0-删除 1-新增

新增/删除规则请查看“规则”说明。一个自然月只允许调用1次删除操作,

taskid

字符型

可选

归属群组ID

content

字符型

必填

白名单号码,

删除操作时,一次最多可删除2个号码,以“_”隔开

成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

响应成功Json示例:
{
    "code": "0",
    "msg": "成功",
    "detail": ""
}
响应失败Json示例:
//12144
{
    "status": "12144",
    "message": "本月删除白名单号码次数已达上限,本次业务办理失败",
    "result": []
}
//13010
{
    "status": "13010",
    "message": "同一卡号1分钟内不能调用该接口超过1次",
    "result": []
}

//19019
{
    "status": "19019",
    "message": "群组白名单+成员白名单数量已达上限,不允许办理业务。",
    "result": []
}

3.6.短信类

短信发送接口只适用中国移动物联网卡。中国移动物联网卡短信必须通过10648通道下发和接收,目前通过平台给物联网卡下发短信暂时免费,后续根据运营商收费再作调整。

3.6.1.发送物联网卡明文短信指令

物联卡必须已开通短信功能,否则短信发送失败。支持中英文短信,如短信内容包含中文或中文标点时,运营商将强制在内容后添加签名,如【XX】。
请求地址:
post
http://IP:Port1/iotapi/rest/v2/sms/sendiotsms
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

md5(sid+apikey+ts+mobile+content)

content含有中文请进行gb2312或utf-8转码

mobile

字符型

必填

物联网卡号或串号

多个以英文逗号隔开,最多1000个号码

content

字符型

必填

短信内容,只支持英文短信,暂不支持中文字符

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312

extno

字符型

可选

暂不支持扩展

成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

发送条数

短信条数

fee

计费条数

70字一条,超过70字按67个字一条。

tasked

任务id

对应状态报告taskid

响应成功Json示例:
{
	"code": "0",
	"msg": "成功",
	"detail": "",
	"result": {
		"count": 2,
		"fee": 2,
		"taskid": "4e4002b6e89b48f69d9271c0edf920c8"
	}
}

3.6.2.发送物联网卡密文短信指令

短信传输过程中采用加密方式;物联卡必须已开通短信功能,否则短信发送失败。支持中英文短信,如短信内容包含中文或中文标点时,运营商将强制在内容后添加签名,如【XX】。
请求地址:
post
http://IP:Port1/iotapi/rest/v2/sms/sendiotencryptsms
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

md5(sid+apikey+ts+text)

text

字符型

必填

消息密文,物联网卡号或串号(多个以英文逗号隔开)短信内容以##隔开,格式:mobiles##content; 最近1000个号码

13800010001,13800010002##江苏XXXXXX有限公司。

加密算法

1.采用AES对称加密算法(CBC模式、NoPadding填充)

  秘钥:取Apikey前16位

  向量:取Apikey后16位

2.Base64加密

伪代码: Base64.encode(AES(mobiles##content));

详细代码请参考示例代码

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312

extno

字符型

可选

暂不支持扩展


成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

发送条数

短信条数

fee

计费数

70字一条,超过70字按67个字一条。

taskid

任务id

对应状态报告taskid

响应成功Json示例:
{
	"code": "0",
	"msg": "成功",
	"detail": "",
	"result": {
		"count": 2,
		"fee": 2,
		"taskid": "204220f74dbe4aab99c91b0d610bc828"
	}
}

3.6.3.获取短信状态报告

每次请求只能获取未被获取过的短信状态报告,已获取的报告不会重复获取;单次请求最多获取10000条状态报告记录。建议采用推送接口
请求地址:
post
http://IP:Port1/iotapi/rest/v2/sms/rpt/get?sid={sid}&sign={sign}&ts={ts}
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts)

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312
成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

记录数

 

rpts

 

状态报告节点

taskid

任务id

对应发送返回值taskid

mobile

物联网卡号

 

state

状态

DELIVRD发送成功其他发送失败

rpttime

报告时间

响应成功Json示例:

响应失败Json示例:
{
	"code": "0",
	"msg": "成功",
	"detail": "",
	"result": {
		"count": 2,
		"rpts": [
			{
				"stat": "DELIVRD",
				"mobile": "1064844353790",
				"taskid": "5fff2c6b7d8c4f38897fa15e7bcb1aa7"
			},
			{
				"stat": "DELIVRD",
				"mobile": "1064844353795",
				"taskid": "5fff2c6b7d8c4f38897fa15e7bcb1aa7"
			}
		]
	}
}

3.6.4.获取上行回复短信

每次请求只能获取未被获取过的上行短信,已获取的上行短信不会重复获取;单次请求最多获取10000条上行短信记录,建议采用 推送接口
请求地址:
post
http://IP:Port1/iotapi/rest/v2/sms/mo/get?sid={sid}&sign={sign}&ts={ts}
请求参数说明:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

Md5(sid+apikey+ts)

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312
成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

记录数

 

mos

 

回复短信节点

  content

上行内容

 

apmid

消息id

 

spcode

接收号码

通道接入码10648或1069通道

mobile

源发号码

物联卡号或手机号码

响应成功Json示例:
{
	"code": "0",
	"msg": "成功",
	"detail": "",
	"result": {
		"count": 2,
		"mos": [
			{
				"content": "mobile2iot:www.jsmsxx.com",
				"apmid": "108502f27f1042e89ed4b8afbd570ab0",
				"spcode": "10690599801003",
				"mobile": "15951977097"
			},
			{
				"content": "123456789",
				"apmid": "AEEED88120D570E19149D557495D6FC6",
				"spcode": "10690599",
				"mobile": "1064807400778"
			}
		]
	}
}

3.6.5.发送手机短信

支持向用户手机号码发送模板短信,主要为异构系统提供短信应用,适用各类提醒消息或验证码短信,请事先登陆客户端定义短信模板,模板生效后即可使用。

短信默认签名【物联网卡运营平台】,支持绑定客户特有签名,但必须事先报备。

使用此接口系统自动扣减账号余额,默认0.1元/条,单条短信字数小于70字按一条计费,超过70字的长短信按67字一条分割计费;

请求地址:
post
http://IP:Port1/iotapi/rest/v2/sms/sendsms
请求Header设置:

属性

约束

Content-Type

application/x-www-form-urlencoded

必填

Content-Encoding

utf-8

必填

请求Body参数:

参数名

类型

约束

描述

sid

字符型

必填

账号

sign

字符型

必填

签名算法

md5(sid+apikey+ts+mobile+tplid)

tplid

字符型

必填

短信模板编号,登陆客户端查询短信模板编号

mobile

字符型

必填

手机号码

多个以英文逗号隔开,最多1000个号码

content

字符型

必填

短信内容或模板变量值,多个模板变量值以||隔开;

:@1@=xx客户||@2@=用量即将到期

ts

字符型

必填

时间戳,当前时间格式:yyyyMMddHHmmss,如:20170401100312

extno

字符型

可选

暂不支持扩展

成功响应参数:

参数名

名称

说明

code

返回码

 

msg

消息

 

detail

详细描述

 

result

 

 

count

发送条数

短信条数

fee

计费条数

70字一条,超过70字按67个字一条。

tasked

任务id

对应状态报告taskid

响应成功Json示例:
{
	"code": "0",
	"msg": "成功",
	"detail": "",
	"result": {
		"count": 2,
		"fee": 2,
		"taskid": "4e4002b6e89b48f69d9271c0edf920c8"
	}
}

3.6.6.状态/上行回复推送

采用推送方式将短信状态/上行回复实时推送给客户,客户需要提供推送地址,以http或https开头,请勿填写无效地址以免影响业务数据处理,单次推送数据超时时间为5秒,请客户保障提供的推送地址处理能力,客户接收到推送数据后响应“success”字符。
配置推送地址:
菜单:系统首页点击“客户名称” “用户信息”接口参数修改“状态报告接收地址”
推送数据格式说明:

参数名称

说明

类型

备注

type

类型

字符串

推送类型

P0001:短信状态

P0002:上行回复

data

推送数据

字符串

值是JSON字符串

短信状态推送示例:(data数据属性说明参考3.4.3):
{
	"type": "P0001",
	"data": "[{\"mobile\":\"1064807400778\",\"state\":\"MA:0041\",\"taskid\":\"F4D1C4634F02ECE6F1A75C67D5067FDA\"}]"
}
上行回复推送示例(data数据属性说明参考3.4.4):
{
	"type": "P0002",
	"data": "[{\"mobile\":\"1064807400778\",\"apmid\":\"259ca6d57cdd46deb0a91c0d6a2551b5\",\"spcode\":\"1064899102015\",\"content\":\"test 2021-09-15 18:04:33\"}]"
}

4.数据推送

由物联网卡运营支撑系统主动向客户方推送数据,采用POST方式;涉及业务:套餐续费。

4.1.配置推送URL

菜单:系统首页点击“客户名称” “用户信息”接口参数修改“数据推送地址”以http或https开头,请勿填写无效地址以免影响业务数据处理。

4.2.推送数据模型

参数说明:

参数名称

说明

类型

是否必填

备注

id

消息标识

字符串

用于标识消息的唯一性,由推送服务生成

sign

签名

字符串

用于权限校验,由推送任务生成

sign=md5(id+sn+sid+apikey+ts的密钥)

sn

编号

字符串

消息类型编号

sid

帐号

字符串

客户帐号

api

推送地址

字符串

/

预留,用于其他接口推送

time

推送时间

字符串

格式:yyyy-MM-dd HH:ss:mm

data

推送的数据

字符串

值是JSON字符串

业务编码:

编号(sn)

描述(desc)

数据(data)  备注:JSON格式的字符串

OD1002

续费结果

data :{

”level”:”级别info,warning,error”,

”msg”:”消息内容,

status: 1:成功:0失败

”orderid”: ”订单编号”,

”msisdn”: ”卡号”,

”iccid”:”iccid”,

”imsi”: ”imsi”,

”equipment”: ”设备编号

”pkgcode”: ”资费编号”,

”pkgname”: ”资费包名称”,

”month”:订购周期

}

推送示例:
{
	"sn": " OD1002",
	"desc": "订购成功",
	"sid": "帐号",
	"sign": "预警",
	"data": "{\"level\":\"info\",\"status\": \"1\",\"msg\":\"订单续费成功,资费已生效\",\"orderid\":\"NR1909111728587778\", \"msisdn\":\1064787038023”\",\"iccid\" :\"898607b8101700728023\",\"imsi\":\"460041870308024\",\"equipment\":\"自动售货机北广场668号\"}"
}
加盟艾欧特 加盟艾欧特

确定您的物联网卡需求

注:艾欧特物联不对个人提供任何物联网卡及其相关服务;

不可用于手机、电脑上网,包括且不仅限于随身MIFI、CPE等人联网设备。

  • 使用区域
  • 中国大陆地区
  • 中国大陆以外地区
  • 移动
  • 电信
  • 联通
  • 广电
  • NB-IOT
  • 4G
  • 5G
  • 定向流量
  • 通用流量
  • 插拔
  • 贴片
  • 30M
  • 50M
  • 300M
  • 20000次
  • 无资费
  • 30M
  • 100M
  • 300M
  • 500M
  • 1G
  • 2G
  • 3G
  • 4G
  • 5G
  • 6G
  • 10G
  • 12G
  • 15G
  • 16G
  • 20G
  • 30G
  • 50G
  • 60G
  • 80G
  • 100G
  • 100G以上
    
    联系我们

    江苏艾欧特物联通信技术有限公司

  • 电话:198-9588-1069
  • 邮箱:coo@iotcard.com
  • 网址:www.iotcard.com
  • 地址:江苏南京雨花台区软件大道119号 丰盛商汇5幢5层

微信公众号

售前微信

Copyright © 2023 江苏艾欧特物联通信技术有限公司版权所有 苏ICP备2021055992号