Sample code for 30+ languages & platforms
Swift

Twilio List Log Messages

See more Twilio Examples

Fetch the log containing information about SMS messages previously sent (or failed to be sent).

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 GET 'https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json?PageSize=20' \
    // -u TWILIO_ACCOUNT_SID:TWILIO_AUTH_TOKEN

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

    http.login = "TWILIO_ACCOUNT_SID"
    http.password = "TWILIO_AUTH_TOKEN"

    let sbResponseBody = CkoStringBuilder()!
    success = http.quickGetSb(url: "https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json?PageSize=20", sbContent: sbResponseBody)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    let json = CkoJsonObject()!
    json.loadSb(sb: sbResponseBody)
    json.emitCompact = false

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

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

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

    // {
    //   "end": 1,
    //   "first_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",
    //   "next_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=1&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26",
    //   "page": 0,
    //   "page_size": 2,
    //   "previous_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",
    //   "messages": [
    //     {
    //       "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    //       "api_version": "2010-04-01",
    //       "body": "testing",
    //       "date_created": "Fri, 24 May 2019 17:44:46 +0000",
    //       "date_sent": "Fri, 24 May 2019 17:44:50 +0000",
    //       "date_updated": "Fri, 24 May 2019 17:44:50 +0000",
    //       "direction": "outbound-api",
    //       "error_code": null,
    //       "error_message": null,
    //       "from": "+12019235161",
    //       "messaging_service_sid": null,
    //       "num_media": "0",
    //       "num_segments": "1",
    //       "price": "-0.00750",
    //       "price_unit": "USD",
    //       "sid": "SMded05904ccb347238880ca9264e8fe1c",
    //       "status": "sent",
    //       "subresource_uris": {
    //         "media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c/Media.json",
    //         "feedback": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c/Feedback.json"
    //       },
    //       "to": "+18182008801",
    //       "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c.json"
    //     },
    //     {
    //       "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    //       "api_version": "2010-04-01",
    //       "body": "look mom I have media!",
    //       "date_created": "Fri, 24 May 2019 17:44:46 +0000",
    //       "date_sent": "Fri, 24 May 2019 17:44:49 +0000",
    //       "date_updated": "Fri, 24 May 2019 17:44:49 +0000",
    //       "direction": "inbound",
    //       "error_code": 30004,
    //       "error_message": "Message blocked",
    //       "from": "+12019235161",
    //       "messaging_service_sid": null,
    //       "num_media": "3",
    //       "num_segments": "1",
    //       "price": "-0.00750",
    //       "price_unit": "USD",
    //       "sid": "MMc26223853f8c46b4ab7dfaa6abba0a26",
    //       "status": "received",
    //       "subresource_uris": {
    //         "media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Media.json",
    //         "feedback": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Feedback.json"
    //       },
    //       "to": "+18182008801",
    //       "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26.json"
    //     }
    //   ],
    //   "start": 0,
    //   "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0"
    // }

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

    var account_sid: String?
    var api_version: String?
    var body: String?
    var date_created: String?
    var date_sent: String?
    var date_updated: String?
    var direction: String?
    var error_code: String?
    var error_message: String?
    var from: String?
    var messaging_service_sid: String?
    var num_media: String?
    var num_segments: String?
    var price: String?
    var price_unit: String?
    var sid: String?
    var status: String?
    var subresource_urisMedia: String?
    var subresource_urisFeedback: String?
    var v_to: String?

    var end: Int = json.int(of: "end").intValue
    var first_page_uri: String? = json.string(of: "first_page_uri")
    var next_page_uri: String? = json.string(of: "next_page_uri")
    var page: Int = json.int(of: "page").intValue
    var page_size: Int = json.int(of: "page_size").intValue
    var previous_page_uri: String? = json.string(of: "previous_page_uri")
    var start: Int = json.int(of: "start").intValue
    var uri: String? = json.string(of: "uri")
    var i: Int = 0
    var count_i: Int = json.size(ofArray: "messages").intValue
    while i < count_i {
        json.i = i
        account_sid = json.string(of: "messages[i].account_sid")
        api_version = json.string(of: "messages[i].api_version")
        body = json.string(of: "messages[i].body")
        date_created = json.string(of: "messages[i].date_created")
        date_sent = json.string(of: "messages[i].date_sent")
        date_updated = json.string(of: "messages[i].date_updated")
        direction = json.string(of: "messages[i].direction")
        error_code = json.string(of: "messages[i].error_code")
        error_message = json.string(of: "messages[i].error_message")
        from = json.string(of: "messages[i].from")
        messaging_service_sid = json.string(of: "messages[i].messaging_service_sid")
        num_media = json.string(of: "messages[i].num_media")
        num_segments = json.string(of: "messages[i].num_segments")
        price = json.string(of: "messages[i].price")
        price_unit = json.string(of: "messages[i].price_unit")
        sid = json.string(of: "messages[i].sid")
        status = json.string(of: "messages[i].status")
        subresource_urisMedia = json.string(of: "messages[i].subresource_uris.media")
        subresource_urisFeedback = json.string(of: "messages[i].subresource_uris.feedback")
        v_to = json.string(of: "messages[i].to")
        uri = json.string(of: "messages[i].uri")
        i = i + 1
    }


}