PowerShell
PowerShell
MedTunnel: Send Message Text Only
See more MedTunnel Examples
Demonstrates the MedTunnel SendMessage method to send a message to one or more recipients.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = New-Object Chilkat.Http
# 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"
# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code
$req = New-Object Chilkat.HttpRequest
$req.HttpVerb = "POST"
$req.Path = "/MedTunnelMsg/api/Message/SendMessage"
$req.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")
$resp = New-Object Chilkat.HttpResponse
$success = $http.HttpSReq("server.medtunnel.com",443,$true,$req,$resp)
if ($success -eq $false) {
$($http.LastErrorText)
exit
}
$sbResponseBody = New-Object Chilkat.StringBuilder
$resp.GetBodySb($sbResponseBody)
$jResp = New-Object Chilkat.JsonObject
$jResp.LoadSb($sbResponseBody)
$jResp.EmitCompact = $false
$("Response Body:")
$($jResp.Emit())
$respStatusCode = $resp.StatusCode
$("Response Status Code = " + $respStatusCode)
if ($respStatusCode -ge 400) {
$("Response Header:")
$($resp.Header)
$("Failed.")
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 = New-Object Chilkat.JsonObject
$jsonData.Load($Data)
$jsonData.EmitCompact = $false
$($jsonData.Emit())
# {
# "Id": 989436,
# "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:29:18 PM",
# "DisplayDateReceived": "04/29/2021 2:29 PM",
# "ViewCount": 0,
# "ViewedOn": "",
# "AttachmentCount": 0,
# "AttachmentNames": [
# ],
# "AllRecipients": [
# {
# "Id": 989436,
# "UserName": "...",
# "AccountId": 0,
# "AccountName": "...",
# "AccountTitle": "",
# "FirstName": "...",
# "LastName": "...",
# "EmailAddress": "",
# "LastSentOn": "",
# "SendCount": 0,
# "IsFavorite": false
# }
# ],
# "Status": 1,
# "ParentMessageId": 989436,
# "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 -lt $count_i) {
$jsonData.I = $i
$i = $i + 1
}
$i = 0
$count_i = $jsonData.SizeOfArray("AllRecipients")
while ($i -lt $count_i) {
$jsonData.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
}