Sample code for 30+ languages & platforms
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

PowerShell
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
}