Sample code for 30+ languages & platforms
AutoIt

MedTunnel: Login User

See more MedTunnel Examples

Authenticate and create a session for the User. This gets a user token to be used in the Authorization header for other API calls.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

;  This example assumes the Chilkat API to have been previously unlocked.
;  See Global Unlock Sample for sample code.

$oHttp = ObjCreate("Chilkat.Http")

;  Implements the following CURL command:

;  curl -X PUT -k 
;          -H "Content-Type: application/json" 
;          -d '{        "MedTunnelId":"yourMedTunnelId@yourGroup",
;                          "Password":"yourPassword",
;                          "ApplicationId":"yourApplicationId",
;                          "LocationId":"yourLocationId",
;                          "ExpirationInMinutes":"50"
;                  }'
;          https://server.medtunnel.com/MedTunnelSvc/api/Authenticate/LoginUser

;  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.

;  {
;    "MedTunnelId": "yourMedTunnelId@yourGroup",
;    "Password": "yourPassword",
;    "ApplicationId": "yourApplicationId",
;    "LocationId": "yourLocationId",
;    "ExpirationInMinutes": "50"
;  }

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("MedTunnelId","yourMedTunnelId@yourGroup")
$oJson.UpdateString("Password","yourPassword")
$oJson.UpdateString("ApplicationId","yourApplicationId")
$oJson.UpdateString("LocationId","yourLocationId")
$oJson.UpdateString("ExpirationInMinutes","50")

$oHttp.SetRequestHeader "Content-Type","application/json"

$oSbRequestBody = ObjCreate("Chilkat.StringBuilder")
$oJson.EmitSb($oSbRequestBody)

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpSb("PUT","https://server.medtunnel.com/MedTunnelSvc/api/Authenticate/LoginUser",$oSbRequestBody,"utf-8","application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)
$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oResp.Header & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

;  Sample JSON response:
;  (Sample code for parsing the JSON response is shown below)

;  {
;    "ReturnCode": 1,
;    "ReturnCodeText": "Success",
;    "Data": "{\"UserId\":36990,\"UserTypeId\":1, ... \"UserRole\":\"Account Admin\"}"
;  }

;  Sample code for parsing the JSON response...
;  Use the following online tool to generate parsing code from sample JSON:
;  Generate Parsing Code from JSON

Local $iReturnCode = $oJResp.IntOf("ReturnCode")
Local $sReturnCodeText = $oJResp.StringOf("ReturnCodeText")
Local $sData = $oJResp.StringOf("Data")

;  Load the Data into another JSON object and parse..
$oJsonData = ObjCreate("Chilkat.JsonObject")
$oJsonData.Load($sData)
$oJsonData.EmitCompact = False
ConsoleWrite($oJsonData.Emit() & @CRLF)

;  Sample result.

;  {
;    "UserId": 36990,
;    "UserTypeId": 1,
;    "UserTypeDesc": "Single Provider",
;    "Token": "MT 730DCA95-2B86-4A91-994E-99995B1A6FC1:9999952A-C6DA-4FB5-83D6-9999E880B4A2:50:/hc3CTWCS0kNMxZXTWR4NQ==:tev2vAToTCrnuyT6rxyCgQ==:sAYcvgPoIfaaCF0+gdeSD1GFcYk=",
;    "MailboxId": 36965,
;    "UserRole": "Account Admin"
;  }

Local $sToken = $oJsonData.StringOf("Token")
ConsoleWrite("Token: " & $sToken & @CRLF)