Chilkat Online Tools

unicodeC / Binance spot API / Cancel an Existing Order and Send a New Order (TRADE)

Back to Collection Items

#include <C_CkHttpW.h>
#include <C_CkHttpResponseW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    BOOL success;
    HCkHttpResponseW resp;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    http = CkHttpW_Create();

    CkHttpW_SetRequestHeader(http,L"Content-Type",L"application/json");
    CkHttpW_SetRequestHeader(http,L"X-MBX-APIKEY",L"{{binance-api-key}}");

    resp = CkHttpW_QuickRequest(http,L"POST",L"https://domain.com/api/v3/order/cancelReplace?symbol=BNBUSDT&side=SELL&type=&cancelReplaceMode=×tamp={{timestamp}}&signature={{signature}}");
    if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        return;
    }

    wprintf(L"%d\n",CkHttpResponseW_getStatusCode(resp));
    wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
    CkHttpResponseW_Dispose(resp);


    CkHttpW_Dispose(http);

    }

Curl Command

curl -X POST
	-H "Content-Type: application/json"
	-H "X-MBX-APIKEY: {{binance-api-key}}"
https://domain.com/api/v3/order/cancelReplace?symbol=BNBUSDT&side=SELL&type=&cancelReplaceMode=&timestamp={{timestamp}}&signature={{signature}}

Postman Collection Item JSON

{
  "name": "Cancel an Existing Order and Send a New Order (TRADE)",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "type": "text",
        "value": "application/json"
      },
      {
        "key": "X-MBX-APIKEY",
        "value": "{{binance-api-key}}",
        "type": "text"
      }
    ],
    "url": {
      "raw": "{{url}}/api/v3/order/cancelReplace?symbol=BNBUSDT&side=SELL&type=&cancelReplaceMode=&timestamp={{timestamp}}&signature={{signature}}",
      "host": [
        "{{url}}"
      ],
      "path": [
        "api",
        "v3",
        "order",
        "cancelReplace"
      ],
      "query": [
        {
          "key": "symbol",
          "value": "BNBUSDT",
          "description": "Trading symbol, e.g. BNBUSDT"
        },
        {
          "key": "side",
          "value": "SELL"
        },
        {
          "key": "type",
          "value": "",
          "description": "Order type"
        },
        {
          "key": "cancelReplaceMode",
          "value": "",
          "description": "- `STOP_ON_FAILURE` If the cancel request fails, the new order placement will not be attempted.\n- `ALLOW_FAILURES` If new order placement will be attempted even if cancel request fails."
        },
        {
          "key": "timeInForce",
          "value": "",
          "description": "Order time in force",
          "disabled": true
        },
        {
          "key": "quantity",
          "value": "",
          "description": "Order quantity",
          "disabled": true
        },
        {
          "key": "quoteOrderQty",
          "value": "",
          "description": "Quote quantity",
          "disabled": true
        },
        {
          "key": "price",
          "value": "",
          "description": "Order price",
          "disabled": true
        },
        {
          "key": "cancelNewClientOrderId",
          "value": "",
          "description": "Used to uniquely identify this cancel. Automatically generated by default",
          "disabled": true
        },
        {
          "key": "cancelOrigClientOrderId",
          "value": "",
          "description": "Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.",
          "disabled": true
        },
        {
          "key": "cancelOrderId",
          "value": "",
          "description": "Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.",
          "disabled": true
        },
        {
          "key": "newClientOrderId",
          "value": "",
          "description": "Used to identify the new order. Automatically generated by default",
          "disabled": true
        },
        {
          "key": "strategyId",
          "value": "",
          "disabled": true
        },
        {
          "key": "strategyType",
          "value": "",
          "description": "The value cannot be less than 1000000",
          "disabled": true
        },
        {
          "key": "stopPrice",
          "value": "20.01",
          "description": "Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.",
          "disabled": true
        },
        {
          "key": "trailingDelta",
          "value": "",
          "description": "Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.",
          "disabled": true
        },
        {
          "key": "icebergQty",
          "value": "",
          "description": "Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.",
          "disabled": true
        },
        {
          "key": "newOrderRespType",
          "value": "",
          "description": "Set the response JSON. MARKET and LIMIT order types default to FULL, all other orders default to ACK.",
          "disabled": true
        },
        {
          "key": "recvWindow",
          "value": "5000",
          "description": "The value cannot be greater than 60000",
          "disabled": true
        },
        {
          "key": "timestamp",
          "value": "{{timestamp}}",
          "description": "UTC timestamp in ms"
        },
        {
          "key": "signature",
          "value": "{{signature}}",
          "description": "Signature"
        }
      ]
    },
    "description": "Cancels an existing order and places a new order on the same symbol.\n\nFilters are evaluated before the cancel order is placed.\n\nIf the new order placement is successfully sent to the engine, the order count will increase by 1.\n\nWeight(IP): 1"
  },
  "response": [
  ]
}