export class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IHasClientId
{
/**
* The API Key required for authentication
*/
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
public ApiKey: string;
/**
* Latitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Latitude of the user making this request")
public Latitude: number;
/**
* Longitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Longitude of the user making this request")
public Longitude: number;
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); }
}
// @Flags()
export enum IntegrationProviderType
{
None = 0,
EA = 1,
IlluminaHubProtectMe = 2,
MyLegalHand = 3,
AccidentAngels = 4,
EmergencyServices = 5,
MightyMobile = 6,
Pulsit = 7,
Bolt = 8,
}
export class SystemUserProductAttachmentData
{
public Id: number;
public FileName: string;
public MainFileUrl: string;
public ThumbnailUrl: string;
public IsVideo: boolean;
public IsImage: boolean;
public IsPdf: boolean;
public constructor(init?: Partial<SystemUserProductAttachmentData>) { (Object as any).assign(this, init); }
}
export class SystemUserProductData
{
public IntegrationType: IntegrationProviderType;
public ProductId: number;
public Name: string;
public NameAfrikaans: string;
public PanicId: number;
public UserHasProduct: boolean;
public CanActivate: boolean;
public Enquired: boolean;
public DashImage: string;
public ShowOnDash: boolean;
public ActionUrl: string;
public Attachments: SystemUserProductAttachmentData[];
public DescriptionEng: string;
public SummaryEng: string;
public DescriptionAfr: string;
public SummaryAfr: string;
public constructor(init?: Partial<SystemUserProductData>) { (Object as any).assign(this, init); }
}
export class DependentData
{
public DependentId: number;
public FirstName: string;
public Surname: string;
public MobileNumber: string;
public Email: string;
public IdNumber: string;
public constructor(init?: Partial<DependentData>) { (Object as any).assign(this, init); }
}
export class LoginData
{
public SystemUserId: number;
public RefreshToken: string;
public FirstName: string;
public IsDependent: boolean;
public FullName: string;
public AllProducts: SystemUserProductData[];
public UserProducts: SystemUserProductData[];
public OtherProducts: SystemUserProductData[];
public ContactNumber: string;
public Dependents: DependentData[];
public UnreadMessageCount: number;
public PendingFeedbackIds: number[];
public constructor(init?: Partial<LoginData>) { (Object as any).assign(this, init); }
}
export class ConfirmOtpResponse extends ApiServiceResponse
{
public Data: LoginData;
public MustSetPin: boolean;
public constructor(init?: Partial<ConfirmOtpResponse>) { super(init); (Object as any).assign(this, init); }
}
export class ConfirmOtp extends ApiServiceRequest
{
public SystemUserId: number;
public Otp: string;
public UtcOffset: number;
public constructor(init?: Partial<ConfirmOtp>) { super(init); (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/ConfirmOtp HTTP/1.1
Host: galaxymobile.api.dev.86degrees.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
SystemUserId: 0,
Otp: String,
UtcOffset: 0,
ApiKey: String,
Latitude: 0,
Longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Data:
{
SystemUserId: 0,
RefreshToken: String,
FirstName: String,
IsDependent: False,
FullName: String,
AllProducts:
[
{
IntegrationType: 0,
ProductId: 0,
Name: String,
NameAfrikaans: String,
PanicId: 0,
UserHasProduct: False,
CanActivate: False,
Enquired: False,
DashImage: String,
ShowOnDash: False,
ActionUrl: String,
Attachments:
[
{
Id: 0,
FileName: String,
MainFileUrl: String,
ThumbnailUrl: String,
IsVideo: False,
IsImage: False,
IsPdf: False
}
],
DescriptionEng: String,
SummaryEng: String,
DescriptionAfr: String,
SummaryAfr: String
}
],
UserProducts:
[
{
IntegrationType: 0,
ProductId: 0,
Name: String,
NameAfrikaans: String,
PanicId: 0,
UserHasProduct: False,
CanActivate: False,
Enquired: False,
DashImage: String,
ShowOnDash: False,
ActionUrl: String,
Attachments:
[
{
Id: 0,
FileName: String,
MainFileUrl: String,
ThumbnailUrl: String,
IsVideo: False,
IsImage: False,
IsPdf: False
}
],
DescriptionEng: String,
SummaryEng: String,
DescriptionAfr: String,
SummaryAfr: String
}
],
OtherProducts:
[
{
IntegrationType: 0,
ProductId: 0,
Name: String,
NameAfrikaans: String,
PanicId: 0,
UserHasProduct: False,
CanActivate: False,
Enquired: False,
DashImage: String,
ShowOnDash: False,
ActionUrl: String,
Attachments:
[
{
Id: 0,
FileName: String,
MainFileUrl: String,
ThumbnailUrl: String,
IsVideo: False,
IsImage: False,
IsPdf: False
}
],
DescriptionEng: String,
SummaryEng: String,
DescriptionAfr: String,
SummaryAfr: String
}
],
ContactNumber: String,
Dependents:
[
{
DependentId: 0,
FirstName: String,
Surname: String,
MobileNumber: String,
Email: String,
IdNumber: String
}
],
UnreadMessageCount: 0,
PendingFeedbackIds:
[
0
]
},
MustSetPin: False,
Description: String,
Heading: String,
WasSuccessful: False,
ModelState: {}
}