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
(Ruby) MedTunnel: Send Message with File AttachmentSee more MedTunnel ExamplesDemonstrates the MedTunnel SendMessage method to send a message with a file attachment to one or more recipients. For more information, see https://server.medtunnel.com/apidocs/html/M_MedTunnelMsg_Controllers_MessageController_SendMessage.htm
require 'chilkat' # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # Implements the following CURL command: # curl https://server.medtunnel.com/MedTunnelMsg/api/Message/SendMessage -X POST -k # -F "ApplicationId=yourApplicationId" -F "LocationId=yourLocationId" # -F "MedTunnelId=yourMedTunnelId" -F "MedTunnelPassword=yourMedTunnelPassword" # -F "To=recipientsMedTunnelId" # -F "Body=Test of SendMessage" # -F "file1=@qa_data/jpg/starfish.jpg" # Use the following online tool to generate HTTP code from a CURL command # Convert a cURL Command to HTTP Source Code req = Chilkat::CkHttpRequest.new() req.put_HttpVerb("POST") req.put_Path("/MedTunnelMsg/api/Message/SendMessage") req.put_ContentType("multipart/form-data") req.AddParam("ApplicationId","yourApplicationId") req.AddParam("LocationId","yourLocationId") req.AddParam("MedTunnelId","yourMedTunnelId") req.AddParam("MedTunnelPassword","yourMedTunnelPassword") req.AddParam("To","recipientsMedTunnelId") req.AddParam("Body","Test") success = req.AddFileForUpload2("file1","qa_data/jpg/starfish.jpg","application/octet-stream") req.AddHeader("Expect","100-continue") # resp is a CkHttpResponse resp = http.SynchronousRequest("server.medtunnel.com",443,true,req) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end sbResponseBody = Chilkat::CkStringBuilder.new() resp.GetBodySb(sbResponseBody) jResp = Chilkat::CkJsonObject.new() jResp.LoadSb(sbResponseBody) jResp.put_EmitCompact(false) print "Response Body:" + "\n"; print jResp.emit() + "\n"; respStatusCode = resp.get_StatusCode() print "Response Status Code = " + respStatusCode.to_s() + "\n"; if (respStatusCode >= 400) print "Response Header:" + "\n"; print resp.header() + "\n"; print "Failed." + "\n"; exit end # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "ReturnCode": 1, # "ReturnCodeText": "Success", # "Data": "{\"Id\":989432,\"FromUserId\":36990,\"FromMailBoxId\":36965, ... \"SendGlobalNotifications\":false}" # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON ReturnCode = jResp.IntOf("ReturnCode") ReturnCodeText = jResp.stringOf("ReturnCodeText") Data = jResp.stringOf("Data") # Load the Data into another JSON object and parse.. jsonData = Chilkat::CkJsonObject.new() jsonData.Load(Data) jsonData.put_EmitCompact(false) print jsonData.emit() + "\n"; # { # "Id": 989448, # "FromUserId": 36990, # "FromMailBoxId": 36965, # "FromUserType": 0, # "FromUserName": "...", # "FromUserFullName": "...", # "FromUserAccountName": "...", # "FromUserAccountTitle": "...", # "ToUserId": 36990, # "ToUserType": 1, # "ToUserMailboxId": "36965", # "ToUserName": "...", # "ToUserFullName": "...", # "EmailAddress": "", # "Password": "", # "Subject": "", # "PatientMedTunnelId": "", # "Body": "Test", # "DateReceived": "4/29/2021 2:48:22 PM", # "DisplayDateReceived": "04/29/2021 2:48 PM", # "ViewCount": 0, # "ViewedOn": "", # "AttachmentCount": 1, # "AttachmentNames": [ # { # "MessageId": 989448, # "Id": 424857, # "Name": "starfish.jpg.35910fe9-4118-414c-a845-4d092ca6e784", # "DisplayName": "starfish.jpg", # "Size": 6229, # "WasViewed": false, # "ViewedOn": "", # "ViewCount": 0, # "Location": "Default" # } # ], # "AllRecipients": [ # { # "Id": 989448, # "UserName": "...", # "AccountId": 0, # "AccountName": "...", # "AccountTitle": "", # "FirstName": "...", # "LastName": "...", # "EmailAddress": "", # "LastSentOn": "", # "SendCount": 0, # "IsFavorite": false # } # ], # "Status": 0, # "ParentMessageId": 989448, # "DistributionListId": 0, # "DistributionListName": "", # "BodyHistory": "", # "ReadReceiptCallbackUrl": null, # "SendGlobalNotifications": false # } Id = jsonData.IntOf("Id") FromUserId = jsonData.IntOf("FromUserId") FromMailBoxId = jsonData.IntOf("FromMailBoxId") FromUserType = jsonData.IntOf("FromUserType") FromUserName = jsonData.stringOf("FromUserName") FromUserFullName = jsonData.stringOf("FromUserFullName") FromUserAccountName = jsonData.stringOf("FromUserAccountName") FromUserAccountTitle = jsonData.stringOf("FromUserAccountTitle") ToUserId = jsonData.IntOf("ToUserId") ToUserType = jsonData.IntOf("ToUserType") ToUserMailboxId = jsonData.stringOf("ToUserMailboxId") ToUserName = jsonData.stringOf("ToUserName") ToUserFullName = jsonData.stringOf("ToUserFullName") EmailAddress = jsonData.stringOf("EmailAddress") Password = jsonData.stringOf("Password") Subject = jsonData.stringOf("Subject") PatientMedTunnelId = jsonData.stringOf("PatientMedTunnelId") Body = jsonData.stringOf("Body") DateReceived = jsonData.stringOf("DateReceived") DisplayDateReceived = jsonData.stringOf("DisplayDateReceived") ViewCount = jsonData.IntOf("ViewCount") ViewedOn = jsonData.stringOf("ViewedOn") AttachmentCount = jsonData.IntOf("AttachmentCount") Status = jsonData.IntOf("Status") ParentMessageId = jsonData.IntOf("ParentMessageId") DistributionListId = jsonData.IntOf("DistributionListId") DistributionListName = jsonData.stringOf("DistributionListName") BodyHistory = jsonData.stringOf("BodyHistory") ReadReceiptCallbackUrl = jsonData.stringOf("ReadReceiptCallbackUrl") SendGlobalNotifications = jsonData.BoolOf("SendGlobalNotifications") i = 0 count_i = jsonData.SizeOfArray("AttachmentNames") while i < count_i jsonData.put_I(i) MessageId = jsonData.IntOf("AttachmentNames[i].MessageId") Id = jsonData.IntOf("AttachmentNames[i].Id") Name = jsonData.stringOf("AttachmentNames[i].Name") DisplayName = jsonData.stringOf("AttachmentNames[i].DisplayName") Size = jsonData.IntOf("AttachmentNames[i].Size") WasViewed = jsonData.BoolOf("AttachmentNames[i].WasViewed") ViewedOn = jsonData.stringOf("AttachmentNames[i].ViewedOn") ViewCount = jsonData.IntOf("AttachmentNames[i].ViewCount") Location = jsonData.stringOf("AttachmentNames[i].Location") i = i + 1 end i = 0 count_i = jsonData.SizeOfArray("AllRecipients") while i < count_i jsonData.put_I(i) Id = jsonData.IntOf("AllRecipients[i].Id") UserName = jsonData.stringOf("AllRecipients[i].UserName") AccountId = jsonData.IntOf("AllRecipients[i].AccountId") AccountName = jsonData.stringOf("AllRecipients[i].AccountName") AccountTitle = jsonData.stringOf("AllRecipients[i].AccountTitle") FirstName = jsonData.stringOf("AllRecipients[i].FirstName") LastName = jsonData.stringOf("AllRecipients[i].LastName") EmailAddress = jsonData.stringOf("AllRecipients[i].EmailAddress") LastSentOn = jsonData.stringOf("AllRecipients[i].LastSentOn") SendCount = jsonData.IntOf("AllRecipients[i].SendCount") IsFavorite = jsonData.BoolOf("AllRecipients[i].IsFavorite") i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.