T3网络验证V3
    T3网络验证V3
    • 概述和快速开始
    • 加密和签名算法
    • 通用参数和错误码
    • 单码卡密登录
    • 单码卡密心跳验证
    • 单码卡密解绑机器码
    • 通过单码卡密获取云端变量
    • 获取程序版本信息
    • 获取程序公告

    单码卡密登录

    单码登录 API#

    基本信息#

    接口路径: /v3/single_login/{appid}
    请求方法: POST
    是否需要登录: 否
    功能说明: 使用卡密和设备标识进行登录验证,返回卡密详情和心跳码

    请求参数#

    参数名类型必填说明
    card_codestring是卡密(激活码)
    device_codestring条件必填设备标识(机器码)
    程序开启设备验证时必填
    timestampint条件必填Unix时间戳(秒)
    开启TimeCheck时必填
    signstring条件必填请求签名
    开启SignMode时必填

    请求示例#

    明文模式#

    {
        "card_code": "ABC123DEF456",
        "device_code": "DEVICE_12345678",
        "timestamp": 1699999999,
        "sign": "abc123def456789..."
    }

    RSA加密模式#

    // 上述JSON经过RSA加密和Base64编码后的数据
    aGVsbG8gd29ybGQgaGVsbG8gd29ybGQgaGVsbG8gd29ybGQ=...

    成功响应 (200)#

    {
        "code": 200,
        "message": "登录成功",
        "data": {
            "card_id": 12345,
            "expire_time": "2025-12-31 23:59:59",
            "time_length": "30天",
            "remaining_seconds": 2592000,
            "device_code": "DEVICE_12345678",
            "unbind_count": 0,
            "extra_data": "",
            "heartbeat_code": "abc123def456789abcdef123456789abc"
        },
        "timestamp": 1699999999,
        "nonce": "4614eccbee8f10a8f3854032c86a2ba8",
        "sign": "decc09615d384fb6b630b788e1623b28"
    }

    响应字段说明#

    字段名类型说明
    card_idint卡密ID
    expire_timestring到期时间
    格式:YYYY-MM-DD HH:mm:ss
    time_lengthstring时长描述
    如:30天、1个月、永久
    remaining_secondsint剩余秒数
    次数卡返回剩余次数
    device_codestring设备标识
    unbind_countint已解绑次数
    extra_datastring额外数据(hex编码)
    heartbeat_codestring心跳状态码
    重要:必须保存,用于后续心跳验证

    错误响应#

    错误码错误消息说明
    404卡密不存在输入的卡密不存在或已被删除
    405卡密已禁用卡密已被封禁,无法使用
    406卡密已过期卡密使用时长已到期
    408卡密次数已用完次数卡的次数已用完
    409设备不匹配当前设备与绑定设备不一致
    410需要设备标识程序开启了设备验证,必须传入device_code
    422参数错误缺少必要参数或参数格式错误
    427IP不匹配IP验证失败
    430卡密登录被禁止禁止空机器码登录
    错误响应示例:
    {
        "code": 404,
        "message": "卡密不存在",
        "data": null,
        "timestamp": 1699999999,
        "nonce": "abc123..."
    }

    C++ SDK调用示例#

    基础用法#

    获取登录信息#

    自动获取设备码(Android)#

    完整登录流程#


    注意事项#

    重要提示
    1.
    首次使用卡密时会自动激活并绑定设备
    2.
    heartbeat_code 必须保存,用于后续心跳验证
    3.
    如果程序开启了设备验证,device_code 必填
    4.
    登录成功后建议立即启动心跳验证:api.startHeartbeat(30, 5)
    5.
    SDK会自动保存登录状态,可通过 api.isLoggedIn() 检查

    设备码获取说明#

    Android系统#

    SDK提供自动获取方法:
    获取优先级:
    1.
    ro.serialno - 序列号
    2.
    ro.boot.serialno - 启动序列号
    3.
    ro.build.id - Build ID
    4.
    组合设备信息(型号+品牌+指纹)

    其他平台#

    需要自行实现设备码获取逻辑,建议使用:
    Windows: 硬盘序列号、主板序列号
    Linux: 机器ID、MAC地址
    macOS: 硬件UUID
    要求:
    设备码必须唯一且稳定
    不能包含单引号 ' 字符
    建议长度在10-64个字符
    修改于 2025-11-10 21:03:45
    上一页
    通用参数和错误码
    下一页
    单码卡密心跳验证
    Built with