Back to Collection Items
integer li_rc
oleobject loo_Http
integer li_Success
oleobject loo_Json
oleobject loo_Resp
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Http = create oleobject
// Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
destroy loo_Http
MessageBox("Error","Connecting to COM object failed")
return
end if
// 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"
// }
loo_Json = create oleobject
// Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
loo_Json.UpdateString("symbol","AAPL")
loo_Json.UpdateString("qty","4.125")
loo_Json.UpdateString("notional","606.66")
loo_Json.UpdateString("side","buy")
loo_Json.UpdateString("type","market")
loo_Json.UpdateString("time_in_force","day")
loo_Json.UpdateString("commission","1")
loo_Http.SetRequestHeader("Apca-Api-Secret-Key","{{APCA_API_SECRET_KEY}}")
loo_Http.SetRequestHeader("Apca-Api-Key-Id","{{APCA_API_KEY_ID}}")
loo_Resp = loo_Http.PostJson3("https://domain.com/v2/orders","application/json",loo_Json)
if loo_Http.LastMethodSuccess = 0 then
Write-Debug loo_Http.LastErrorText
destroy loo_Http
destroy loo_Json
return
end if
Write-Debug string(loo_Resp.StatusCode)
Write-Debug loo_Resp.BodyStr
destroy loo_Resp
destroy loo_Http
destroy loo_Json
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": [
]
}