Sample code for 30+ languages & platforms
Visual FoxPro

Bitfinex v2 REST Submit Order

See more Bitfinex v2 REST Examples

Submit an order.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loCrypt
LOCAL lcApiPath
LOCAL lcApiKey
LOCAL lcApiSecret
LOCAL loDt
LOCAL loSbNonce
LOCAL lcNonce
LOCAL loJson
LOCAL lcBody
LOCAL loSbSignature
LOCAL lcSig
LOCAL loResp

lnSuccess = 0

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

loHttp = CreateObject('Chilkat.Http')

loCrypt = CreateObject('Chilkat.Crypt2')

lcApiPath = "v2/auth/w/order/submit"
lcApiKey = "MY_API_KEY"
lcApiSecret = "MY_API_SECRET"

loDt = CreateObject('Chilkat.CkDateTime')
loDt.SetFromCurrentSystemTime()

loSbNonce = CreateObject('Chilkat.StringBuilder')
loSbNonce.Append(loDt.GetAsUnixTimeStr(0))
loSbNonce.Append("000")
lcNonce = loSbNonce.GetAsString()

loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("type","LIMIT")
loJson.UpdateString("symbol","tBTCUSD")
loJson.UpdateString("price","15")
loJson.UpdateString("amount","0.001")
loJson.UpdateInt("flags",0)
lcBody = loJson.Emit()

loSbSignature = CreateObject('Chilkat.StringBuilder')
loSbSignature.Append("/api/")
loSbSignature.Append(lcApiPath)
loSbSignature.Append(lcNonce)
loSbSignature.Append(lcBody)

loCrypt.EncodingMode = "hex_lower"
loCrypt.HashAlgorithm = "sha384"
loCrypt.MacAlgorithm = "hmac"
loCrypt.SetMacKeyString(lcApiSecret)

lcSig = loCrypt.MacStringENC(loSbSignature.GetAsString())

loHttp.SetRequestHeader("bfx-apikey",lcApiKey)
loHttp.SetRequestHeader("bfx-signature",lcSig)
loHttp.SetRequestHeader("bfx-nonce",lcNonce)

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpStr("POST","https://api.bitfinex.com/v2/auth/w/order/submit",lcBody,"utf-8","application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loCrypt
    RELEASE loDt
    RELEASE loSbNonce
    RELEASE loJson
    RELEASE loSbSignature
    RELEASE loResp
    CANCEL
ENDIF

? "Response body:"
? loResp.BodyStr

RELEASE loHttp
RELEASE loCrypt
RELEASE loDt
RELEASE loSbNonce
RELEASE loJson
RELEASE loSbSignature
RELEASE loResp