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
(Visual FoxPro) 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
LOCAL loHttp LOCAL lnSuccess LOCAL loJson LOCAL loResp LOCAL loSbResponseBody LOCAL loJResp LOCAL lnRespStatusCode LOCAL lcMessage_id LOCAL lcCallback_url LOCAL lcStatus LOCAL lcContent LOCAL lcDestination_number LOCAL lnDelivery_report LOCAL lcFormat LOCAL lcMessage_expiry_timestamp LOCAL lcMyKey LOCAL lcAnotherKey LOCAL lcScheduled LOCAL lcSource_number LOCAL lcSource_number_type LOCAL i LOCAL lnCount_i * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * 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" * } * ] * } * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.UpdateString("messages[0].callback_url","https://my.callback.url.com") loJson.UpdateString("messages[0].content","My first message") loJson.UpdateString("messages[0].destination_number","+61491570156") loJson.UpdateBool("messages[0].delivery_report",1) loJson.UpdateString("messages[0].format","SMS") loJson.UpdateString("messages[0].message_expiry_timestamp","2016-11-03T11:49:02.807Z") loJson.UpdateString("messages[0].metadata.myKey","myValue") loJson.UpdateString("messages[0].metadata.anotherKey","anotherValue") loJson.UpdateString("messages[0].scheduled","2016-11-03T11:49:02.807Z") loJson.UpdateString("messages[0].source_number","+61491570157") loJson.UpdateString("messages[0].source_number_type","INTERNATIONAL") loJson.UpdateString("messages[1].callback_url","https://my.callback.url.com") loJson.UpdateString("messages[1].content","My second message") loJson.UpdateString("messages[1].destination_number","+61491570158") loJson.UpdateBool("messages[1].delivery_report",1) loJson.UpdateString("messages[1].format","MMS") loJson.UpdateString("messages[1].subject","This is an MMS message") loJson.UpdateString("messages[1].media[0]","https://images.pexels.com/photos/1018350/pexels-photo-1018350.jpeg?cs=srgb&dl=architecture-buildings-city-1018350.jpg") loJson.UpdateString("messages[1].message_expiry_timestamp","2016-11-03T11:49:02.807Z") loJson.UpdateString("messages[1].metadata.myKey","myValue") loJson.UpdateString("messages[1].metadata.anotherKey","anotherValue") loJson.UpdateString("messages[1].scheduled","2016-11-03T11:49:02.807Z") loJson.UpdateString("messages[1].source_number","+61491570159") loJson.UpdateString("messages[1].source_number_type","INTERNATIONAL") loHttp.SetRequestHeader("Content-Type","application/json") loHttp.SetRequestHeader("Accept","application/json") loResp = loHttp.PostJson3("https://private-anon-ecbaffbc28-messages32.apiary-mock.com/v1/messages","application/json",loJson) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbResponseBody = CreateObject('Chilkat.StringBuilder') loResp.GetBodySb(loSbResponseBody) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJResp = CreateObject('Chilkat.JsonObject') loJResp.LoadSb(loSbResponseBody) loJResp.EmitCompact = 0 ? "Response Body:" ? loJResp.Emit() lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + STR(lnRespStatusCode) IF (lnRespStatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." RELEASE loResp RELEASE loHttp RELEASE loJson RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF RELEASE loResp * 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 i = 0 lnCount_i = loJResp.SizeOfArray("messages") DO WHILE i < lnCount_i loJResp.I = i lcMessage_id = loJResp.StringOf("messages[i].message_id") lcCallback_url = loJResp.StringOf("messages[i].callback_url") lcStatus = loJResp.StringOf("messages[i].status") lcContent = loJResp.StringOf("messages[i].content") lcDestination_number = loJResp.StringOf("messages[i].destination_number") lnDelivery_report = loJResp.BoolOf("messages[i].delivery_report") lcFormat = loJResp.StringOf("messages[i].format") lcMessage_expiry_timestamp = loJResp.StringOf("messages[i].message_expiry_timestamp") lcMyKey = loJResp.StringOf("messages[i].metadata.myKey") lcAnotherKey = loJResp.StringOf("messages[i].metadata.anotherKey") lcScheduled = loJResp.StringOf("messages[i].scheduled") lcSource_number = loJResp.StringOf("messages[i].source_number") lcSource_number_type = loJResp.StringOf("messages[i].source_number_type") i = i + 1 ENDDO RELEASE loHttp RELEASE loJson RELEASE loSbResponseBody RELEASE loJResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.