Sample code for 30+ languages & platforms
Swift

WhatsApp - Login

Log in to get your authentication token (which is to be used in the "Authorization: Bearer your-auth-token" header in other REST API calls).

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let http = CkoHttp()!

    // Implements the following CURL command:

    // curl -X POST https://your-webapp-hostname:your-webapp-port/v1/users/login \
    //   -H 'Content-Type: application/json' \
    //   --user 'username:password' \
    //   -d '{}'

    http.login = "username"
    http.password = "password"

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

    // {}

    let json = CkoJsonObject()!

    let resp = CkoHttpResponse()!
    success = http.httpJson(verb: "POST", url: "https://your-webapp-hostname:your-webapp-port/v1/users/login", json: json, contentType: "application/json", response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    let sbResponseBody = CkoStringBuilder()!
    resp.getBodySb(sb: sbResponseBody)
    let jResp = CkoJsonObject()!
    jResp.loadSb(sb: sbResponseBody)
    jResp.emitCompact = false

    print("Response Body:")
    print("\(jResp.emit()!)")

    var respStatusCode: Int = resp.statusCode.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode >= 400 {
        print("Response Header:")
        print("\(resp.header!)")
        print("Failed.")
        return
    }

    // 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...

    var token: String?
    var expires_after: String?

    var i: Int = 0
    var count_i: Int = jResp.size(ofArray: "users").intValue
    while i < count_i {
        jResp.i = i
        token = jResp.string(of: "users[i].token")
        expires_after = jResp.string(of: "users[i].expires_after")
        i = i + 1
    }


}