Sample code for 30+ languages & platforms
React Native

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 React Native Downloads

React Native
import { Http, HttpResponse, JsonObject, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new 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"
  // }

  const json = new JsonObject();
  json.updateString('MedTunnelId', 'yourMedTunnelId@yourGroup');
  json.updateString('Password', 'yourPassword');
  json.updateString('ApplicationId', 'yourApplicationId');
  json.updateString('LocationId', 'yourLocationId');
  json.updateString('ExpirationInMinutes', '50');

  http.setRequestHeader('Content-Type', 'application/json');

  const sbRequestBody = new StringBuilder();
  json.emitSb(sbRequestBody);

  const resp = new HttpResponse();
  try {
    await http.httpSbAsync('PUT', 'https://server.medtunnel.com/MedTunnelSvc/api/Authenticate/LoginUser', sbRequestBody, 'utf-8', 'application/json', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const sbResponseBody = new StringBuilder();
  resp.getBodySb(sbResponseBody);
  const jResp = new JsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  console.log('Response Body:');
  console.log(jResp.emit());

  const respStatusCode = resp.statusCode;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode >= 400) {
    console.log('Response Header:');
    console.log(resp.header);
    console.log('Failed.');
    return;
  }

  // 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

  const returnCode = jResp.intOf('ReturnCode');
  const returnCodeText = jResp.stringOf('ReturnCodeText');
  const data = jResp.stringOf('Data');

  // Load the Data into another JSON object and parse..
  const jsonData = new JsonObject();
  jsonData.load(data);
  jsonData.emitCompact = false;
  console.log(jsonData.emit());

  // 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"
  // }

  const token = jsonData.stringOf('Token');
  console.log(`Token: ${token}`);
}