ECOSteam 免费开放平台CS2饰品交易
    • 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库存查询
      • 创建交易存款
      • 创建交易报价
    • 出租
      • 可租可售上架/可租可售改价
      • 下架出租商品
      • 查询自己出租的商品
      • 查询出租订单列表
      • 卖家查询出租订单详情
    • 汰换合炉
      • 创建合炉
      • 我的合炉列表
      • 合炉支付
    • 其他
      • 解封超时未收货用户
      • 获取交易汇率
    • 服务商
      • 获取服务商绑定的用户集合
    • 数据模型
      • Schemas
        • BatchSerchSellingDetailResultPagesModel
        • BatchSerchSellingDetailResultPagesModelResponseValueModel
        • BuyByTypResponseModel
        • BuyByTypResponseModelListResponseValueModel
        • BuyByTypeIdModel
        • PublishRentGoodsAssetInfo
        • PublishRentGoodsInfoRequest
      • AcceptOfferResult
      • AcceptOfferResultResponseValueModel
      • AccountStatus
      • Asset2DViewModel
      • AssetAnimationViewModel
      • AssetPreviewModel
      • BaseModel
      • BatchGoodsListQueryRequest
      • BatchPurchaseStatusModel
      • BatchPurchaseStatusModelResponseValueModel
      • BatchPurchaseStatusRequestModel
      • BatchSerchSellingDetailResult
      • BatchSerchSellingDetailResultListResponseValueModel
      • BatchSerchSellingPriceModel
      • BatchSerchSellingPriceResult
      • BatchSerchSellingPriceResultListResponseValueModel
      • BatchSerchSellingStatusModel
      • BatchSerchSellingStatusResult
      • BatchSerchSellingStatusResultListResponseValueModel
      • BiddingInfo
      • BooleanResponseValueModel
      • BuyByHashNameModel
      • BuyByHashNameResponseModel
      • BuyByHashNameResponseModelListResponseValueModel
      • BuyByItemIdModel
      • BuyResponseModel
      • BuyResponseModelResponseValueModel
      • BuyerOrderModel
      • BuyerOrderModelPagesModel
      • BuyerOrderModelPagesModelResponseValueModel
      • BuyerOrderQueryModel
      • BuyerPurchaseInfoModel
      • BuyerPurchaseInfoModelPagesModel
      • BuyerPurchaseInfoModelPagesModelResponseValueModel
      • BuyerPurchaseQueryModel
      • CS2RarityEnum
      • CategoryReturnModel
      • CategoryReturnModelPagesModel
      • CategoryReturnModelPagesModelResponseValueModel
      • CategorySearchModel
      • CreateFurnaceParamModel
      • DelistingProducts
      • EditPriceModel
      • ErrorCodes
      • FundFlowReturnModel
      • FundFlowReturnModelPagesModel
      • FundFlowReturnModelPagesModelResponseValueModel
      • FurnaceAssetInfo
      • FurnacePayParam
      • FurnaceSearchParam
      • GemsInfoModel
      • GetHashNameAndPriceListModel
      • GetHashNameAndPriceListResult
      • GetHashNameAndPriceListResultListResponseValueModel
      • GetSellGoodsListRequest
      • GetTradeExchangeRateConfigReturnModel
      • GetTradeExchangeRateConfigReturnModelResponseValueModel
      • GetViewRequestModel
      • GoodsEdit
      • GoodsItem
      • GoodsListQuerySort
      • GoodsPropertyModel
      • GoodsSellingResponseModel
      • GoodsSellingResponseModelPagesModel
      • GoodsSellingResponseModelPagesModelResponseValueModel
      • GoodsShowType
      • HLPublicState
      • HL_ConfirmType
      • HL_FurnaceState
      • HistoryOrderModel
      • ListingGoods
      • HistoryOrderModelListResponseValueModel
      • HistoryOrderQueryModel
      • InspectStatus
      • InventoryInstantShipmentParam
      • InventoryInstantShipmentResult
      • InventoryInstantShipmentResultListResponseValueModel
      • KeychainsColorInfo
      • Language
      • MerchantMoneyModel
      • MerchantMoneyModelResponseValueModel
      • MoneyFlowRequestModel
      • MyFurnaceListAddUserModel
      • MyHLPageModel
      • MyHLPageModelPagesModel
      • MyHLPageModelPagesModelResponseValueModel
      • ObjectResponseValueModel
      • OffshelfGoodResponse
      • OffshelfGoodResponseListResponseValueModel
      • OffshelfRequest
      • OpenApiPurchaseSaleSupplyParam
      • OpenApiPurchaseSaleSupplyResponseModel
      • OpenApiPurchaseSaleSupplyResponseModelResponseValueModel
      • OpenApiRefreshUserSteamStock
      • OpenApiServiceProviderParamModel
      • OpenApiServiceProviderResultModel
      • OpenApiServiceProviderResultModelListReturnValueModel
      • OrderType
      • OpenApiServiceProviderResultModelListStatusDataModel
      • OpenApiSteamUserModel
      • OpenApiSteamUserModelListResponseValueModel
      • OpenApiTransferInOrOutModel
      • OrderCancelModel
      • OrderCancelResponsibility
      • OrderCancelTypeEnum
      • OrderDetailsInfoModel
      • OrderDetailsInfoModelResponseValueModel
      • OrderInfoModel
      • OrderStatusModel
      • OrderStatusModelListResponseValueModel
      • OrderStatusQueryModel
      • P2PBuyOrderModel
      • P2PBuyOrderResponseModel
      • P2PBuyOrderResponseModelResponseValueModel
      • PreSaleOrderTradeLinkParam
      • PreSaleProductsAssetInfo
      • PreSaleProductsModel
      • PublicStockRequest
      • PublishGoodResponse
      • PublishGoodResponseListResponseValueModel
      • PublishGoodsAssetInfo
      • PublishGoodsType
      • PublishListingGoods
      • PublishRentAndSaleItemModel
      • PublishRentAndSaleRequestModel
      • PunishOrderModel
      • PunishOrderModelListResponseValueModel
      • PunishOrderQueryModel
      • PurchaseEditModel
      • PurchasePreSaleProductsParam
      • PurchasePublishRequestOpenModel
      • PurchaseResponse
      • PurchaseResponseResponseValueModel
      • PurchaseStopModel
      • QuerySelfRentGoodsRequest
      • QuerySelfRentGoodsResponse
      • QuerySelfRentGoodsResponsePagesModel
      • QuerySelfRentGoodsResponsePagesModelResponseValueModel
      • QuerySteamStockResponse
      • QuerySteamStockResponsePagesModel
      • QuerySteamStockResponsePagesModelResponseValueModel
      • RentArbitrationInfoModel
      • RentClaimDetailBase
      • RentClaimOrder
      • RentClaimStatus
      • RentClaimType
      • RentGoodsItem
      • RentGoodsStatus
      • RentOrderDetailStatus
      • RentOrderProgressStatus
      • RentSource
      • RentType
      • ReplaceLevelEnum
      • ReportSellerRollBackOfferParam
      • ResolveOfferModel
      • ResolveOfferModelResponseValueModel
      • SearchGoodRange
      • SearchStockRequestModsel
      • SellGoodsListQueryResponse
      • SellGoodsListQueryResponsePagesModel
      • SellGoodsListQueryResponsePagesModelResponseValueModel
      • SellGoodsSearchModel
      • SellerOrderByOfferIdModel
      • SellerOrderDetailsModel
      • SellerOrderDetailsModelResponseValueModel
      • SellerOrderDetailsQueryModel
      • SellerOrderModel
      • SellerOrderModelPagesModel
      • SellerOrderModelPagesModelResponseValueModel
      • SellerOrderQueryModel
      • SellerOrderStatusModel
      • SellerOrderStatusModelListResponseValueModel
      • SellerOrderStatusQueryModel
      • SellerRentOrderDetailsModel
      • SellerRentOrderDetailsModelResponseValueModel
      • SellerRentOrderDetailsQueryModel
      • SellerRentOrderModel
      • SellerRentOrderModelPagesModel
      • SellerRentOrderModelPagesModelResponseValueModel
      • SellerRentOrderQueryModel
      • SellerSendPriceModel
      • SendOfferResult
      • SendOfferResultResponseValueModel
      • SendOfferRole
      • SortType
      • SteamGoodsPropertyFilter
      • SteamGoodsTypeFilter
      • SteamIDInfoModel
      • SteamIDInfoModelResponseValueModel
      • SteamIDInfoRequest
      • SteamInventoryQueryParam
      • SteamInventoryReturn
      • SteamInventoryReturnListResponseValueModel
      • SteamStockStatus
      • SteamStockStatusEnum
      • SteamTransStatusDto
      • SteamUserGuardStatus
      • StickerInfoModel
      • StoreStatusParam
      • StringListResponseValueModel
      • SupportSublet
      • TradeDepositParam
      • TradeDepositReturn
      • TradeDepositReturnResponseValueModel
      • TradeOfferModel
      • TradeOfferModelResponseValueModel
      • TradeOfferQueryModel
      • TradeType
      • TransactionOfferParam
      • TransactionOfferReturn
      • TransactionOfferReturnResponseValueModel
      • UnLockUserModel
      • UpdatePurchaseTradeLinkItem
      • UpdatePurchaseTradeLinkModel
      • UpdatePurchaseTradeLinkRespnse
      • UpdatePurchaseTradeLinkRespnseListResponseValueModel
      • UserAcceptOfferParam
      • UserSettingTradeType
      • ViewLinkReturnModel
      • ViewLinkReturnModelListResponseValueModel
    加QQ群558682282一起交流
    加QQ群558682282一起交流

    WebSocket监听商品变动消息

    通过websocket连接可以获取到ECO平台出售商品的新增、修改和删除信息。
    地址:wss://openapi.ecosteam.cn/corsnew?PartnerId=你的PartnerId
    ECO平台使用SignalR作为websocket服务端实现,客户端需要参考以下说明使用对应语言的客户端包进行连接。
    💡
    注意连接时必须指定WebSockets传输,并设置skipNegotiation=true跳过协商。
    中文:
    https://learn.microsoft.com/zh-cn/aspnet/core/signalr/javascript-client?view=aspnetcore-8.0&tabs=visual-studio
    英文:
    https://learn.microsoft.com/en-us/aspnet/core/signalr/javascript-client?view=aspnetcore-8.0&tabs=visual-studio
    连接成功后需要加入对应的聊天组接收不同类型的消息。
    ECO定义的聊天组:
    注意以下名称使用时均区分大小写
    所有用户使用:
    cs2_new:新增最低价物品消息(捡漏使用,推送机制为上架或改价后是ECO平台当前皮肤的最低价物品,同一个皮肤精确到不同的多普勒、淬火款式和不同的磨损区间)
    dota2_new:新增最低价物品消息(捡漏使用,推送机制为上架或改价后是ECO平台当前最低价物品)
    仅P2P用户使用:
    cs2_add:物品新增消息
    cs2_update:物品更新消息
    cs2_delete:物品删除消息(下架或售出)
    dota2_add:物品新增消息
    dota2_update:物品更新消息
    dota2_delete:物品删除消息(下架或售出)
    加组方法名称:JoinDialogGroup
    退组方法名称:RemoveDialogGroup
    接收消息方法名称:freeMsg
    JavaScript 客户端连接示例:
    image.png
    Node.js客户端连接示例:
    image.png
    消息结构:
    外层的GroupId用于区分消息类型,例如:新增、更新、删除
    {
    	"PartnerId": "",
    	"Content": "{\"Game\":\"CS2\",\"HashName\":\"Sealed Graffiti | Tilt (Cash Green)\",\"PaintWear\":null,\"Price\":8.8,\"Classid\":1989283707,\"AssetId\":\"34307792378\",\"PaintIndex\":null,\"StickerNames\":[],\"GoodsNum\":\"202401257643971765092353\",\"PaintIndexLabel\":\"\",\"PaintSeedLabel\":\"\",\"IsFirst\":true,\"DeliveryTime7Day\":1,\"DeliveryRate7Day\":0.95,\"LastVisitTime\":\"2025-8-18 13:20:28\"}",
    	"GroupId": "cs2_update"
    }
    内层Content的json结构如下:
    {
      "Game": "CS2", //游戏名称
      "HashName": "Sealed Graffiti | Tilt (Cash Green)", //steam市场名称
      "PaintWear": null, //磨损度
      "Price": 8.8, //价格 ¥
      "Classid": 1989283707, //steam平台classid
      "InstanceID": 302028390, //steam平台instanceid
      "AssetId": "34307792378", //steam平台assetid
      "PaintIndex": 0, //皮肤编号
      "PaintSeed": 0, //图案模版
      "StickerNames": [], //印花名称
      "GoodsNum": "202401257643971765092353", //ECO平台商品编号
      "PaintIndexLabel": "", //皮肤标签 Phase1、Phase2、Phase3、Phase4、红宝石、绿宝石、蓝宝石、黑珍珠
      "PaintSeedLabel": "", //图案标签 Tier1、Tier2、Tier3、Tier4、单面全蓝、渐变率
      "IsFirst": true, //是否极速发货  true:极速   false:普通
      "DeliveryTime7Day": 1, //卖家7日平均发货时间(分钟)
      "DeliveryRate7Day": 0.95, //卖家7日发货成功率(范围0-1  0代表0%  1代表100%)
      "LastVisitTime": "2025-8-18 13:20:28" //卖家用户最近访问时间
    }
    修改于 2026-01-19 08:21:40
    上一页
    回调通知服务
    下一页
    服务商入驻流程
    Built with