Skip to content

网关API接口

Gabrielle Zhou edited this page Nov 5, 2018 · 1 revision

网关公开接口

测试地址:https://gateway-test.cybex.io/query/

接口调用方法

网关查询接口登录需要构造如下结构体,并进行序列化签名. 结构如下:

{
  accountName: string, 			// 要查询的用户名
  expiration: time_point_sec	// 登录时期望的签名超时时间,需要晚于当前时间
}

调用步骤:

  1. 构建查询结构,使用带查询用户任意activekey提供签名验证。

  2. 调用login接口登录。查询服务根据指定的有效期,缓存并返回签名凭证。

  3. 在有效期内调用其他接口,在请求首部中,需要在 Authorization字段填入Bearer类型标识,内容为之前缓存的有效签名。如:

    Authorization: Bearer 207402f2e5dfcc8c4a80e924345ea4c3b02ba88e1d6061eae2a86c7dfed0a0ff366dbbb130da8f59a8b6d5e4108ce25b32acfde252e8fa0102dbd9f727af29c523

  4. 如果调用接口返回失败,说明签名有效期超时,需要重新登录并查询。

相关接口

  • /login

    • 方法:POST

    • Content-Type: "application/json"

    • Body:

        {
        	op: {
        		accountName: string;
        		expiration: UTCtimestamp;
        	},
        	signer: string
        }
      
    • 返回:

        {
        	code: int; 	// 200:成功登录 400:登录失败
        	data: {
        		accountName: string;
        		signer: string;
        	}
        }
      
  • /auth-check/

    • 用途:检查当前签名是否仍有效

    • 方法:HEAD

    • 返回值:

      | 代码 | 说明 | | --- | :---: | | 204 | 签名仍有效 | | 403 | 签名已失效 |

  • /asset/

    • 用途:获取当前可用的网关资产列表
    • 方法:GET
    • 参数:
    参数名 是否可选 默认值 说明 备选值
    offset 0 查询条目偏移量 -
    size 200 返回数据集大小 -
    • 返回值:

        {
        	code: int; 	// 200:成功查询 403:签名无效,需要重新登录 500:服务器错误
        	data: {
        		total: int;		// 当前支持列表总量
        		size: int;		// 当前返回数据集尺寸
        		offset: int;		// 本次返回的数据的偏移量
        		records: GatewayAsset[]	// 数据集
        	}
        }
        
        GatewayAsset: {
        	asset: string;			// 资产名称
        	coinType: string;		// 外部资产名称
        	withdrawInfo: {
        		minValueOfWithdraw: number; // 最小可提币门槛
        		fee: number; // 网关提币手续费
        	},
        	projectInfo: {
        		"currency": string; // 项目代币官方名称  
           		"contractExplorerUrl": string; // 项目合约查看器URL
           		"txExplorer": string; // 交易查看地址模版, 
        		"protocolName": string; // 合约名称, 
        		"contractAddress": string; // 合约地址
        		"projectName": string // 项目全称, 
        		"logoUrl": string // 项目Logo
        	}
        }
      
  • /asset/<assetName>

    • 用途:获取某一特定网关资产信息

    • 方法:GET

    • 返回值:

        {
        	code: int; 	// 200:成功查询;403:签名无效,需要重新登录;404:无此资产;500:服务器错误
        	data:  GatewayAsset
        }
      
  • /deposit_address/<accountName>/<asset>

    • 用途:获取某一用户某资产的有效充值地址

    • 方法:GET

    • 返回值:

        {
        	code: int; 	// 200:成功查询;403:签名无效,需要重新登录;404:无此资产或用户;500:服务器错误
        	data: AccountAddress
        }
        AccountAddress {
        	"address": string // 地址
        	"accountName": string // 对应账户
        	"asset": string //对应Cybex资产
        	"type": string // 对应外部资
        	"createAt": string //该地址生成时间
        }
      
  • /verify_address/<asset>/<address>/

    • 用途:验证某一资产外部地址是否有效

    • 方法:GET

    • 返回值:

        {
        	code: int; 	// 200:成功查询;403:签名无效,需要重新登录;404:无此资产或用户;500:服务器错误
        	data: {
        		valid: boolean // 地址是否有效
        		type: string // 该地址希望验证的外部资产类型
        	}
        }
      
  • /records/<accountName>

    • 方法:GET
    • 参数:
    参数名 是否可选 默认值 说明 备选值
    offset 0 查询条目偏移量 -
    size 200 返回数据集大小 -
    fundType - 查询条目偏移量。留空代表所有操作类型 WITHDRAW | DEPOSIT
    asset - 查询的资产类型。 留空代表所有资产 JADE.ETH | ...
    • 返回:

        {
        	code: int; 	// 200:成功查询 403:签名无效,需要重新登录 500:服务器错误
        	data: {
        		total: int;		// 符合查询的条目数量
        		size: int;		// 当前数据集尺寸
        		offset: int;	// 本次返回的数据的偏移量
        		records: Record[]	// 数据集
        	}
        }
        
        Record: {
        	accountName: string;	// 用户名
        	address: string;		// 外部地址/EOS用户名
        	amount: int;			// 资产数量
        	asset: string;			// 资产名称
        	coinType: string;		// 外部资产名称
        	fundType: string;		// 操作类型 WITHDRAW/DEPOSIT 
        	state: string;			// 订单状态 new | init | pending | failed | done
        	updateAt: ISODateString; // 最近状态更新时间,ISO格式时间字串
        }
      

开发者社区

了解CYBEX

文档中心

DEVELOPERS

GETTING STARTED

DOCUMENTATION

Clone this wiki locally