Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) MessageMedia - Send MessagesSee more MessageMedia ExamplesSubmit one or more (up to 100 per request) SMS, MMS, or text to voice messages for delivery. For more information, see https://support.messagemedia.com/hc/en-us/articles/4413635760527-Messaging-API
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] # Implements the following CURL command: # curl --request POST \ # --header "Content-Type: application/json" \ # --header "Accept: application/json" \ # --data-binary "{ # \"messages\": [ # { # \"callback_url\": \"https://my.callback.url.com\", # \"content\": \"My first message\", # \"destination_number\": \"+61491570156\", # \"delivery_report\": true, # \"format\": \"SMS\", # \"message_expiry_timestamp\": \"2016-11-03T11:49:02.807Z\", # \"metadata\": { # \"myKey\": \"myValue\", # \"anotherKey\": \"anotherValue\" # }, # \"scheduled\": \"2016-11-03T11:49:02.807Z\", # \"source_number\": \"+61491570157\", # \"source_number_type\": \"INTERNATIONAL\" # }, # { # \"callback_url\": \"https://my.callback.url.com\", # \"content\": \"My second message\", # \"destination_number\": \"+61491570158\", # \"delivery_report\": true, # \"format\": \"MMS\", # \"subject\": \"This is an MMS message\", # \"media\": [ \"https://images.pexels.com/photos/1018350/pexels-photo-1018350.jpeg?cs=srgb&dl=architecture-buildings-city-1018350.jpg\" ], # \"message_expiry_timestamp\": \"2016-11-03T11:49:02.807Z\", # \"metadata\": { # \"myKey\": \"myValue\", # \"anotherKey\": \"anotherValue\" # }, # \"scheduled\": \"2016-11-03T11:49:02.807Z\", # \"source_number\": \"+61491570159\", # \"source_number_type\": \"INTERNATIONAL\" # } # ] # }" \ # https://private-anon-ecbaffbc28-messages32.apiary-mock.com/v1/messages # Use the following online tool to generate HTTP code from a CURL command # Convert a cURL Command to HTTP Source Code # Use this online tool to generate code from sample JSON: # Generate Code to Create JSON # The following JSON is sent in the request body. # { # "messages": [ # { # "callback_url": "https://my.callback.url.com", # "content": "My first message", # "destination_number": "+61491570156", # "delivery_report": true, # "format": "SMS", # "message_expiry_timestamp": "2016-11-03T11:49:02.807Z", # "metadata": { # "myKey": "myValue", # "anotherKey": "anotherValue" # }, # "scheduled": "2016-11-03T11:49:02.807Z", # "source_number": "+61491570157", # "source_number_type": "INTERNATIONAL" # }, # { # "callback_url": "https://my.callback.url.com", # "content": "My second message", # "destination_number": "+61491570158", # "delivery_report": true, # "format": "MMS", # "subject": "This is an MMS message", # "media": [ # "https://images.pexels.com/photos/1018350/pexels-photo-1018350.jpeg?cs=srgb&dl=architecture-buildings-city-1018350.jpg" # ], # "message_expiry_timestamp": "2016-11-03T11:49:02.807Z", # "metadata": { # "myKey": "myValue", # "anotherKey": "anotherValue" # }, # "scheduled": "2016-11-03T11:49:02.807Z", # "source_number": "+61491570159", # "source_number_type": "INTERNATIONAL" # } # ] # } set json [new_CkJsonObject] CkJsonObject_UpdateString $json "messages[0].callback_url" "https://my.callback.url.com" CkJsonObject_UpdateString $json "messages[0].content" "My first message" CkJsonObject_UpdateString $json "messages[0].destination_number" "+61491570156" CkJsonObject_UpdateBool $json "messages[0].delivery_report" 1 CkJsonObject_UpdateString $json "messages[0].format" "SMS" CkJsonObject_UpdateString $json "messages[0].message_expiry_timestamp" "2016-11-03T11:49:02.807Z" CkJsonObject_UpdateString $json "messages[0].metadata.myKey" "myValue" CkJsonObject_UpdateString $json "messages[0].metadata.anotherKey" "anotherValue" CkJsonObject_UpdateString $json "messages[0].scheduled" "2016-11-03T11:49:02.807Z" CkJsonObject_UpdateString $json "messages[0].source_number" "+61491570157" CkJsonObject_UpdateString $json "messages[0].source_number_type" "INTERNATIONAL" CkJsonObject_UpdateString $json "messages[1].callback_url" "https://my.callback.url.com" CkJsonObject_UpdateString $json "messages[1].content" "My second message" CkJsonObject_UpdateString $json "messages[1].destination_number" "+61491570158" CkJsonObject_UpdateBool $json "messages[1].delivery_report" 1 CkJsonObject_UpdateString $json "messages[1].format" "MMS" CkJsonObject_UpdateString $json "messages[1].subject" "This is an MMS message" CkJsonObject_UpdateString $json "messages[1].media[0]" "https://images.pexels.com/photos/1018350/pexels-photo-1018350.jpeg?cs=srgb&dl=architecture-buildings-city-1018350.jpg" CkJsonObject_UpdateString $json "messages[1].message_expiry_timestamp" "2016-11-03T11:49:02.807Z" CkJsonObject_UpdateString $json "messages[1].metadata.myKey" "myValue" CkJsonObject_UpdateString $json "messages[1].metadata.anotherKey" "anotherValue" CkJsonObject_UpdateString $json "messages[1].scheduled" "2016-11-03T11:49:02.807Z" CkJsonObject_UpdateString $json "messages[1].source_number" "+61491570159" CkJsonObject_UpdateString $json "messages[1].source_number_type" "INTERNATIONAL" CkHttp_SetRequestHeader $http "Content-Type" "application/json" CkHttp_SetRequestHeader $http "Accept" "application/json" # resp is a CkHttpResponse set resp [CkHttp_PostJson3 $http "https://private-anon-ecbaffbc28-messages32.apiary-mock.com/v1/messages" "application/json" $json] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkJsonObject $json exit } set sbResponseBody [new_CkStringBuilder] CkHttpResponse_GetBodySb $resp $sbResponseBody set jResp [new_CkJsonObject] CkJsonObject_LoadSb $jResp $sbResponseBody CkJsonObject_put_EmitCompact $jResp 0 puts "Response Body:" puts [CkJsonObject_emit $jResp] set respStatusCode [CkHttpResponse_get_StatusCode $resp] puts "Response Status Code = $respStatusCode" if {$respStatusCode >= 400} then { puts "Response Header:" puts [CkHttpResponse_header $resp] puts "Failed." delete_CkHttpResponse $resp delete_CkHttp $http delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp exit } delete_CkHttpResponse $resp # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "messages": [ # { # "message_id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a", # "callback_url": "https://my.url.com", # "status": "delivered", # "content": "My first message", # "destination_number": "+61491570156", # "delivery_report": true, # "format": "SMS", # "message_expiry_timestamp": "2016-11-03T11:49:02.807Z", # "metadata": { # "myKey": "myValue", # "anotherKey": "anotherValue" # }, # "scheduled": "2016-11-03T11:49:02.807Z", # "source_number": "+61491570157", # "source_number_type": "INTERNATIONAL" # } # ] # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "messages"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set message_id [CkJsonObject_stringOf $jResp "messages[i].message_id"] set callback_url [CkJsonObject_stringOf $jResp "messages[i].callback_url"] set status [CkJsonObject_stringOf $jResp "messages[i].status"] set content [CkJsonObject_stringOf $jResp "messages[i].content"] set destination_number [CkJsonObject_stringOf $jResp "messages[i].destination_number"] set delivery_report [CkJsonObject_BoolOf $jResp "messages[i].delivery_report"] set format [CkJsonObject_stringOf $jResp "messages[i].format"] set message_expiry_timestamp [CkJsonObject_stringOf $jResp "messages[i].message_expiry_timestamp"] set MyKey [CkJsonObject_stringOf $jResp "messages[i].metadata.myKey"] set AnotherKey [CkJsonObject_stringOf $jResp "messages[i].metadata.anotherKey"] set scheduled [CkJsonObject_stringOf $jResp "messages[i].scheduled"] set source_number [CkJsonObject_stringOf $jResp "messages[i].source_number"] set source_number_type [CkJsonObject_stringOf $jResp "messages[i].source_number_type"] set i [expr $i + 1] } delete_CkHttp $http delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.