createQuote

POST: /amsin/api/v1/business/fund/createQuote

需要签名验签

集成商可调用此接口创建外汇报价。接口调用成功后,万里汇提供锁汇报价,最长有效期为21天。

接口结构

万里汇接口报文结构包括:请求头,请求体。

请求头

字段名

是否必传

范例

说明

Client-Id

Client-Id: *****

关于这些参数的解释说明,详见:请求头

Signature

Signature: algorithm=RSA256, keyVersion=2, signature=*****

Content-Type

Content-Type: application/json; charset=UTF-8

Request-Time

Request-Time: 2019-04-04T12:08:56+08:00

Connected-CustomerId

否(有条件要求)

Connected-CustomerId: *****

注意此header字段

当平台客户操作商户账户时需要传递

请求参数

字段名

数据类型

是否必填

描述

sell

QuoteAmount 对象

卖出的货币数量和币种

更多信息:

  • sell.valuebuy.value字段必须一个有取值,另一个为空。
  • 如果集成商需要调用 createTransfer 接口,则sell.value字段不能为空。

buy

QuoteAmount 对象

买入的货币数量和币种

更多信息:

  • sell.valuebuy.value字段必须一个有取值,另一个为空。

exchangeTradeType

字符串

外汇报价类型。可取值如下:

  • SPOT:即时汇率
  • FORWARD:远期汇率
  • UNFUNDED_SPOT: 指该笔外汇交易的类型为资金不充足的即期交易,使用的为远期汇率

如果该字段未赋值,则默认为FORWARD

quoteUnfundedInfo

QuoteForwardInfo 对象

否(有使用条件)

报价信息。当 exchangeTradeType = FORWARDUNFUNDED_SPOT 时,此字段为必填。

响应参数

字段名

数据类型

是否必填

描述

result

Result 对象

本次调用结果,反映本次调用的业务状态、错误信息等。

说明:以下字段,只有当 result.resultStatus = S 时才会按需返回。

responseId

字符串

由万里汇定义,用于唯一标识某次响应的ID。

更多信息:

  • 字段最大长度:32

quote

Quote 对象

汇率信息

sell

QuoteAmount 对象

卖出的货币数量和币种

更多信息:

  • 转账代发时,集成商使用sell.amount字段作为需要转账代发的数目。

buy

QuoteAmount 对象

买入的货币数量和币种

更多信息:

  • 转账代发时,集成商使用buy.amount字段所对应的汇率作为目标汇率。

exchangeTradeType

字符串

外汇报价类型。可取值如下:

  • SPOT:即时汇率
  • FORWARD:远期汇率
  • UNFUNDED_SPOT: 指该笔外汇交易的类型为资金不充足的即期交易,使用的为即期汇率

如果该字段未赋值,则默认为FORWARD

quoteUnfundedInfo

字符串

否(有使用条件)

报价信息。当 exchangeTradeType = FORWARDUNFUNDED_SPOT 时,此字段为必填。

响应处理

集成商调用接口后,万里汇返回集成商API调用结果。result.resultStatus字段取值范围为:

result.resultStatus

描述

S

API请求成功。

F

API请求失败。

失败原因参见结果码(即result.resultCoderesult.resultMessage

U

API响应结果为UNKNOWN(未知)时,需重试API请求。

重试策略:

  • 重试次数上限:7次
  • 重试时间间隔:5分钟、10分钟、20分钟、40分钟、80分钟、160分钟、320分钟

如果问题依旧,请联系万里汇技术支持。

结果码

result.resultCode

resultCode

resultStatus

resultMessage

处理建议

SUCCESS

S

Success

PROCESS_FAIL

F

A general business failure occurred. Do not retry.

需要人工介入,联系万里汇技术支持以解决此问题

PARAM_ILLEGAL

F

Illegal parameters exist. For example, a non-numeric input, or an invalid date.

参考API文档页面,确认请求头和传参是否正确

REQUEST_TRAFFIC_EXCEED_LIMIT

U

The request traffic exceeds the limit.

重试,若问题依旧,联系万里汇技术支持

INVALID_API

F

The called API is invalid or not active.

确认是否调用正确的API

INVALID_CLIENT

F

The client is invalid.

Client ID不存在或无效

INVALID_SIGNATURE

F

The signature is invalid.

确认请求正确加签,具体参见:

METHOD_NOT_SUPPORTED

F

The server does not implement the requested HTTP method.

确认HTTP请求方法为POST

UNKNOWN_EXCEPTION

U

API failed due to unknown reason.

服务器错误,若稍后重试问题依旧,联系万里汇技术支持以解决问题

UN_SUPPORT_BUSINESS

F

Unsupported business.

包含无效参数,使用正确的参数重试

CURRENCY_NOT_SUPPORT

F

The currency is not supported.

确认币种信息正确后重试

CONTRACT_CHECK_FAIL

F

The contact check has failed.

检查合约状态后重试

范例

请求

请求头授权字段范例

Connected-Account授权

  • client-id=*****
  • Connected-CustomerId: *****

OAUTH授权

  • client-id=*****
  • access-token=*****

请求体范例

copy
{
    "exchangeTradeType": "UNFUNDED_SPOT",
    "sell": {
        "currency": "USD"
        ,"value": 1000
    },
    "buy": {
        "currency": "EUR"
    },
    "quoteUnfundedInfo": {
        "expiredTime": "20230412"
    }
}

响应

响应体范例

copy
{
    "buy": {
        "currency": "EUR",
        "value": 913
    },
    "exchangeTradeType": "UNFUNDED_SPOT",
    "quote": {
        "quoteCurrencyPair": "EUR/USD",
        "quoteExpiryTime": "2023-04-10T13:22:05Z",
        "quoteId": "2023041009141210000131304659085",
        "quotePrice": "1.09585",
        "quoteStartTime": "2023-04-10T13:21:35Z"
    },
    "quoteUnfundedInfo": {
        "expiredTime": "20230412"
    },
    "responseId": "06030b7a1681132894044268621786",
    "result": {
        "resultStatus": "S",
        "resultCode": "SUCCESS",
        "resultMessage": "success."
    },
    "sell": {
        "currency": "USD",
        "value": 1000
    }
}

@2024 WorldFirst