Chilkat Online Tools

DataFlex / Twilio Messaging / SMS / List all messages sent from your Twilio number

Back to Collection Items

Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoHttp
    Boolean iSuccess
    Variant vQueryParams
    Handle hoQueryParams
    Variant vResp
    Handle hoResp
    Variant vSbResponseBody
    Handle hoSbResponseBody
    Handle hoJResp
    Integer iRespStatusCode
    Variant vDate_created
    Handle hoDate_created
    Variant vDate_sent
    Handle hoDate_sent
    Variant vDate_updated
    Handle hoDate_updated
    String sAccount_sid
    String sApi_version
    String sBody
    String sDirection
    Integer iError_code
    String sError_message
    String sFrom
    String sMessaging_service_sid
    String sNum_media
    String sNum_segments
    String sPrice
    String sPrice_unit
    String sSid
    String sStatus
    String sV_to
    Integer iV_end
    String sFirst_page_uri
    String sNext_page_uri
    Integer iPage
    Integer iPage_size
    String sPrevious_page_uri
    Integer iStart
    String sUri
    Integer i
    Integer iCount_i
    String sTemp1
    Boolean bTemp1

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    Set ComBasicAuth Of hoHttp To True
    Set ComLogin Of hoHttp To "{{TWILIO_ACCOUNT_SID}}"
    Set ComPassword Of hoHttp To "{{TWILIO_AUTH_TOKEN}}"

    Get Create (RefClass(cComChilkatJsonObject)) To hoQueryParams
    If (Not(IsComObjectCreated(hoQueryParams))) Begin
        Send CreateComObject of hoQueryParams
    End
    Get ComUpdateString Of hoQueryParams "From" "{{TWILIO_PHONE_NUMBER}}" To iSuccess

    Get pvComObject of hoQueryParams to vQueryParams
    Get ComQuickRequestParams Of hoHttp "GET" "https://api.twilio.com/2010-04-01/Accounts/:AccountSid/Messages.json" vQueryParams To vResp
    If (IsComObject(vResp)) Begin
        Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
        Set pvComObject Of hoResp To vResp
    End
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
    If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
        Send CreateComObject of hoSbResponseBody
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComGetBodySb Of hoResp vSbResponseBody To iSuccess

    Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
    If (Not(IsComObjectCreated(hoJResp))) Begin
        Send CreateComObject of hoJResp
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
    Set ComEmitCompact Of hoJResp To False

    Showln "Response Body:"
    Get ComEmit Of hoJResp To sTemp1
    Showln sTemp1

    Get ComStatusCode Of hoResp To iRespStatusCode
    Showln "Response Status Code = " iRespStatusCode
    If (iRespStatusCode >= 400) Begin
        Showln "Response Header:"
        Get ComHeader Of hoResp To sTemp1
        Showln sTemp1
        Showln "Failed."
        Send Destroy of hoResp
        Procedure_Return
    End

    Send Destroy of hoResp

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

    // {
    //   "end": 51142961,
    //   "first_page_uri": "https://ZvltuXKxENEyvG.fnbzDIxrccIwHE6GxsyHjMd",
    //   "messages": [
    //     {
    //       "account_sid": "AC9E",
    //       "api_version": "commodo sint sunt eu",
    //       "body": "ut cillum",
    //       "date_created": "fugiat ipsum enim quis",
    //       "date_sent": "o",
    //       "date_updated": "laborum id esse elit",
    //       "direction": "outbound-reply",
    //       "error_code": 89665305,
    //       "error_message": "deserunt",
    //       "from": "anim esse",
    //       "messaging_service_sid": "MGC0",
    //       "num_media": "enim et",
    //       "num_segments": "quis qui ipsum",
    //       "price": "exercitation Duis",
    //       "price_unit": "consequat qu",
    //       "sid": "SMe5",
    //       "status": "scheduled",
    //       "subresource_uris": {},
    //       "to": "nulla",
    //       "uri": "cillum ut in irure"
    //     },
    //     {
    //       "account_sid": "ACD4",
    //       "api_version": "incididunt in non",
    //       "body": "deserunt incididunt irure eiusmod",
    //       "date_created": "sint ea",
    //       "date_sent": "Ut ut consectetur",
    //       "date_updated": "non dolore",
    //       "direction": "outbound-api",
    //       "error_code": -69524035,
    //       "error_message": "dolore Ut officia",
    //       "from": "reprehenderit",
    //       "messaging_service_sid": "MGEe",
    //       "num_media": "voluptate fugiat eiusmod qui Ut",
    //       "num_segments": "ea",
    //       "price": "consequat",
    //       "price_unit": "fugiat aliquip",
    //       "sid": "MM38",
    //       "status": "received",
    //       "subresource_uris": {},
    //       "to": "in tempor labore eiusmod",
    //       "uri": "elit non dol"
    //     }
    //   ],
    //   "next_page_uri": "http://fSikGpthYZQbOt.sncsPW4TzW44TkKnuDgx8f2FJz.",
    //   "page": -43897926,
    //   "page_size": 12121047,
    //   "previous_page_uri": "https://lSrGpSrECCMzKudcyRlwJdfhlnZEaAQ.hytgI,rCvOIy,x1C6vbgTvc9p6X2hkAdrqkd5jx8JKwJPiCrpsg2w",
    //   "start": -23084704,
    //   "uri": "https://USSzIQwA.hvxpmaT2476DlQGIi"
    // }

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

    Get Create (RefClass(cComChilkatDtObj)) To hoDate_created
    If (Not(IsComObjectCreated(hoDate_created))) Begin
        Send CreateComObject of hoDate_created
    End
    Get Create (RefClass(cComChilkatDtObj)) To hoDate_sent
    If (Not(IsComObjectCreated(hoDate_sent))) Begin
        Send CreateComObject of hoDate_sent
    End
    Get Create (RefClass(cComChilkatDtObj)) To hoDate_updated
    If (Not(IsComObjectCreated(hoDate_updated))) Begin
        Send CreateComObject of hoDate_updated
    End

    Get ComIntOf Of hoJResp "end" To iV_end
    Get ComStringOf Of hoJResp "first_page_uri" To sFirst_page_uri
    Get ComStringOf Of hoJResp "next_page_uri" To sNext_page_uri
    Get ComIntOf Of hoJResp "page" To iPage
    Get ComIntOf Of hoJResp "page_size" To iPage_size
    Get ComStringOf Of hoJResp "previous_page_uri" To sPrevious_page_uri
    Get ComIntOf Of hoJResp "start" To iStart
    Get ComStringOf Of hoJResp "uri" To sUri
    Move 0 To i
    Get ComSizeOfArray Of hoJResp "messages" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJResp To i
        Get ComStringOf Of hoJResp "messages[i].account_sid" To sAccount_sid
        Get ComStringOf Of hoJResp "messages[i].api_version" To sApi_version
        Get ComStringOf Of hoJResp "messages[i].body" To sBody
        Get pvComObject of hoDate_created to vDate_created
        Get ComDtOf Of hoJResp "messages[i].date_created" False vDate_created To iSuccess
        Get pvComObject of hoDate_sent to vDate_sent
        Get ComDtOf Of hoJResp "messages[i].date_sent" False vDate_sent To iSuccess
        Get pvComObject of hoDate_updated to vDate_updated
        Get ComDtOf Of hoJResp "messages[i].date_updated" False vDate_updated To iSuccess
        Get ComStringOf Of hoJResp "messages[i].direction" To sDirection
        Get ComIntOf Of hoJResp "messages[i].error_code" To iError_code
        Get ComStringOf Of hoJResp "messages[i].error_message" To sError_message
        Get ComStringOf Of hoJResp "messages[i].from" To sFrom
        Get ComStringOf Of hoJResp "messages[i].messaging_service_sid" To sMessaging_service_sid
        Get ComStringOf Of hoJResp "messages[i].num_media" To sNum_media
        Get ComStringOf Of hoJResp "messages[i].num_segments" To sNum_segments
        Get ComStringOf Of hoJResp "messages[i].price" To sPrice
        Get ComStringOf Of hoJResp "messages[i].price_unit" To sPrice_unit
        Get ComStringOf Of hoJResp "messages[i].sid" To sSid
        Get ComStringOf Of hoJResp "messages[i].status" To sStatus
        Get ComStringOf Of hoJResp "messages[i].to" To sV_to
        Get ComStringOf Of hoJResp "messages[i].uri" To sUri
        Move (i + 1) To i
    Loop



End_Procedure

Curl Command

curl -G -d "From=%7B%7BTWILIO_PHONE_NUMBER%7D%7D"
	-u '{{TWILIO_ACCOUNT_SID}}:{{TWILIO_AUTH_TOKEN}}'
https://api.twilio.com/2010-04-01/Accounts/:AccountSid/Messages.json

Postman Collection Item JSON

{
  "name": "List all messages sent from your Twilio number",
  "event": [
    {
      "listen": "test",
      "script": {
        "exec": [
          "var template = `",
          "    <table bgcolor=\"#FFFFFF\">",
          "        <tr>",
          "            <th>To</th>",
          "            <th>Message Body</th>",
          "            <th>Sent at</th>",
          "        </tr>",
          "",
          "        {{#each messages}}",
          "            <tr>",
          "                <td>{{to}}</td>",
          "                <td>{{body}}</td>",
          "                <td>{{date_sent}}</td>",
          "            </tr>",
          "        {{/each}}",
          "    </table>",
          "`;",
          "",
          "// Set visualizer",
          "pm.visualizer.set(template, {",
          "    // Pass the response body parsed as JSON as `data`",
          "    messages: pm.response.json().messages",
          "});"
        ],
        "type": "text/javascript"
      }
    }
  ],
  "request": {
    "auth": {
      "type": "basic",
      "basic": [
        {
          "key": "password",
          "value": "{{TWILIO_AUTH_TOKEN}}",
          "type": "string"
        },
        {
          "key": "username",
          "value": "{{TWILIO_ACCOUNT_SID}}",
          "type": "string"
        }
      ]
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{2010-04-01-Accounts-AccountSid-Messages.json-Url}}/2010-04-01/Accounts/:AccountSid/Messages.json?From={{TWILIO_PHONE_NUMBER}}",
      "host": [
        "{{2010-04-01-Accounts-AccountSid-Messages.json-Url}}"
      ],
      "path": [
        "2010-04-01",
        "Accounts",
        ":AccountSid",
        "Messages.json"
      ],
      "query": [
        {
          "key": "To",
          "value": "<string>",
          "description": "Read messages sent to only this phone number.",
          "disabled": true
        },
        {
          "key": "From",
          "value": "{{TWILIO_PHONE_NUMBER}}",
          "description": "Read messages sent from only this phone number or alphanumeric sender ID."
        },
        {
          "key": "DateSent",
          "value": "<dateTime>",
          "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.",
          "disabled": true
        },
        {
          "key": "DateSent<",
          "value": "<dateTime>",
          "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.",
          "disabled": true
        },
        {
          "key": "DateSent>",
          "value": "<dateTime>",
          "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.",
          "disabled": true
        },
        {
          "key": "PageSize",
          "value": "<integer>",
          "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
          "disabled": true
        }
      ],
      "variable": [
        {
          "key": "AccountSid",
          "value": "{{TWILIO_ACCOUNT_SID}}",
          "description": "(Required) The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to read."
        }
      ]
    },
    "description": "Retrieve a list of messages belonging to the account used to make the request. You can filter for example for only the messages that were sent from a specific phone number.\n\nRead more about it in the [Twilio Docs](https://www.twilio.com/docs/sms/api/message-resource#read-multiple-message-resources)"
  },
  "response": [
    {
      "name": "OK",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: basic",
            "key": "Authorization",
            "value": "Basic <credentials>"
          }
        ],
        "url": {
          "raw": "{{2010-04-01-Accounts-AccountSid-Messages.json-Url}}/2010-04-01/Accounts/:AccountSid/Messages.json?To=<string>&From=<string>&DateSent=<dateTime>&DateSent<=<dateTime>&DateSent>=<dateTime>&PageSize=<integer>",
          "host": [
            "{{2010-04-01-Accounts-AccountSid-Messages.json-Url}}"
          ],
          "path": [
            "2010-04-01",
            "Accounts",
            ":AccountSid",
            "Messages.json"
          ],
          "query": [
            {
              "key": "To",
              "value": "<string>"
            },
            {
              "key": "From",
              "value": "<string>"
            },
            {
              "key": "DateSent",
              "value": "<dateTime>"
            },
            {
              "key": "DateSent<",
              "value": "<dateTime>"
            },
            {
              "key": "DateSent>",
              "value": "<dateTime>"
            },
            {
              "key": "PageSize",
              "value": "<integer>"
            }
          ],
          "variable": [
            {
              "key": "AccountSid"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"end\": 51142961,\n \"first_page_uri\": \"https://ZvltuXKxENEyvG.fnbzDIxrccIwHE6GxsyHjMd\",\n \"messages\": [\n  {\n   \"account_sid\": \"AC9E\",\n   \"api_version\": \"commodo sint sunt eu\",\n   \"body\": \"ut cillum\",\n   \"date_created\": \"fugiat ipsum enim quis\",\n   \"date_sent\": \"o\",\n   \"date_updated\": \"laborum id esse elit\",\n   \"direction\": \"outbound-reply\",\n   \"error_code\": 89665305,\n   \"error_message\": \"deserunt\",\n   \"from\": \"anim esse\",\n   \"messaging_service_sid\": \"MGC0\",\n   \"num_media\": \"enim et\",\n   \"num_segments\": \"quis qui ipsum\",\n   \"price\": \"exercitation Duis\",\n   \"price_unit\": \"consequat qu\",\n   \"sid\": \"SMe5\",\n   \"status\": \"scheduled\",\n   \"subresource_uris\": {},\n   \"to\": \"nulla\",\n   \"uri\": \"cillum ut in irure\"\n  },\n  {\n   \"account_sid\": \"ACD4\",\n   \"api_version\": \"incididunt in non\",\n   \"body\": \"deserunt incididunt irure eiusmod\",\n   \"date_created\": \"sint ea\",\n   \"date_sent\": \"Ut ut consectetur\",\n   \"date_updated\": \"non dolore\",\n   \"direction\": \"outbound-api\",\n   \"error_code\": -69524035,\n   \"error_message\": \"dolore Ut officia\",\n   \"from\": \"reprehenderit\",\n   \"messaging_service_sid\": \"MGEe\",\n   \"num_media\": \"voluptate fugiat eiusmod qui Ut\",\n   \"num_segments\": \"ea\",\n   \"price\": \"consequat\",\n   \"price_unit\": \"fugiat aliquip\",\n   \"sid\": \"MM38\",\n   \"status\": \"received\",\n   \"subresource_uris\": {},\n   \"to\": \"in tempor labore eiusmod\",\n   \"uri\": \"elit non dol\"\n  }\n ],\n \"next_page_uri\": \"http://fSikGpthYZQbOt.sncsPW4TzW44TkKnuDgx8f2FJz.\",\n \"page\": -43897926,\n \"page_size\": 12121047,\n \"previous_page_uri\": \"https://lSrGpSrECCMzKudcyRlwJdfhlnZEaAQ.hytgI,rCvOIy,x1C6vbgTvc9p6X2hkAdrqkd5jx8JKwJPiCrpsg2w\",\n \"start\": -23084704,\n \"uri\": \"https://USSzIQwA.hvxpmaT2476DlQGIi\"\n}"
    }
  ]
}