Sample code for 30+ languages & platforms
Visual FoxPro

Bitfinex v2 REST User Info

See more Bitfinex v2 REST Examples

Retrieve the user ID, email, username and timezone setting for the account associated with the API key used.

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 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')

* Implements the following CURL command:

* curl -X POST -H "bfx-nonce: nonce" \
*   -H "bfx-apikey: apiKey" \
*   -H "bfx-signature: sig" \ 
*   https://api.bitfinex.com/v2/auth/r/info/user

* Use the following online tool to generate HTTP code from a CURL command
* Convert a cURL Command to HTTP Source Code

loCrypt = CreateObject('Chilkat.Crypt2')

lcApiPath = "v2/auth/r/info/user"
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()

* This particular request has an empty body.
lcBody = ""

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.HttpNoBody("POST","https://api.bitfinex.com/v2/auth/r/info/user",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loCrypt
    RELEASE loDt
    RELEASE loSbNonce
    RELEASE loSbSignature
    RELEASE loResp
    CANCEL
ENDIF

? "Response body:"
? loResp.BodyStr

* Sample response body:

* [1234567,"joe@example.com","joe_trader",1527691729000,0,null,null,"Central Time (US & Canada)"]

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