Objective-C
Objective-C
Bitfinex v2 REST Submit Order
See more Bitfinex v2 REST Examples
Submit an order.Chilkat Objective-C Downloads
#import <CkoHttp.h>
#import <CkoCrypt2.h>
#import <NSString.h>
#import <CkoDateTime.h>
#import <CkoStringBuilder.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
CkoCrypt2 *crypt = [[CkoCrypt2 alloc] init];
NSString *apiPath = @"v2/auth/w/order/submit";
NSString *apiKey = @"MY_API_KEY";
NSString *apiSecret = @"MY_API_SECRET";
CkoDateTime *dt = [[CkoDateTime alloc] init];
[dt SetFromCurrentSystemTime];
CkoStringBuilder *sbNonce = [[CkoStringBuilder alloc] init];
[sbNonce Append: [dt GetAsUnixTimeStr: NO]];
[sbNonce Append: @"000"];
NSString *nonce = [sbNonce GetAsString];
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"type" value: @"LIMIT"];
[json UpdateString: @"symbol" value: @"tBTCUSD"];
[json UpdateString: @"price" value: @"15"];
[json UpdateString: @"amount" value: @"0.001"];
[json UpdateInt: @"flags" value: [NSNumber numberWithInt: 0]];
NSString *body = [json Emit];
CkoStringBuilder *sbSignature = [[CkoStringBuilder alloc] init];
[sbSignature Append: @"/api/"];
[sbSignature Append: apiPath];
[sbSignature Append: nonce];
[sbSignature Append: body];
crypt.EncodingMode = @"hex_lower";
crypt.HashAlgorithm = @"sha384";
crypt.MacAlgorithm = @"hmac";
[crypt SetMacKeyString: apiSecret];
NSString *sig = [crypt MacStringENC: [sbSignature GetAsString]];
[http SetRequestHeader: @"bfx-apikey" value: apiKey];
[http SetRequestHeader: @"bfx-signature" value: sig];
[http SetRequestHeader: @"bfx-nonce" value: nonce];
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpStr: @"POST" url: @"https://api.bitfinex.com/v2/auth/w/order/submit" bodyStr: body charset: @"utf-8" contentType: @"application/json" response: resp];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
NSLog(@"%@",@"Response body:");
NSLog(@"%@",resp.BodyStr);