AutoIt
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
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)