inquiryDeal
POST: /amsin/api/v1/business/fund/inquiryDeal
集成商调用此接口查询远期外汇交易结果。
接口结构
万里汇接口报文结构包括:请求头,请求体。关于头信息,详见:
请求参数
字段名  | 数据类型  | 是否必填  | 描述  | 
dealRequestId  | 字符串  | 是  | 由集成商定义的外汇交易唯一单号 更多信息: 
  | 
响应参数
字段名  | 数据类型  | 是否必填  | 描述  | 
result  | Result 对象  | 是  | 代表接口调用结果  | 
responseId  | 字符串  | 是  | 由万里汇定义,用于唯一标识某次响应的ID。 更多信息: 
  | 
deal  | Deal 对象  | 是  | 远期外汇交易的交易明细  | 
dealResult  | Result 对象  | 是  | 代表远期外汇交易结果  | 
响应处理
集成商调用接口后,万里汇返回集成商以下两个字段:
result.resultStatus:API调用结果dealResult.resultStatus:外汇交易结果。更多信息,参考result codes部分
集成商调用接口后,万里汇返回集成商结果码。result.resultStatus取值范围为:
result.resultStatus  | 描述  | 
S  | API请求成功。  | 
F  | API请求失败。 失败原因参见结果码(即  | 
U  | API响应结果为 重试策略: 
 如果问题依旧,请联系万里汇技术支持。  | 
结果码
dealResult.resultCode
resultCode  | resultStatus  | resultMessage  | 含义  | 
SUCCESS  | S  | The deal is successfully completed.  | 远期外汇交易成功  | 
PROCESSING  | S  | The forward deal is being processed.  | 远期外汇交易处理中  | 
CANCELLED  | F  | The forward deal is canceled.  | 远期外汇交易取消  | 
FAIL  | F  | The forward deal has failed.  | 远期外汇交易失败  | 
result.resultCode
系统错误码
resultCode  | resultStatus  | resultMessage  | 处理建议  | 
SUCCESS  | S  | Success  | |
PARAM_ILLEGAL  | F  | Illegal parameters exist. For example, a non-numeric input, or an invalid date.  | 参考API文档页面,确认请求头和传参是否正确  | 
PROCESS_FAIL  | F  | A general business failure occurred. Do not retry.  | 需要人工介入,联系万里汇技术支持以解决此问题  | 
UNKNOWN_EXCEPTION  | U  | API failed due to unknown reason.  | 服务器错误,若稍后重试问题依旧,联系万里汇技术支持以解决问题  | 
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请求方法为  | 
业务结果码
resultCode  | resultStatus  | resultMessage  | 处理建议  | 
UN_SUPPORT_BUSINESS  | F  | Unsupported business.  | 包含无效参数(如货币代码错误),使用正确的参数重试  | 
AUTHORIZATION_NOT_EXIST  | F  | The authorization does not exist.  | 当前授权关系不存在,请联系万里汇技术支持检查授权关系  | 
CONTRACT_CHECK_FAIL  | F  | The contract check has failed.  | 检查合约状态后重试  | 
范例
请求
请求体范例
{
    "dealRequestId": "*****"
}
请求代码范例
var jsonStr="{"dealRequestId":"*****"}";
var client = new RestClient("http://{domain_name}.com/amsin/api/v1/business/fund/inquiryDeal");
var request = new RestRequest(Method.POST);
request.AddHeader("client-id","*****");
request.AddHeader("request-time","2022-05-17T11:19:20+08:00");
request.AddHeader("Content-Type","application/json");
request.AddHeader("signature","algorithm=RSA256,keyVersion=1,signature=RckSOIrxy%2FKqC%2FZQOO0t74U9U4TFVYKmW%2FZflFRut7W1hipos3NLBGdpzbulcc5Q7XwZP1t3qgTZMFrC%2FlzOQCOsBhUgelvEAuACu49PEGiAus8sU%2FFJa1HOIUmst3oWjLT%2BDqY083mR7jVwc5O2JYP08wNCLu55PFZtXHBUfwEAYoZInhgRoLtQTr%2F7Bphd7L9cS3xD3tluxbgkcaFr7NQVrfWJuQKp%2BFrabo6xZr%2FRHZRd%2FijALuUYYjXH92n4VFwSXSO%2B%2BUBVPoGyWWz1q3QJ2tHNVU7wpc3wtCwwB76pNfGTbJit%2BdylGU8O5UkW3TwSkNnpzepRABM8bBQpgQ%*****");
request.AddParameter("application/json; charset=utf-8", jsonStr, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
url = "http://{domain_name}.com/amsin/api/v1/business/fund/inquiryDeal"
headers = {
        "client-id": "*****",
        "request-time": "2022-05-17T11:19:20+08:00",
        "Content-Type": "application/json",
        "signature": "algorithm=RSA256,keyVersion=1,signature=RckSOIrxy%2FKqC%2FZQOO0t74U9U4TFVYKmW%2FZflFRut7W1hipos3NLBGdpzbulcc5Q7XwZP1t3qgTZMFrC%2FlzOQCOsBhUgelvEAuACu49PEGiAus8sU%2FFJa1HOIUmst3oWjLT%2BDqY083mR7jVwc5O2JYP08wNCLu55PFZtXHBUfwEAYoZInhgRoLtQTr%2F7Bphd7L9cS3xD3tluxbgkcaFr7NQVrfWJuQKp%2BFrabo6xZr%2FRHZRd%2FijALuUYYjXH92n4VFwSXSO%2B%2BUBVPoGyWWz1q3QJ2tHNVU7wpc3wtCwwB76pNfGTbJit%2BdylGU8O5UkW3TwSkNnpzepRABM8bBQpgQ%*****"
    }
datas = {"dealRequestId":"*****"}
res = requests.post(url=url, data=json.dumps(datas), headers=headers)
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost("http://{domain_name}.com/amsin/api/v1/business/fund/inquiryDeal");
httpPost.addHeader("client-id", "*****");
httpPost.addHeader("request-time", "2022-05-17T11:19:20+08:00");
httpPost.addHeader("signature","algorithm=RSA256,keyVersion=1,signature=RckSOIrxy%2FKqC%2FZQOO0t74U9U4TFVYKmW%2FZflFRut7W1hipos3NLBGdpzbulcc5Q7XwZP1t3qgTZMFrC%2FlzOQCOsBhUgelvEAuACu49PEGiAus8sU%2FFJa1HOIUmst3oWjLT%2BDqY083mR7jVwc5O2JYP08wNCLu55PFZtXHBUfwEAYoZInhgRoLtQTr%2F7Bphd7L9cS3xD3tluxbgkcaFr7NQVrfWJuQKp%2BFrabo6xZr%2FRHZRd%2FijALuUYYjXH92n4VFwSXSO%2B%2BUBVPoGyWWz1q3QJ2tHNVU7wpc3wtCwwB76pNfGTbJit%2BdylGU8O5UkW3TwSkNnpzepRABM8bBQpgQ%*****" );
httpPost.addHeader("Content-Type","application/json");
StringEntity entity = new StringEntity("{\"dealRequestId\":\"*****\"}");
httpPost.setEntity(entity);
CloseableHttpResponse response = client.execute(httpPost);
var xhr = new XMLHttpRequest;
xhr.open("POST","http://{domain_name}.com/amsin/api/v1/business/fund/inquiryDeal",true)
xhr.setRequestHeader("client-id","*****");
xhr.setRequestHeader("request-time","2022-05-17T11:19:20+08:00");
xhr.setRequestHeader("Content-Type","application/json");
xhr.setRequestHeader("signature","algorithm=RSA256,keyVersion=1,signature=RckSOIrxy%2FKqC%2FZQOO0t74U9U4TFVYKmW%2FZflFRut7W1hipos3NLBGdpzbulcc5Q7XwZP1t3qgTZMFrC%2FlzOQCOsBhUgelvEAuACu49PEGiAus8sU%2FFJa1HOIUmst3oWjLT%2BDqY083mR7jVwc5O2JYP08wNCLu55PFZtXHBUfwEAYoZInhgRoLtQTr%2F7Bphd7L9cS3xD3tluxbgkcaFr7NQVrfWJuQKp%2BFrabo6xZr%2FRHZRd%2FijALuUYYjXH92n4VFwSXSO%2B%2BUBVPoGyWWz1q3QJ2tHNVU7wpc3wtCwwB76pNfGTbJit%2BdylGU8O5UkW3TwSkNnpzepRABM8bBQpgQ%*****");
xhr.send("{\"dealRequestId\":\"*****\"}");  响应
响应体范例
{
    "deal": {
        "buy": {
            "currency": "EUR",
            "value": 588
        },
        "cancelCost": {
            "currency": "USD",
            "value": 416
        },
        "cancelTime": "2022-07-26T09:58:22Z",
        "creditLine": {
            "currency": "USD",
            "value": 0
        },
        "creditLineBase": {
            "currency": "GBP",
            "value": 0
        },
        "dealId": "*****",
        "dealRequestId": "*****",
        "expiredTime": "20220819",
        "forwardType": "WINDOWED",
        "margin": {
            "currency": "USD",
            "value": 50
        },
        "quote": {
            "quoteCurrencyPair": "EUR/USD",
            "quoteExpiryTime": "2022-07-26T11:32:22Z",
            "quoteId": "*****",
            "quotePrice": "1.7",
            "quoteStartTime": "2022-07-26T09:32:22Z"
        },
        "sell": {
            "currency": "USD",
            "value": 1000
        },
        "unSettledBuy": {
            "currency": "EUR",
            "value": 588
        },
        "unSettledSell": {
            "currency": "USD",
            "value": 1000
        },
        "windowStartTime": "20220801"
    },
    "dealResult": {
        "resultStatus": "F",
        "resultCode": "ORDER_IS_CANCELED",
        "resultMessage": "Order is canceled."
    },
    "responseId": "*****",
    "result": {
        "resultStatus": "S",
        "resultCode": "SUCCESS",
        "resultMessage": "success."
    }
}