ECOSteam
    • ECO开放平台接入流程
    • RSA公私钥生成、签名
    • 通用请求参数与响应
    • 订单状态处理流程说明
    • 回调通知服务
    • WebSocket监听商品变动消息
    • 服务商入驻流程
    • 商户
      • 获取用户钱包金额
        POST
      • 获取资金流水
        POST
      • 求购账户转入转出
        POST
      • 查询已绑定steam账号列表
        POST
      • 验证交易链接
        POST
      • 获取steamID
        POST
    • 市场
      • 获取steam市场名称和在售价格(推荐)
        POST
      • 品类查询(不推荐)
        POST
      • 在售/预售商品列表
        POST
      • 批量查询在售商品价格
        POST
      • 批量获取商品详情
        POST
      • 批量查询在售商品状态
        POST
      • 获取检视图
        POST
    • 购买
      • 指定商品购买
        POST
      • 指定类别购买
        POST
      • 购买预售商品
        POST
      • P2P购买订单
        POST
    • 订单
      • 历史订单查询
        POST
      • 查询订单状态
        POST
      • 查询购买订单列表
        POST
      • 查询订单详情
        POST
      • 查询报价信息
        POST
      • 处罚订单查询
        POST
      • 买家取消订单
        POST
      • 举报卖家撤回报价
        POST
      • 买家确认订单交易成功
        POST
      • 查询出售订单列表
        POST
      • 卖家订单发送报价
        POST
      • 用户接受报价
        POST
      • 用户一键处理报价
        POST
      • 卖家查询订单状态
        POST
      • 卖家查询订单详情
        POST
      • 卖家查询报价对应订单
        POST
      • 预售订单交易链接修改
        POST
    • 出售
      • 刷新用户Steam库存
      • 查询Steam库存
      • 出售商品列表
      • 上架库存
      • 批量改价
      • 预售商品上架/改价
      • 下架在售/预售商品
      • 用户店铺状态设置
    • 求购
      • 发布求购信息
      • 编辑求购信息
      • 终止求购信息
      • 批量暂停/开启/删除求购信息
      • 批量更新求购收货链接
      • 获取我的求购分页列表
      • 秒出货库存查询
      • 秒出货求购供应
      • Steam库存查询
      • 创建交易存款
      • 创建交易报价
    • 出租
      • 可租可售上架/可租可售改价
      • 下架出租商品
      • 查询自己出租的商品
      • 查询出租订单列表
      • 卖家查询出租订单详情
    • 汰换合炉
      • 创建合炉
      • 我的合炉列表
      • 合炉支付
    • 其他
      • 解封超时未收货用户
      • 获取交易汇率
    • 服务商
      • 获取服务商绑定的用户集合

    RSA公私钥生成、签名

    签名算法#

    为了防止API调用过程中被黑客恶意篡改,调用任何一个API都需要携带签名,服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。目前支持的签名算法:SHA256withRSA,签名大体过程如下:
    1.对所有API请求参数(包括公共参数和业务参数,但除去sign参数),根据参数名称按0-9a-zA-Z的顺序排序,如果遇到相同字符则按照第二个字符的键值递增排序,以此类推。注意小写字母在前。
    如:foo:1, bar:2, foo_bar:3, foobar:4 排序后的顺序是bar:2, foo:1, foo_bar:3, foobar:4。
    2.将排序好的参数名和参数值拼装在一起,根据上面的示例得到的结果为:bar=2&foo=1&foo_bar=3&foobar=4
    3.把拼装好的字符串,使用SHA256withRSA算法通过私钥签名,把签名结果base64编码后获得签名值。
    4.生成的签名值在请求接口时赋给Sign参数
    RSA证书在线生成(第三方提供,不保证可用性及正确性,仅提供参考):http://www.usey.cn/rsa?bits=2048
    建议密钥长度选择2048位以上的长度确保安全性。使用Java开发时注意需要把私钥格式转换为pkcs8格式后再使用。
    使用密钥时不要带头尾标识和换行符,例如:
    -----BEGIN PUBLIC KEY-----
    -----END PUBLIC KEY-----
    或
    -----BEGIN RSA PUBLIC KEY-----
    -----END RSA PUBLIC KEY-----
    只使用不带换行格式的密钥内容部分。
    注:入参统一采用json方式。当参数值是一个数组对象结构时需要格式化为不带多余空格和换行的纯字符串,参数值不需要再按0-9a-zA-Z的顺序排序,仅第一层参数名需要排序。
    拼接示例:
    拼接前:
    {
      "Timestamp":"1706838763",
      "PartnerId":"123456",
      "idempotentId":"564789",
      "purchasingInfoList":[{
              "commodityId":422270,
              "commodityPrice": 50,
                "tradeLinks":"https://steamcommunity.com/tradeoffer/new/?partner=12345678912&token=LBPW679"
          }]
    }
    拼接后:
    idempotentId=564789&PartnerId=2487b5cadd774bf1b228c37e4a389bd1&purchasingInfoList=[{"commodityId":422270,"commodityPrice":50,"tradeLinks":"https://steamcommunity.com/tradeoffer/new/?partner=12345678912&token=LBPW679"}]&Timestamp=1718434793&Sign=PuY97DUvhwm3EWIVRneiLDmcIscylf/HzozhSqahUlx1feD2sCHTj0i2/QhxYVAByq5GV2DN5vSMRONsVzDYhuCgndhuu9OqLKQxHYHGNk2GShxFB40sD0TJEd+nheSAEziskN6+9pGkqo9rHVZTUsLfdrRhUlgP/8Jr/rUDV994h1UIb7z9skXrJkHfSjDxwLpRYxkRUWRJTI3bpC7b3I8XMEFFFDXtdwNHqq6KV6v/qVUigOc7a9L6IMp9nonkJBJV8XMEXHorQB1trHq85MZQ1Y6CZUBI8jwtJ9wVQ3kvvnjYzhtRkXxZmQTGO39XwwEbsjf/StvRPIvi7YKoGg==

    Java生成签名#

    C#生成签名#

    Python生成签名#

    rsa_crypt.py:
    修改于 2024-10-12 02:51:18
    上一页
    ECO开放平台接入流程
    下一页
    通用请求参数与响应
    Built with