| POST | /user/login | Check that the user exists on Galaxy and set up their account and services. |
|---|
namespace BusinessLogic.Entities
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type ApiServiceResponse() =
member val Description:String = null with get,set
member val Heading:String = null with get,set
member val WasSuccessful:Boolean = new Boolean() with get,set
member val ModelState:Object = null with get,set
type IntegrationProviderType =
| None = 0
| EA = 1
| IlluminaHubProtectMe = 2
| MyLegalHand = 3
| AccidentAngels = 4
| EmergencyServices = 5
| MightyMobile = 6
| Pulsit = 7
| Bolt = 8
[<AllowNullLiteral>]
type UserProductAttachmentData() =
member val FileName:String = null with get,set
member val MainFileUrl:String = null with get,set
member val ThumbnailUrl:String = null with get,set
member val IsVideo:Boolean = new Boolean() with get,set
member val IsImage:Boolean = new Boolean() with get,set
member val IsPdf:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type UserProductData() =
member val IntegrationType:IntegrationProviderType = new IntegrationProviderType() with get,set
member val ProductId:Int32 = new Int32() with get,set
member val Name:String = null with get,set
member val NameAfrikaans:String = null with get,set
member val DashImageUrl:String = null with get,set
member val ActionUrl:String = null with get,set
member val Attachments:ResizeArray<UserProductAttachmentData> = new ResizeArray<UserProductAttachmentData>() with get,set
member val DescriptionEng:String = null with get,set
member val SummaryEng:String = null with get,set
member val DescriptionAfr:String = null with get,set
member val SummaryAfr:String = null with get,set
[<AllowNullLiteral>]
type DependentData() =
///<summary>
///Dependent's Galaxy Id used for referring to or deleting.
///</summary>
[<ApiMember(Description="Dependent's Galaxy Id used for referring to or deleting.", IsRequired=true)>]
member val DependentId:Int32 = new Int32() with get,set
///<summary>
///Dependent's first name.
///</summary>
[<ApiMember(Description="Dependent's first name.", IsRequired=true)>]
member val FirstName:String = null with get,set
///<summary>
///Dependent's surname.
///</summary>
[<ApiMember(Description="Dependent's surname.", IsRequired=true)>]
member val Surname:String = null with get,set
///<summary>
///Dependent's mobile contact number.
///</summary>
[<ApiMember(Description="Dependent's mobile contact number.", IsRequired=true)>]
member val MobileNumber:String = null with get,set
///<summary>
///Dependent's email address.
///</summary>
[<ApiMember(Description="Dependent's email address.", IsRequired=true)>]
member val Email:String = null with get,set
///<summary>
///Depdendent's ID number.
///</summary>
[<ApiMember(Description="Depdendent's ID number.", IsRequired=true)>]
member val IdNumber:String = null with get,set
[<AllowNullLiteral>]
type UserLoginResponse() =
inherit ApiServiceResponse()
///<summary>
///List of products the user has access to.
///</summary>
[<ApiMember(Description="List of products the user has access to.")>]
member val UserProductInformation:ResizeArray<UserProductData> = new ResizeArray<UserProductData>() with get,set
///<summary>
///List of all dependents linked to this user.
///</summary>
[<ApiMember(Description="List of all dependents linked to this user.")>]
member val Dependents:ResizeArray<DependentData> = new ResizeArray<DependentData>() with get,set
[<AllowNullLiteral>]
type ApiServiceRequest() =
///<summary>
///The API Key required for authentication
///</summary>
[<ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)>]
member val ApiKey:String = null with get,set
[<AllowNullLiteral>]
type UserLoginRequest() =
inherit ApiServiceRequest()
///<summary>
///ID Number of the user to log in.
///</summary>
[<ApiMember(Description="ID Number of the user to log in.", IsRequired=true)>]
member val IdNumber:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=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>