Create Order
Rate Limit: 10 requests per 2 seconds
- 1.Interface call:
https://{host}/api/v2/accountExchange
2. Request parameter instance
parameter | whether | explain |
---|---|---|
depositCoinCode | Yes | eg:ETH
When this field has values, fromChainId and fromTokenAddress do not need to be filled in |
fromChainId | When there are values for 'fromChainId' and 'fromTokenAddress', there is no need to fill in 'depositCoinCode' | eg:1
Fill in the chain ID here。 |
fromTokenAddress | When there are values for 'fromChainId' and 'fromTokenAddress', there is no need to fill in 'depositCoinCode' | eg:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee。
Please fill in the currency contract address here. If it is the main currency of the chain, please fill in '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' |
receiveCoinCode | Yes | eg:BTC
When this field has values,'toChainId' and 'toTokenAddress' do not need to be filled in |
toChainId | When there are values for 'toChainId' and 'toTokenAddress', there is no need to fill in 'receiveCoinCode' | eg: 56
Fill in the chain ID here。 |
toTokenAddress | When there are values for 'toChainId' and 'toTokenAddress', there is no need to fill in 'receiveCoinCode' | eg: 0x55d398326f99059ff775485246999027b3197955
Please fill in the currency contract address here. If it is the main currency of the chain, please fill in '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' |
depositCoinAmt | Yes | eg:0.01 |
receiveCoinAmr | Yes | Expected acceptance |
destinationAddr | Yes | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632" |
refundAddr | Yes | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please tell them to put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632" |
equipmentNo | Yes | Equipment unique number |
sourceType | Yes | ANDROID,IOS,H5 |
sourceFlag | Yes | It is used to identify which platform created the order. It needs to be set through negotiation with SWFT BlockChain |
isNoGas | no | Does it support gas free redemption |
3. Example of request parameters
{
"depositCoinCode": "ETHF",
"receiveCoinCode": "USDT(BSC)",
"depositCoinAmt": "42.207403",
"receiveCoinAmt": "46.367529",
"destinationAddr": "0x19b9918f...f85ad08ba0",
"refundAddr": "0x19b9918f...f85ad08ba0",
"equipmentNo":"zfgryh918f93a19fdg6918a68cf5",
"sourceType": "H5",
"sourceFlag":"widget",
"isNoGas":true
}
or
{
"fromChainId": 513100,
"fromTokenAddress": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"toChainId": 56,
"toTokenAddress": "0x55d398326f99059ff775485246999027b3197955",
"depositCoinAmt": "42.207403",
"receiveCoinAmt": "46.367529",
"destinationAddr": "0x19b9918f...f85ad08ba0",
"refundAddr": "0x19b9918f...f85ad08ba0",
"equipmentNo":"zfgryh918f93a19fdg6918a68cf5",
"sourceType": "H5",
"sourceFlag":"widget",
"isNoGas":true
}
4.Example of returned results
{
"data": {
"chainFee": "0.001",
"changeType": "advanced",
"choiseFeeType": "3",
"createTime": "2022-03-10 18:44:21",
"dealFinishTime": null,
"depositCoinAmt": "2",
"depositCoinCode": "ETH",
"depositCoinFeeAmt": "0.004",
"depositCoinFeeRate": "0.002",
"depositCoinState": "wait_send",
"depositFeeRate": "0.002",
"depositTxid": "",
"destinationAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
"detailState": "wait_deposit_send",
"developerId": "",
"instantRate": "6.856554564172",
"isDiscount": "N",
"kycUrl": "",
"orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",
"orderState": "wait_deposits",
"platformAddr": "0x3181af4f7cc7251a6a4eda75526c8abe10106db8",
"receiveCoinAmt": "13.713109",
"receiveCoinCode": "BNB(BSC)",
"receiveSwftAmt": "2416.89",
"refundAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
"refundCoinAmt": "",
"refundCoinMinerFee": "",
"refundDepositTxid": "",
"refundSwftAmt": "",
"swftCoinFeeRate": "0.001",
"swftCoinState": "",
"swftReceiveAddr": "",
"swftRefundAddr": "",
"transactionId": "",
//Returned transaction data to be signed after enabling gas free fee
"noGasTxInfo": "{\"gasLimit\":37920,\"data\":\"0xxxxx\",\"chainId\":56,\"to\":\"0xxxxx\",\"nonce\":51,\"gasPrice\":\"3150000000\"}",
"xrpInfo": ""
},
"resCode": "800",
"resMsg": "success",
"resMsgEn": ""
}
5.Return Parameter Description
Field Name | field | data type | remarks |
---|---|---|---|
cinsorderId | orderId | String | eg:d47e8b9b-c17f-432b-9285-a46c0a3ceb9a |
depositCoinCode | depositCoinCode | String | eg: ETH |
receiveCoinCode | receiveCoinCode | String | Biteg:BTC |
depositCoinAmt | depositCoinAmt | String | eg:1 |
receiveCoinAmt | receiveCoinAmt | String | eg:0.1 |
platformAddr | platformAddr | String | eg:123123123-232-1231232 |
destinationAddr | destinationAddr | String | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY. If there are memos, please put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632" |
refundAddr | refundAddr | String | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632" |
depositCoinFeeRate | depositCoinFeeRate | String | Eg: Handling rate |
depositCoinFeeAmt | depositCoinFeeAmt | String | Eg: The amount of original currency charged for handling charges |
refundCoinAmt | refundCoinAmt | String | eg:0.98 |
transactionId | transactionId | String | On chain transaction ID, this field will have a value only after the exchange is completed and the currency has been issued |
refundDepositTxid | refundDepositTxid | String | On chain transaction ID, this field will have a value only after the currency has been returned in case of exchange failure |
detailState | detailState | String | (1)wait_ deposit_ Send: waiting for the deposit to be sent (2) timeout: timeout; (3)wait_ exchange_ Push: wait for the exchange information to be pushed; (4)wait_ exchange_ Return: Wait for the exchange information to return; (5.1)wait_ receive_ Send: Wait for sending the received currency, wait_ receive_ Confirm: wait for confirmation of the received currency, receive_ Complete: Confirm receipt currency (5.2)wait_ refund_ Send: Wait for sending the returned original currency, wait_ refund_ Confirm: wait for confirmation of returning original currency, refresh_ Complete: Confirm the return of original currency; (6) ERROR/error: Processing order (7) WAIT_ KYC: Wait for KYC or contact customer service to provide a link“ |
kycUrl | kycUrl | String | The reply time is 311 hours. Please leave a message. https://swap.swftcoin.com/swft-v3/swft-v3-m/kyc/kyc.html?lang=cn&equipmentNo=pls_input_your_real_equipmentno_ok New equipment manual number (reference), Lang language: CN, EN |
Returned transaction data to be signed after enabling gas free fee | noGasTxInfo | String | This trading partner needs to be signed |
Parameter | Explanation |
depositCoinAmt | After users create an order, must send depositCoinAmt to the order address. |
receiveCoinAmt | receiveCoinAmt = depositCoinAmt * instantRate the rate is obtained through the getBaseInfo port, this value is used to record the market price when the order is submitted, precision is maintained to 6 decimal places |
equipmentNo | Environment number, this can be used to check numbers associted with all of the order's information, please do not disclose |
sourceFlag | Used to indicate which platform's order, the paramater isn't necesary the same sources originally indicated after the project's product comes online |
developerId | Used to record the project's related order data, the project can use this paramater to express what the order is part of a particular user or is used to record its own system's order number, or another record number serial number; after the order is created, the parameter value will be returned (SWFT does not support checking order information through this paramater) |
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"equipmentNo\":\"Zsda352943090468518\",\"sessionUuid\":\"\",\"sourceType\":\"ANDROID\",\"userNo\":\"\",\"orderId\":\"de752da3-0ff7-4682-8038-d8e1f20cad95\",\"depositCoinCode\":\"BTC\",\"receiveCoinCode\":\"ETH\",\"depositCoinAmt\":\"0.01\",\"receiveCoinAmt\":\"0.336585\",\"receiveSwftAmt\":\"18.06\",\"destinationAddr\":\"0x364397e2fc9929f11ba0c03826ef282dd64a829f\",\"refundAddr\":\"18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY\",\"sourceFlag\":\"LendChain\",\"developerId\":\"\"}");
Request request = new Request.Builder()
.url("https://{host}/api/v2/accountExchange")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
var client = new RestClient("https://{host}/api/v2/accountExchange");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("undefined", "{\"equipmentNo\":\"352943090468518\",\"sessionUuid\":\"\",\"sourceType\":\"ANDROID\",\"userNo\":\"\",\"orderId\":\"de752da3-0ff7-4682-8038-d8e1f20cad95\",\"depositCoinCode\":\"BTC\",\"receiveCoinCode\":\"ETH\",\"depositCoinAmt\":\"0.01\",\"receiveCoinAmt\":\"0.336585\",\"receiveSwftAmt\":\"18.06\",\"destinationAddr\":\"0x364397e2fc9929f11ba0c03826ef282dd64a829f\",\"refundAddr\":\"18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY\",\"sourceFlag\":\"LendChain\",\"developerId\":\"\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
#import <Foundation/Foundation.h>
NSDictionary *headers = @{ @"Content-Type": @"application/json",
@"cache-control": @"no-cache" };
NSDictionary *parameters = @{ @"equipmentNo": @"Zsda352943090468518",
@"sessionUuid": @"",
@"sourceType": @"ANDROID",
@"userNo": @"",
@"orderId": @"de752da3-0ff7-4682-8038-d8e1f20cad95",
@"depositCoinCode": @"BTC",
@"receiveCoinCode": @"ETH",
@"depositCoinAmt": @"0.01",
@"receiveCoinAmt": @"0.336585",
@"receiveSwftAmt": @"18.06",
@"destinationAddr": @"0x364397e2fc9929f11ba0c03826ef282dd64a829f",
@"refundAddr": @"18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY",
@"sourceFlag": @"LendChain",
@"developerId": @"" };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{host}/api/v2/accountExchange"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
//getToken example
import axios from 'axios'
const params = {
equipmentNo: "zfgryh918f93a19fdg6918a68cf5",
sourceType: "H5",
userNo: "",
sessionUuid: "",
orderId: "",
sourceFlag: "widget",
depositCoinCode: "ETHF",
receiveCoinCode: "USDT(BSC)",
depositCoinAmt: "42.207403",
receiveCoinAmt: "46.367529",
destinationAddr: "0x19b9918f...f85ad08ba0",
refundAddr: "0x19b9918f...f85ad08ba0"
}
const res = await axios.post('https://{host}/api/v2/accountExchange', params )
console.log(res)

{
"data": {
"changeType": "advanced",
"choiseFeeType": "3",
"depositCoinAmt": "0.01",
"depositCoinCode": "BTC",
"depositCoinFeeAmt": "0.00001",
"depositCoinFeeRate": "0.001",
"depositCoinState": "wait_send",
"destinationAddr": "0x364397e2fc9929f11ba0c03826ef282dd64a829f",
"detailState": "wait_deposit_send",
"developerId": "",
"orderId": "60a31323-0507-446b-866c-973a91856e8c",
"orderState": "wait_deposits",
"platformAddr": "3HKL2rwot5YezHGdc5yAabZo74TJeTkVqb",
"receiveCoinAmt": "0.33642",
"receiveCoinCode": "ETH",
"receiveSwftAmt": "18.06",
"refundAddr": "18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY",
"refundCoinAmt": "",
"refundCoinMinerFee": "",
"refundDepositTxid": "",
"refundSwftAmt": "",
"swftCoinFeeRate": "0.0005",
"swftCoinState": "",
"swftReceiveAddr": "",
"swftRefundAddr": "",
//Returned transaction data to be signed after enabling gas free fee
"noGasTxInfo": "{\"gasLimit\":37920,\"data\":\"0xxxxx\",\"chainId\":56,\"to\":\"0xxxxx\",\"nonce\":51,\"gasPrice\":\"3150000000\"}",
"transactionId": ""
},
"resCode": "800",
"resMsg": "成功"
}
Business Reference Graph

Create the order confirmation page

After order creation is complete, create an order
Last modified 19d ago