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
(Perl) 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
use 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 HttpResponse $resp = $http->SynchronousRequest("server.medtunnel.com",443,1,$req); if ($http->get_LastMethodSuccess() == 0) { print $http->lastErrorText() . "\r\n"; exit; } $sbResponseBody = chilkat::CkStringBuilder->new(); $resp->GetBodySb($sbResponseBody); $jResp = chilkat::CkJsonObject->new(); $jResp->LoadSb($sbResponseBody); $jResp->put_EmitCompact(0); print "Response Body:" . "\r\n"; print $jResp->emit() . "\r\n"; $respStatusCode = $resp->get_StatusCode(); print "Response Status Code = " . $respStatusCode . "\r\n"; if ($respStatusCode >= 400) { print "Response Header:" . "\r\n"; print $resp->header() . "\r\n"; print "Failed." . "\r\n"; exit; } # 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(0); print $jsonData->emit() . "\r\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; } $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; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.