Antel API

<back to all web services

AutoLogin

import 'package:servicestack/servicestack.dart';

class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
    /**
    * The API Key required for authentication
    */
    // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    String? apiKey;

    /**
    * Latitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Latitude of the user making this request")
    double? latitude;

    /**
    * Longitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Longitude of the user making this request")
    double? longitude;

    ApiServiceRequest({this.apiKey,this.latitude,this.longitude});
    ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        apiKey = json['apiKey'];
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'apiKey': apiKey,
        'latitude': latitude,
        'longitude': longitude
    };

    getTypeName() => "ApiServiceRequest";
    TypeContext? context = _ctx;
}

class ApiServiceResponse implements IServiceResponse, IConvertible
{
    /**
    * Information about the response.
    */
    // @ApiMember(Description="Information about the response.", IsRequired=true)
    String? description;

    /**
    * Heading or summary of the response.
    */
    // @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
    String? heading;

    /**
    * Did the intended operation for this response complete successfully?
    */
    // @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
    bool? wasSuccessful;

    ResponseStatus? responseStatus;

    ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.responseStatus});
    ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        description = json['description'];
        heading = json['heading'];
        wasSuccessful = json['wasSuccessful'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'description': description,
        'heading': heading,
        'wasSuccessful': wasSuccessful,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "ApiServiceResponse";
    TypeContext? context = _ctx;
}

class StockOperatorData implements IConvertible
{
    int? id;
    String? name;

    StockOperatorData({this.id,this.name});
    StockOperatorData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name
    };

    getTypeName() => "StockOperatorData";
    TypeContext? context = _ctx;
}

class ClaimNumberRule implements IConvertible
{
    int? principalId;
    String? channelName;
    String? rulePattern;

    ClaimNumberRule({this.principalId,this.channelName,this.rulePattern});
    ClaimNumberRule.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        principalId = json['principalId'];
        channelName = json['channelName'];
        rulePattern = json['rulePattern'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'principalId': principalId,
        'channelName': channelName,
        'rulePattern': rulePattern
    };

    getTypeName() => "ClaimNumberRule";
    TypeContext? context = _ctx;
}

class LoginData implements IConvertible
{
    int? systemUserId;
    String? refreshToken;
    String? friendlyName;
    double? vatValue;
    bool? canUplift;
    bool? stockCanDropOff;
    bool? stockCanCloseArrival;
    bool? blockUpliftIfLineCountDoesNotMatch;
    bool? blockUpliftIfQuantityDoesNotMatch;
    bool? canRipTip;
    bool? canDeleteUplifts;
    List<StockOperatorData>? stockOperators;
    List<ClaimNumberRule>? claimNumberRules;
    int? upliftSyncInterval;
    int? lateUpliftThreshold;
    List<String>? pauseUpliftReasons;
    List<String>? noGoodsToUpliftReasons;
    double? blurryImageErrorScore;
    double? blurryImageWarningScore;
    bool? blurryImageDetectionEnabled;
    String? profileImageUrl;
    double? claimValueWarningVariance;
    bool? stockCanVehicleAssignment;
    bool? stockCanOperatorAssignment;
    bool? stockCanStockEnd;
    bool? stockCanCheckSealDetails;
    bool? stockManualEnabled;

    LoginData({this.systemUserId,this.refreshToken,this.friendlyName,this.vatValue,this.canUplift,this.stockCanDropOff,this.stockCanCloseArrival,this.blockUpliftIfLineCountDoesNotMatch,this.blockUpliftIfQuantityDoesNotMatch,this.canRipTip,this.canDeleteUplifts,this.stockOperators,this.claimNumberRules,this.upliftSyncInterval,this.lateUpliftThreshold,this.pauseUpliftReasons,this.noGoodsToUpliftReasons,this.blurryImageErrorScore,this.blurryImageWarningScore,this.blurryImageDetectionEnabled,this.profileImageUrl,this.claimValueWarningVariance,this.stockCanVehicleAssignment,this.stockCanOperatorAssignment,this.stockCanStockEnd,this.stockCanCheckSealDetails,this.stockManualEnabled});
    LoginData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        systemUserId = json['systemUserId'];
        refreshToken = json['refreshToken'];
        friendlyName = json['friendlyName'];
        vatValue = JsonConverters.toDouble(json['vatValue']);
        canUplift = json['canUplift'];
        stockCanDropOff = json['stockCanDropOff'];
        stockCanCloseArrival = json['stockCanCloseArrival'];
        blockUpliftIfLineCountDoesNotMatch = json['blockUpliftIfLineCountDoesNotMatch'];
        blockUpliftIfQuantityDoesNotMatch = json['blockUpliftIfQuantityDoesNotMatch'];
        canRipTip = json['canRipTip'];
        canDeleteUplifts = json['canDeleteUplifts'];
        stockOperators = JsonConverters.fromJson(json['stockOperators'],'List<StockOperatorData>',context!);
        claimNumberRules = JsonConverters.fromJson(json['claimNumberRules'],'List<ClaimNumberRule>',context!);
        upliftSyncInterval = json['upliftSyncInterval'];
        lateUpliftThreshold = json['lateUpliftThreshold'];
        pauseUpliftReasons = JsonConverters.fromJson(json['pauseUpliftReasons'],'List<String>',context!);
        noGoodsToUpliftReasons = JsonConverters.fromJson(json['noGoodsToUpliftReasons'],'List<String>',context!);
        blurryImageErrorScore = JsonConverters.toDouble(json['blurryImageErrorScore']);
        blurryImageWarningScore = JsonConverters.toDouble(json['blurryImageWarningScore']);
        blurryImageDetectionEnabled = json['blurryImageDetectionEnabled'];
        profileImageUrl = json['profileImageUrl'];
        claimValueWarningVariance = JsonConverters.toDouble(json['claimValueWarningVariance']);
        stockCanVehicleAssignment = json['stockCanVehicleAssignment'];
        stockCanOperatorAssignment = json['stockCanOperatorAssignment'];
        stockCanStockEnd = json['stockCanStockEnd'];
        stockCanCheckSealDetails = json['stockCanCheckSealDetails'];
        stockManualEnabled = json['stockManualEnabled'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'systemUserId': systemUserId,
        'refreshToken': refreshToken,
        'friendlyName': friendlyName,
        'vatValue': vatValue,
        'canUplift': canUplift,
        'stockCanDropOff': stockCanDropOff,
        'stockCanCloseArrival': stockCanCloseArrival,
        'blockUpliftIfLineCountDoesNotMatch': blockUpliftIfLineCountDoesNotMatch,
        'blockUpliftIfQuantityDoesNotMatch': blockUpliftIfQuantityDoesNotMatch,
        'canRipTip': canRipTip,
        'canDeleteUplifts': canDeleteUplifts,
        'stockOperators': JsonConverters.toJson(stockOperators,'List<StockOperatorData>',context!),
        'claimNumberRules': JsonConverters.toJson(claimNumberRules,'List<ClaimNumberRule>',context!),
        'upliftSyncInterval': upliftSyncInterval,
        'lateUpliftThreshold': lateUpliftThreshold,
        'pauseUpliftReasons': JsonConverters.toJson(pauseUpliftReasons,'List<String>',context!),
        'noGoodsToUpliftReasons': JsonConverters.toJson(noGoodsToUpliftReasons,'List<String>',context!),
        'blurryImageErrorScore': blurryImageErrorScore,
        'blurryImageWarningScore': blurryImageWarningScore,
        'blurryImageDetectionEnabled': blurryImageDetectionEnabled,
        'profileImageUrl': profileImageUrl,
        'claimValueWarningVariance': claimValueWarningVariance,
        'stockCanVehicleAssignment': stockCanVehicleAssignment,
        'stockCanOperatorAssignment': stockCanOperatorAssignment,
        'stockCanStockEnd': stockCanStockEnd,
        'stockCanCheckSealDetails': stockCanCheckSealDetails,
        'stockManualEnabled': stockManualEnabled
    };

    getTypeName() => "LoginData";
    TypeContext? context = _ctx;
}

class AutoLoginResponse extends ApiServiceResponse implements IConvertible
{
    LoginData? data;

    AutoLoginResponse({this.data});
    AutoLoginResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        data = JsonConverters.fromJson(json['data'],'LoginData',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'data': JsonConverters.toJson(data,'LoginData',context!)
    });

    getTypeName() => "AutoLoginResponse";
    TypeContext? context = _ctx;
}

class AutoLogin extends ApiServiceRequest implements IConvertible
{
    int? systemUserId;
    String? refreshToken;
    int? utcOffset;

    AutoLogin({this.systemUserId,this.refreshToken,this.utcOffset});
    AutoLogin.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        systemUserId = json['systemUserId'];
        refreshToken = json['refreshToken'];
        utcOffset = json['utcOffset'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'systemUserId': systemUserId,
        'refreshToken': refreshToken,
        'utcOffset': utcOffset
    });

    getTypeName() => "AutoLogin";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'antel.api.dev.86degrees.com', types: <String, TypeInfo> {
    'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
    'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
    'StockOperatorData': TypeInfo(TypeOf.Class, create:() => StockOperatorData()),
    'ClaimNumberRule': TypeInfo(TypeOf.Class, create:() => ClaimNumberRule()),
    'LoginData': TypeInfo(TypeOf.Class, create:() => LoginData()),
    'List<StockOperatorData>': TypeInfo(TypeOf.Class, create:() => <StockOperatorData>[]),
    'List<ClaimNumberRule>': TypeInfo(TypeOf.Class, create:() => <ClaimNumberRule>[]),
    'AutoLoginResponse': TypeInfo(TypeOf.Class, create:() => AutoLoginResponse()),
    'AutoLogin': TypeInfo(TypeOf.Class, create:() => AutoLogin()),
});

Dart AutoLogin 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 /jsv/reply/AutoLogin HTTP/1.1 
Host: antel.api.dev.86degrees.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	systemUserId: 0,
	refreshToken: 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,
		friendlyName: String,
		vatValue: 0,
		canUplift: False,
		stockCanDropOff: False,
		stockCanCloseArrival: False,
		blockUpliftIfLineCountDoesNotMatch: False,
		blockUpliftIfQuantityDoesNotMatch: False,
		canRipTip: False,
		canDeleteUplifts: False,
		stockOperators: 
		[
			{
				
			}
		],
		claimNumberRules: 
		[
			{
				
			}
		],
		upliftSyncInterval: 0,
		lateUpliftThreshold: 0,
		pauseUpliftReasons: 
		[
			String
		],
		noGoodsToUpliftReasons: 
		[
			String
		],
		blurryImageErrorScore: 0,
		blurryImageWarningScore: 0,
		blurryImageDetectionEnabled: False,
		profileImageUrl: String,
		claimValueWarningVariance: 0,
		stockCanVehicleAssignment: False,
		stockCanOperatorAssignment: False,
		stockCanStockEnd: False,
		stockCanCheckSealDetails: False,
		stockManualEnabled: False
	},
	description: String,
	heading: String,
	wasSuccessful: False,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}