GalaxyMobile Client API

<back to all web services

UserLoginRequest

The following routes are available for this service:
POST/user/loginCheck that the user exists on Galaxy and set up their account and services.
"use strict";
export class ApiServiceRequest {
    /** @param {{ApiKey?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The API Key required for authentication */
    ApiKey;
}
export class ApiServiceResponse {
    /** @param {{Description?:string,Heading?:string,WasSuccessful?:boolean,ModelState?:Object}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Description;
    /** @type {string} */
    Heading;
    /** @type {boolean} */
    WasSuccessful;
    /** @type {Object} */
    ModelState;
}
/** @typedef {number} */
export var IntegrationProviderType;
(function (IntegrationProviderType) {
    IntegrationProviderType[IntegrationProviderType["None"] = 0] = "None"
    IntegrationProviderType[IntegrationProviderType["EA"] = 1] = "EA"
    IntegrationProviderType[IntegrationProviderType["IlluminaHubProtectMe"] = 2] = "IlluminaHubProtectMe"
    IntegrationProviderType[IntegrationProviderType["MyLegalHand"] = 3] = "MyLegalHand"
    IntegrationProviderType[IntegrationProviderType["AccidentAngels"] = 4] = "AccidentAngels"
    IntegrationProviderType[IntegrationProviderType["EmergencyServices"] = 5] = "EmergencyServices"
    IntegrationProviderType[IntegrationProviderType["MightyMobile"] = 6] = "MightyMobile"
    IntegrationProviderType[IntegrationProviderType["Pulsit"] = 7] = "Pulsit"
    IntegrationProviderType[IntegrationProviderType["Bolt"] = 8] = "Bolt"
})(IntegrationProviderType || (IntegrationProviderType = {}));
export class UserProductAttachmentData {
    /** @param {{FileName?:string,MainFileUrl?:string,ThumbnailUrl?:string,IsVideo?:boolean,IsImage?:boolean,IsPdf?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    FileName;
    /** @type {string} */
    MainFileUrl;
    /** @type {string} */
    ThumbnailUrl;
    /** @type {boolean} */
    IsVideo;
    /** @type {boolean} */
    IsImage;
    /** @type {boolean} */
    IsPdf;
}
export class UserProductData {
    /** @param {{IntegrationType?:IntegrationProviderType,ProductId?:number,Name?:string,NameAfrikaans?:string,DashImageUrl?:string,ActionUrl?:string,Attachments?:UserProductAttachmentData[],DescriptionEng?:string,SummaryEng?:string,DescriptionAfr?:string,SummaryAfr?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {IntegrationProviderType} */
    IntegrationType;
    /** @type {number} */
    ProductId;
    /** @type {string} */
    Name;
    /** @type {string} */
    NameAfrikaans;
    /** @type {string} */
    DashImageUrl;
    /** @type {string} */
    ActionUrl;
    /** @type {UserProductAttachmentData[]} */
    Attachments;
    /** @type {string} */
    DescriptionEng;
    /** @type {string} */
    SummaryEng;
    /** @type {string} */
    DescriptionAfr;
    /** @type {string} */
    SummaryAfr;
}
export class DependentData {
    /** @param {{DependentId?:number,FirstName?:string,Surname?:string,MobileNumber?:string,Email?:string,IdNumber?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description Dependent's Galaxy Id used for referring to or deleting. */
    DependentId;
    /**
     * @type {string}
     * @description Dependent's first name. */
    FirstName;
    /**
     * @type {string}
     * @description Dependent's surname. */
    Surname;
    /**
     * @type {string}
     * @description Dependent's mobile contact number. */
    MobileNumber;
    /**
     * @type {string}
     * @description Dependent's email address. */
    Email;
    /**
     * @type {string}
     * @description Depdendent's ID number. */
    IdNumber;
}
export class UserLoginResponse extends ApiServiceResponse {
    /** @param {{UserProductInformation?:UserProductData[],Dependents?:DependentData[],Description?:string,Heading?:string,WasSuccessful?:boolean,ModelState?:Object}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {UserProductData[]}
     * @description List of products the user has access to. */
    UserProductInformation;
    /**
     * @type {DependentData[]}
     * @description List of all dependents linked to this user. */
    Dependents;
}
export class UserLoginRequest extends ApiServiceRequest {
    /** @param {{IdNumber?:string,ApiKey?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {string}
     * @description ID Number of the user to log in. */
    IdNumber;
}

JavaScript UserLoginRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /user/login HTTP/1.1 
Host: galaxymobile.api.client.prod.86degrees.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	IdNumber: String,
	ApiKey: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	UserProductInformation: 
	[
		{
			IntegrationType: 0,
			ProductId: 0,
			Name: String,
			NameAfrikaans: String,
			DashImageUrl: String,
			ActionUrl: String,
			Attachments: 
			[
				{
					FileName: String,
					MainFileUrl: String,
					ThumbnailUrl: String,
					IsVideo: False,
					IsImage: False,
					IsPdf: False
				}
			],
			DescriptionEng: String,
			SummaryEng: String,
			DescriptionAfr: String,
			SummaryAfr: String
		}
	],
	Dependents: 
	[
		{
			DependentId: 0,
			FirstName: String,
			Surname: String,
			MobileNumber: String,
			Email: String,
			IdNumber: String
		}
	],
	Description: String,
	Heading: String,
	WasSuccessful: False,
	ModelState: {}
}