Back to Collection Items
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
BOOL success;
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "symbol": "AAPL",
// "qty": "4.125",
// "notional": "606.66",
// "side": "buy",
// "type": "market",
// "time_in_force": "day",
// "commission": "1"
// }
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"symbol" value: @"AAPL"];
[json UpdateString: @"qty" value: @"4.125"];
[json UpdateString: @"notional" value: @"606.66"];
[json UpdateString: @"side" value: @"buy"];
[json UpdateString: @"type" value: @"market"];
[json UpdateString: @"time_in_force" value: @"day"];
[json UpdateString: @"commission" value: @"1"];
[http SetRequestHeader: @"Apca-Api-Secret-Key" value: @"{{APCA_API_SECRET_KEY}}"];
[http SetRequestHeader: @"Apca-Api-Key-Id" value: @"{{APCA_API_KEY_ID}}"];
CkoHttpResponse *resp = [http PostJson3: @"https://domain.com/v2/orders" contentType: @"application/json" json: json];
if (http.LastMethodSuccess == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
NSLog(@"%d",[resp.StatusCode intValue]);
NSLog(@"%@",resp.BodyStr);
Curl Command
curl -X POST
-H "Apca-Api-Key-Id: {{APCA_API_KEY_ID}}"
-H "Apca-Api-Secret-Key: {{APCA_API_SECRET_KEY}}"
-d '{
"symbol": "AAPL",
"qty": "4.125",
"notional": "606.66",
"side": "buy",
"type": "market",
"time_in_force": "day",
"commission": "1"
}'
https://domain.com/v2/orders
Postman Collection Item JSON
{
"name": "Order",
"request": {
"method": "POST",
"header": [
{
"key": "Apca-Api-Key-Id",
"value": "{{APCA_API_KEY_ID}}",
"type": "text"
},
{
"key": "Apca-Api-Secret-Key",
"value": "{{APCA_API_SECRET_KEY}}",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"symbol\": \"AAPL\",\n \"qty\": \"4.125\",\n \"notional\": \"606.66\",\n \"side\": \"buy\",\n \"type\": \"market\",\n \"time_in_force\": \"day\",\n \"commission\": \"1\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{HOST}}/v2/orders",
"host": [
"{{HOST}}"
],
"path": [
"v2",
"orders"
]
},
"description": "| Attribute | Type | Requirement | Notes |\n| ----------------- | -------------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `symbol` | string | Required | Symbol or asset ID to identify the asset to trade |\n| `qty` | string/number | Required | Number of shares to trade. Can be fractionable for only `market` and `day` order types. |\n| `notional` | string/number | Required | Dollar amount to trade. Cannot work with `qty`. Can only work for `market` order types and `time_in_force = day`. |\n| `side` | string | Required | `buy` or `sell` |\n| `type` | string | Required | `market`, `limit`, `stop`, `stop_limit`, or `trailing_stop` |\n| `time_in_force` | string/number | Required | `day`, `gtc`, `opg`, `cls`, `ioc`, `fok`. Please see Understand Orders for more info. |\n| `limit_price` | string/number | Optional | Required if type is `limit` or `stop_limit` |\n| `stop_price` | string/number | Optional | Required if type is `stop` or `stop_limit` |\n| `trail_price` | string/number | Optional | Required if type is `trailing_stop`, `trail_price` or `trail_percent` is required |\n| `trail_percent` | string/number | Optional | Required if type is `trailing_stop`, `trail_price` or `trail_percent` is required |\n| `extended_hours` | string | Optional | Defaults to `false`. If `true`, order will be eligible to execute in premarket/afterhours. Only works with type `limit` and `time_in_force = day`. |\n| `client_order_id` | string/UUID | Optional | A unique identifier for the order. Automatically generated if not sent. (<= 48 characters) |\n| `order_class` | string/numeric | Optional | `simple`, `bracket`, `oco` or `oto`. For details of non-simple order classes, please see Bracket Order Overview |\n| `take_profit` | object | Optional | Takes in a string/number value for `limit_price` |\n| `stop_loss` | object | Optional | Takes in a string/number values for `stop_price` and `limit_price` |\n| `commission` | string/numeric | Optional | The commission you want to collect from the user. |"
},
"response": [
]
}