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.

export class ApiServiceRequest implements IServiceRequest, IHasApiKey
{
    /** @description The API Key required for authentication */
    // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    public ApiKey: string;

    public constructor(init?: Partial<ApiServiceRequest>) { (Object as any).assign(this, init); }
}

export class ApiServiceResponse implements IServiceResponse
{
    public Description: string;
    public Heading: string;
    public WasSuccessful: boolean;
    public ModelState: Object;

    public constructor(init?: Partial<ApiServiceResponse>) { (Object as any).assign(this, init); }
}

export enum IntegrationProviderType
{
    None = 0,
    EA = 1,
    IlluminaHubProtectMe = 2,
    MyLegalHand = 3,
    AccidentAngels = 4,
    EmergencyServices = 5,
    MightyMobile = 6,
    Pulsit = 7,
    Bolt = 8,
}

export class UserProductAttachmentData
{
    public FileName: string;
    public MainFileUrl: string;
    public ThumbnailUrl: string;
    public IsVideo: boolean;
    public IsImage: boolean;
    public IsPdf: boolean;

    public constructor(init?: Partial<UserProductAttachmentData>) { (Object as any).assign(this, init); }
}

export class UserProductData
{
    public IntegrationType: IntegrationProviderType;
    public ProductId: number;
    public Name: string;
    public NameAfrikaans: string;
    public DashImageUrl: string;
    public ActionUrl: string;
    public Attachments: UserProductAttachmentData[];
    public DescriptionEng: string;
    public SummaryEng: string;
    public DescriptionAfr: string;
    public SummaryAfr: string;

    public constructor(init?: Partial<UserProductData>) { (Object as any).assign(this, init); }
}

export class DependentData
{
    /** @description Dependent's Galaxy Id used for referring to or deleting. */
    // @ApiMember(Description="Dependent's Galaxy Id used for referring to or deleting.", IsRequired=true)
    public DependentId: number;

    /** @description Dependent's first name. */
    // @ApiMember(Description="Dependent's first name.", IsRequired=true)
    public FirstName: string;

    /** @description Dependent's surname. */
    // @ApiMember(Description="Dependent's surname.", IsRequired=true)
    public Surname: string;

    /** @description Dependent's mobile contact number. */
    // @ApiMember(Description="Dependent's mobile contact number.", IsRequired=true)
    public MobileNumber: string;

    /** @description Dependent's email address. */
    // @ApiMember(Description="Dependent's email address.", IsRequired=true)
    public Email: string;

    /** @description Depdendent's ID number. */
    // @ApiMember(Description="Depdendent's ID number.", IsRequired=true)
    public IdNumber: string;

    public constructor(init?: Partial<DependentData>) { (Object as any).assign(this, init); }
}

export class UserLoginResponse extends ApiServiceResponse
{
    /** @description List of products the user has access to. */
    // @ApiMember(Description="List of products the user has access to.")
    public UserProductInformation: UserProductData[];

    /** @description List of all dependents linked to this user. */
    // @ApiMember(Description="List of all dependents linked to this user.")
    public Dependents: DependentData[];

    public constructor(init?: Partial<UserLoginResponse>) { super(init); (Object as any).assign(this, init); }
}

export class UserLoginRequest extends ApiServiceRequest
{
    /** @description ID Number of the user to log in. */
    // @ApiMember(Description="ID Number of the user to log in.", IsRequired=true)
    public IdNumber: string;

    public constructor(init?: Partial<UserLoginRequest>) { super(init); (Object as any).assign(this, init); }
}

TypeScript UserLoginRequest DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<UserLoginRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.User">
  <ApiKey xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.Base">String</ApiKey>
  <IdNumber>String</IdNumber>
</UserLoginRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UserLoginResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.User">
  <Description xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Description>
  <Heading xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Heading>
  <ModelState xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base" />
  <WasSuccessful xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">false</WasSuccessful>
  <Dependents>
    <DependentData>
      <DependentId>0</DependentId>
      <Email>String</Email>
      <FirstName>String</FirstName>
      <IdNumber>String</IdNumber>
      <MobileNumber>String</MobileNumber>
      <Surname>String</Surname>
    </DependentData>
  </Dependents>
  <UserProductInformation>
    <UserProductData>
      <ActionUrl>String</ActionUrl>
      <Attachments>
        <UserProductAttachmentData>
          <FileName>String</FileName>
          <IsImage>false</IsImage>
          <IsPdf>false</IsPdf>
          <IsVideo>false</IsVideo>
          <MainFileUrl>String</MainFileUrl>
          <ThumbnailUrl>String</ThumbnailUrl>
        </UserProductAttachmentData>
      </Attachments>
      <DashImageUrl>String</DashImageUrl>
      <DescriptionAfr>String</DescriptionAfr>
      <DescriptionEng>String</DescriptionEng>
      <IntegrationType>None</IntegrationType>
      <Name>String</Name>
      <NameAfrikaans>String</NameAfrikaans>
      <ProductId>0</ProductId>
      <SummaryAfr>String</SummaryAfr>
      <SummaryEng>String</SummaryEng>
    </UserProductData>
  </UserProductInformation>
</UserLoginResponse>