Sample code for 30+ languages & platforms
Swift

SMSAPI - Create a Contact

See more SMSAPI Examples

Create a Contact

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://api.smsapi.com/contacts -H "Authorization: Bearer token_api_oauth" \
    // -d "phone_number=48500000000&email=bok@smsapi.com&first_name=Name&last_name=Last_name&gender=gender&description=description&city=city&groups=default"

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

    let req = CkoHttpRequest()!
    req.httpVerb = "POST"
    req.path = "/contacts"
    req.contentType = "application/x-www-form-urlencoded"
    req.addParam(name: "phone_number", value: "48500000000")
    req.addParam(name: "email", value: "bok@smsapi.com")
    req.addParam(name: "first_name", value: "Name")
    req.addParam(name: "last_name", value: "Last_name")
    req.addParam(name: "gender", value: "gender")
    req.addParam(name: "description", value: "description")
    req.addParam(name: "city", value: "city")
    req.addParam(name: "groups", value: "default")

    req.addHeader(name: "Authorization", value: "Bearer token_api_oauth")

    let resp = CkoHttpResponse()!
    success = http.httpReq(url: "https://api.smsapi.com/contacts", request: req, 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)

    // {
    //   "id": "5b802315a788494a04690d1d",
    //   "first_name": "string",
    //   "last_name": "string",
    //   "phone_number": "48500000000",
    //   "email": "bok@smsapi.com",
    //   "gender": "gender",
    //   "city": "city",
    //   "date_created": "2018-08-24T17:24:05+02:00",
    //   "date_updated": "2018-08-24T17:24:05+02:00",
    //   "description": "description",
    //   "groups": [
    //     {
    //       "id": "59a3ca1fa78849062837cd0c",
    //       "name": "default",
    //       "date_created": "2017-08-28T09:45:35+02:00",
    //       "date_updated": "2017-08-28T09:45:35+02:00",
    //       "description": "",
    //       "created_by": "username",
    //       "idx": null,
    //       "contact_expire_after": null,
    //       "contacts_count": null
    //     }
    //   ]
    // }

    // Sample code for parsing the JSON response...
    // Use the following online tool to generate parsing code from sample JSON:
    // Generate Parsing Code from JSON

    let date_created = CkoDtObj()!
    let date_updated = CkoDtObj()!
    var name: String?
    var created_by: String?
    var idx: String?
    var contact_expire_after: String?
    var contacts_count: String?

    var id: String? = jResp.string(of: "id")
    var first_name: String? = jResp.string(of: "first_name")
    var last_name: String? = jResp.string(of: "last_name")
    var phone_number: String? = jResp.string(of: "phone_number")
    var email: String? = jResp.string(of: "email")
    var gender: String? = jResp.string(of: "gender")
    var city: String? = jResp.string(of: "city")
    jResp.dt(of: "date_created", bLocal: false, dt: date_created)
    jResp.dt(of: "date_updated", bLocal: false, dt: date_updated)
    var description: String? = jResp.string(of: "description")
    var i: Int = 0
    var count_i: Int = jResp.size(ofArray: "groups").intValue
    while i < count_i {
        jResp.i = i
        id = jResp.string(of: "groups[i].id")
        name = jResp.string(of: "groups[i].name")
        jResp.dt(of: "groups[i].date_created", bLocal: false, dt: date_created)
        jResp.dt(of: "groups[i].date_updated", bLocal: false, dt: date_updated)
        description = jResp.string(of: "groups[i].description")
        created_by = jResp.string(of: "groups[i].created_by")
        idx = jResp.string(of: "groups[i].idx")
        contact_expire_after = jResp.string(of: "groups[i].contact_expire_after")
        contacts_count = jResp.string(of: "groups[i].contacts_count")
        i = i + 1
    }


}