Sample code for 30+ languages & platforms
Xojo Plugin

WhatsApp - First Login

Log in the very first time to get your authentication token. The new login/password is passed in the JSON body of the request.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New Chilkat.Http

// Implements the following CURL command:

// curl -k -X POST https://your-webapp-hostname:your-webapp-port/v1/users/login \
//   -H 'Content-Type: application/json' \
//   --user 'admin:secret' \
//   -d '{"new_password" : "new-password"}'

http.Login = "admin"
http.Password = "secret"

// The following JSON is sent in the request body.

// {
//   "new_password": "new-password"
// }

Dim json As New Chilkat.JsonObject
success = json.UpdateString("new_password","new-password")

Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST","https://your-webapp-hostname:your-webapp-port/v1/users/login",json,"application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim sbResponseBody As New Chilkat.StringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = resp.StatusCode
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(resp.Header)
    System.DebugLog("Failed.")
    Return
End If

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "users": [
//     {
//       "token": "eyJhbGciOHlXVCJ9.eyJ1c2VyIjoNTIzMDE2Nn0.mEoF0COaO00Z1cANo",
//       "expires_after": "2018-03-01 15:29:26+00:00"
//     }
//   ]
// }

// Sample code for parsing the JSON response...

Dim token As String
Dim expires_after As String

Dim i As Int32
i = 0
Dim count_i As Int32
count_i = jResp.SizeOfArray("users")
While i < count_i
    jResp.I = i
    token = jResp.StringOf("users[i].token")
    expires_after = jResp.StringOf("users[i].expires_after")
    i = i + 1
Wend