# CISS提供的接口【客户端扫码登录认证】

此接口仅供测试使用, 目前扫码登录到CISS后台管理系统,正式对接可以忽略

# 管理员扫码通知【应用APP和应用平台间】

> 扫码接口
接口名称 扫码通知
接口描述 应用客户端用户扫码通知PC端已经扫码
接口协议 http+json
承载协议 http
HTTP请求方式 POST
请求参数格式 JSON
承载网络 internet
主要使用者 应用APP和应用平台之间
接口URL 测试地址https://version.simkey.tech/skfinterface/auth/scan

请求参数信息

名称 说明 数据类型 长度 可空
appId 应用的设备号 String - N
param 参数加密串。
UrlEncode(Base64(SM4(CBC_Encrypt ({"authId":"xxxx"," "scanStatus":"xxxx","timestamp":"xxxx","signature":"xxxx"}))) key为appid对应的
String - N

param请求消息明文明细

名称 说明 数据类型 长度 可空
authId 扫码数据信息 String - N
scanStatus 扫码状态 81已扫码,84扫码认证取消 String - N
timestamp 当前终端时间,格式yyyyMMddHHmmss String - N
signature 请求签名
0-9-A-Z升序排序不区分大小写取值= Sm3WithSM4Base64(appId+authId+scanStatus+timestamp) ,SM4采用ciss平台颁发给调用方系统的Key为密钥
String - N

应答消息:

名称 说明 数据类型 长度(字节) 可空
statusCode 200:成功 Int N
returnObj 返回的描述信息 String Y

除了状态码212 “接入信息不存在” 为明文外其余returnObj 都为密文 加密方式为

UrlEncode(Base64(SM4(CBC_Encrypt(
“timestamp”:”xxxxxxxxx”,
“resultDesc”:”xxxxxxxxx”,
“signature”:”xxxxxxxxx”,)))
1
2
3
4
> returnObj 明文信息如下
timestamp 响应时间戳。格式:yyyyMMddHHmmss String - N
resultDesc 异常信息描述 String - N
signature 请求签名
用于鉴别发送者。
0-9-A-Z升序排序不区分大小写取值= Sm3WithSM4Base64(resultDesc +timestamp) ,签名值的key 为 appId 对应的key
String - N

入参:

{
    "param": "jN8Jv3Mt7Wz%2F5muMs9QsVX1%2BTg%2BGLMONGnSP%2BRpLv3es8gXo6vWVzFe%2FFGBZ%2FjE%2Bb%2F3YoFZVD1EyNe6Y7lsc9H9pJh8D%2B9xgDZOsPdB71K6DFtwIXaO8PHeY1x4irQFuMu6yUrNUBcdyMb1rqJe3nj6bLx1HhL5LX%2BTY5qMip%2FYWSKWgOUnvzVrYkjhGtIzhVXtOEnEU8ht8pAJ92rHqIQ%3D%3D",
    "appId": "1010000000000021",
}
1
2
3
4

返回参数 成功版

{
    "statusCode": 200,
    "returnObj": "4VII%2FkgNbyfXmcrDqOVFybMipnm3nb2bq68HqlBOyMxpsiVF68aGs3OgabMp0y3ipboN%2FrmgL%2FIpjlBf%2FO%2F62q2QqJOKcvf2WQPEGs9SjGpHsfNpjKWrUlnQpx0%2FJVtaNjw6wj68leYdV8JoNb7OFA%3D%3D"
}
1
2
3
4

返回参数 失败版1

{
    "statusCode": 212,
"returnObj": "接入信息不存在"
}
1
2
3
4

返回参数 失败版2

{
    "statusCode": 209,
    "returnObj": "Hrx6XwobsbEXwDzBegbsk82MMKDrBrM8%2F9NVAVxvF352doz472OglmdhCxE6f3HDQiCzDLlccRy0kjapn0xgxYHC7471CnmL5V%2BN%2B9R%2BiTRw8jICexFoLqcYbtZMu5Nt%2BjmOyF7faPG6Qrm3DCQpNpPoFr%2Fg6KiO4c%2FCTAiF28YvZexEoRotjwfDtfNm9Opb"
}
1
2
3
4

# 管理员扫码认证【内部使用和应用平台无关】

> 扫码认证
接口名称 扫码认证
接口描述 应用客户端用户扫码通知PC端
接口协议 http+json
承载协议 http
HTTP请求方式 POST
请求参数格式 JSON
承载网络 internet
主要使用者 应用
接口URL 测试地址
https://version.simkey.tech/skfinterface/third/verifySign/loginVerify

请求参数信息

名称 说明 数据类型 长度 可空
appId 应用的设备号 String - N
param 参数加密串。UrlEncode(Base64(SM4(CBC_Encrypt ({"authId":"xxxx"," signCert ":"xxxx","signData ":"xxxx","timestamp":"xxxx","signature":"xxxx"}))) key为appid对应的 String - N

param请求消息明文明细

名称 说明 数据类型 长度 可空
authI 扫码数据信息 String - N
signCert 签名证书(16进制) String - N
signData 签名数据(16进制) String - N
timestamp 当前终端时间,格式yyyyMMddHHmmss String - N
signature 请求签名
用于鉴别发送者。0-9-A-Z升序排序不区分大小写取值= SM4(Sm3WithSM4Base64(appId+authId+signCert+signData+timestamp) ,SM4采用ciss平台颁发给调用方系统的Key为密钥
String - N

应答消息:

名称 说明 数据类型 长度(字节) 可空
statusCode 200:成功 Int - N
returnObj 返回的描述信息 String - Y

除了状态码212 “接入信息不存在” 为明文外其余returnObj 都为密文 加密方式为

UrlEncode(Base64(SM4(CBC_Encrypt(
“timestamp”:”xxxxxxxxx”,
“resultDesc”:”xxxxxxxxx”,
“signature”:”xxxxxxxxx”,)))
1
2
3
4
> returnObj 明文信息如下
timestamp 响应时间戳。格式:yyyyMMddHHmmss String - N
resultDesc 异常信息描述 String - N
signature 请求签名
用于鉴别发送者。0-9-A-Z升序排序不区分大小写取值= Sm3WithSM4Base64(resultDesc +timestamp) ,签名值的key 为 appId 对应的key
String - N

入参:

{
    "param": "g7ymaWypM2ONYdANKBALLGuznZkiZhZwdsUf1tSfqj3GiayyqVDG5DqFE5I8359Eej6Eh7OuWgxjzkv8eYI0m3f7HxPlln35t2w8QiNSESctKsbmliRcm29IZ2BCxlqH%2B%2FbJUnUdwFHSZt25I7h0MESA5RQvw650gz97hBlKElqmVfMzq2NvtHNrvJXeQLKX4UTWsYvg8uXyLUT1GYRJDppwTM7748qDt7c%2F5Jg14sH41HoSgFdJfEVtYB04HI0%2F6h1IuC%2FEmcq%2F%2FvfSMgM59FPdFTc14sxKRrnKcQwV9dQil%2BMNlx5rpYvx8GHxk36sefUj8R9m4wQGfvXHF8LDgJz9zcXOZRNT%2BLBYjc7XdV3vtqXLwM5WnlfRwH%2BPYURTeo3lgCSv7x2qNHeDUQLOj3n%2FIdrD1op3G1JLnIhz4mcXh%2BQ5%2Bjd%2BQh7jnYiwwM0Rq3aOZYQYe7frCdDn4TCD266Z5qr2YG%2F4EvCQU3GHknZQcsLqGjGEI2FB80SAVFrGueOPEYEPQwQD51Hn6lmI6k2f%2BdWR4cA3bQNIPHw50pZEqOuC5LPEeEYX5clTJvv%2FVfxTKAFRbYAwWACJoWpZt5sfcaTfXnHfTTAWYndpet6RawogY8%2BbqYk2A7cjDV9Frc2I%2Bti74BwEI0uGHtJApivtx79VMoaO3ZFA9qNNy3kC%2FyfNq6F7sFgS5hCes%2FbTLpn8pMEa9JF%2F%2FZUMzGz0E1eFvYhqQXdafRPu817UywwO7%2BugjBnIwii35VvUjFmjMUYLzCu0hDX1YvZmSR%2BOR7RYGpNK2s9%2Bvbp96S%2Fb2QjQ%2BlX2XAEI2cCcgfeTKqLgWz1RusItYQUE8Et3DEwcmiNJlpomZ95UO5WRaAfk413Jo9eQON2yCBXU0X45t3PU9ZtwAkv%2Bl1de2q53elQTFjr8cCowMNLVsjPzQPazLNzJmRO4D%2FisMhxmx2OHihS%2FG77a38IizRlv1GoupjTZhUgd5bc1QJDCbIGXGnnn7OqKVNIXyMNATJVxY4obr0zvzDmhFPnR9AFij%2Fq5V25ZVtSOKvfLvggFdRyGlzHWBX3KtnbTrblSKCtdF4iVsiBdJIfUic8DtpIwlRAqL0GmxA2FhJaMYiy%2BJ%2B5C3B0Kk6afR2sEfHruuLJQnOfA8xkrimTWQxgEyplgrV7i5hgBmUG%2BZmBTdMlnSWH%2FhCh6p3yL9zcohYUB7QMISfcQQEbFQIF4tZ0h63UDeK540F6aC20nj9eNumsot3mF%2FhPI1hOFzKNcmW1KO7Ix%2FzAx6ZDEKbunUtsa53ZXpe8G1OtbP7OsI8u25X%2FVBg%2Fp7hSC9Q5C0zCFpTJeqPMnhE%2FeUezK76n8sRTil2BjXqR1q8YyZenTJTa2QquXuu%2BP6Xe19P8%2FnsAOXEjzSl%2F2p1VdOZ6hG89GRflDUxQ4l4hfqQ%2FD4WWeoVRDsEzhjxa4WU5XzPycZ5OV5jBj1oKgSlpQcutMwjmS3HK0SndY9XEZFd7seGQQ1GXsVLuVvjyWnGs9rj3YlziOAYK2lXr8tYjN62as%2BpUBDg%2Btm%2FjF8%2BwFMVJLO2hL8XjtFz8dM5%2BFZ%2F3fYf4NRTp0ULY2%2FX1SLwH1pKczI3GCWwwSWtGZx8tDZPmVekuy5LIgCb77mA8TrrUW1iztGsNM7tYeEh7xKwYgJkQ%2BwlTMg4R5bz4xU%2BHgieQyzJAVsd260%2FRvEJxFUbxRV33lABKALC3EtqVhTNjpXq5z1TpmT8nMP3yVyuTv1dtVTc4qhFUh4P7A89AgqwVGJCgUf%2FRAn4ksghk4jNKInrqaCAgPWS5KrN2D8D2uPDXzwADoiCB4WZ0%2BCZqLbke%2BVzb%2BbZQK7POOwqNaKFlUqTS43%2FbSCNKQk4YoxUmV1c1FnEE2VS1SMrpWSxq2vkRcyfhjmaD7p%2BRJmLOl5YDnFfxOWSAk0Yi%2F4u8MUbZUFYh7Kshsbj2mo1Z5LymyNmzEkd4WROLGL780K7E7ltr9DGONId%2FXn62RGWI%2BBr%2FuqWpnFG2ph88MspmHXhL6Fuyfv5FDlX0QZYiLnm3gB1CtnQPI4dGnhxNCc7UsVHvpi6U2tcx4Pk3O9KyI5sW%2Fu40g7Nv%2FG6vMXdMLKXU4Vt4cOF%2FGu5Xb5Q2OvKiZZAb%2F6gVkrzhcPb%2FOsEzIIn1w2L2H4ARGoO732vyyayRBdHWlaqEwUrY3%2BzDHDtW682%2FK995kClO9IesFgWGMD8uRzZGOZIm3FTfgyofZX6r9vlpexmi4WDJSbpt0uD%2FpPPEXpw5VxwPSSehryA5o%2B9UPbBQs12AsIyFTGUWBND77kzYAMjfpd%2Ff3LD9UX5kVkTk7TvDB9mxuUyrW%2F9LEj5g8CEkKAn01Q5KbNyy1AnT6fq7YcceC1etAvxEMQoyCkSCYZD75Wzy7LsE%2Fqf3cOJpk8vLYPqZvZ3utB77KtFakbRMpjU76Szvx50q0W43OXFeGcCuVy6WIo7mYC7r%2Fuqu7trK8qENpkep4IaPbfFsp4zD%2B9havCeLPIErgrRF8L4eAlRnBMJsE8ZjKcVXiwi32C4LfdFx6c70YF8gx16e2OYTc3U67%2Bm84H8laMTm%2F6jMyIHqJoXiLPw%2BJZ%2BYxodvtHwNxaHEzOFDTR4ABfQTP5c6WTjDbSVtcN2sc%2F9QdSN0O6UOO0ffalelF5OvzqeRZJpMFDSxA3unIz0TVWGloedYY68CI8TH05tTr3licF513qiUi357ZL3HkzDJIwvNWSwrC0rkZd2Buql%2B0E0KlJI%2B2w2nv1bRmcbxgN6SlJr0WPeFYnGCgR5cqcq9OevmGwAtP2xgp6qxRhMezwEdSdmfZAHchRU8YNvrSi5o9olXn%2BjmAmFlyh%2BWW7mJLZJBeNl9Kddnd42NgfIjEfAeq6aSkuQCYP9vyaJtjX80kljjEr%2FIFHlfVSJReTnBpKZvDGn0c98x1yfvr4CvxBSVM74zQsS%2FhVzDWPMsmZTl7F0icqvkoUGPCFP7GRcTZqkdWrviHPEVE705YVCHeHBRHspWbgIb1nomFSHHFNWJyFdvHchovf2%2BTF4G%2FVwzpiBag5OAHBdVEd%2Fw8Pkan7hgEL4bsZZJB%2FmIVCRkSsxlY1WlrtZMnj%2BYqsO88OeX4yA8pfxZ3h9I5qD677sscN5NrL0FlXk%2Fl8QDkLC9bOFAIguMCcvw%2FJdYh9Qe4OQxwGsfVQMwKd%2F4wRRsrGto3niKDB%2FaSyVzVMgtHxS5D8qOfXNIS2cMeCqRz1ka6mHEllfdNEETtJ70GuCVTYJViMP57WQD55TF8Ns%2BzEZGVI90iybZHhBkuIQ%3D%3D",
    "appId": "1010000000000021"
}
1
2
3
4

返回参数 成功版

{
    "statusCode": 200,
    "returnObj": "DideOa97gjxAhDv6V5eksGzy4MWGfs4dxmVt7AxeGD4haUsidPgDdqotu3YUC%2FjYM%2FeWmQgqhO4RNbqY5LXWjqCI4iFA94iGWHWtS3N555ByakeuTGAWUavicIqPorRIJQoZHRvJ9gGMFwaqL46irw%3D%3D"
}
1
2
3
4

返回参数 失败版1

{
    "statusCode": 212,
"returnObj": "接入信息不存在"
}
1
2
3
4

返回参数 失败版2

{
    "statusCode": 921,
    "returnObj": "Hrx6XwobsbEXwDzBegbsk82MMKDrBrM8%2F9NVAVxvF352doz472OglmdhCxE6f3HDQiCzDLlccRy0kjapn0xgxYHC7471CnmL5V%2BN%2B9R%2BiTRw8jICexFoLqcYbtZMu5Nt%2BjmOyF7faPG6Qrm3DCQpNpPoFr%2Fg6KiO4c%2FCTAiF28YvZexEoRotjwfDtfNm9Opb"
}
1
2
3
4