Mercedes.Auth.API

<back to all web services

LoginRequest

The following routes are available for this service:
POST/v1/loginProcess GAS Authentication
import 'package:servicestack/servicestack.dart';

enum LoginStatus
{
    Authenticated,
    NotAuthenticated,
    Error,
}

class LoginResponse implements IConvertible
{
    String? RedirectUrl;
    bool? IsAuthenticated;
    String? UserToken;
    String? UserId;
    List<int>? UserRoleId;
    String? DefaultRetailer;
    LoginStatus? LoginStatus;
    String? UserRoleRedirect;
    String? DefaultVehicleType;
    List<String>? EntitlementGroup;

    LoginResponse({this.RedirectUrl,this.IsAuthenticated,this.UserToken,this.UserId,this.UserRoleId,this.DefaultRetailer,this.LoginStatus,this.UserRoleRedirect,this.DefaultVehicleType,this.EntitlementGroup});
    LoginResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        RedirectUrl = json['RedirectUrl'];
        IsAuthenticated = json['IsAuthenticated'];
        UserToken = json['UserToken'];
        UserId = json['UserId'];
        UserRoleId = JsonConverters.fromJson(json['UserRoleId'],'List<int>',context!);
        DefaultRetailer = json['DefaultRetailer'];
        LoginStatus = JsonConverters.fromJson(json['LoginStatus'],'LoginStatus',context!);
        UserRoleRedirect = json['UserRoleRedirect'];
        DefaultVehicleType = json['DefaultVehicleType'];
        EntitlementGroup = JsonConverters.fromJson(json['EntitlementGroup'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'RedirectUrl': RedirectUrl,
        'IsAuthenticated': IsAuthenticated,
        'UserToken': UserToken,
        'UserId': UserId,
        'UserRoleId': JsonConverters.toJson(UserRoleId,'List<int>',context!),
        'DefaultRetailer': DefaultRetailer,
        'LoginStatus': JsonConverters.toJson(LoginStatus,'LoginStatus',context!),
        'UserRoleRedirect': UserRoleRedirect,
        'DefaultVehicleType': DefaultVehicleType,
        'EntitlementGroup': JsonConverters.toJson(EntitlementGroup,'List<String>',context!)
    };

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

class LoginRequest implements IPost, IConvertible
{
    /**
    * GAS AuthCode
    */
    // @ApiMember(Description="GAS AuthCode")
    String? AuthCode;

    /**
    * GAS ErrorCode
    */
    // @ApiMember(Description="GAS ErrorCode")
    String? ErrorCode;

    /**
    * Client Id
    */
    // @ApiMember(Description="Client Id")
    String? ClientId;

    /**
    * Secret
    */
    // @ApiMember(Description="Secret")
    String? Secret;

    /**
    * Callback Url
    */
    // @ApiMember(Description="Callback Url")
    String? CallbackUrl;

    /**
    * Redirect Url
    */
    // @ApiMember(Description="Redirect Url")
    String? RedirectUrl;

    LoginRequest({this.AuthCode,this.ErrorCode,this.ClientId,this.Secret,this.CallbackUrl,this.RedirectUrl});
    LoginRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AuthCode = json['AuthCode'];
        ErrorCode = json['ErrorCode'];
        ClientId = json['ClientId'];
        Secret = json['Secret'];
        CallbackUrl = json['CallbackUrl'];
        RedirectUrl = json['RedirectUrl'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AuthCode': AuthCode,
        'ErrorCode': ErrorCode,
        'ClientId': ClientId,
        'Secret': Secret,
        'CallbackUrl': CallbackUrl,
        'RedirectUrl': RedirectUrl
    };

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

TypeContext _ctx = TypeContext(library: 'prod_api_auth_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
    'LoginStatus': TypeInfo(TypeOf.Enum, enumValues:LoginStatus.values),
    'LoginResponse': TypeInfo(TypeOf.Class, create:() => LoginResponse()),
    'LoginRequest': TypeInfo(TypeOf.Class, create:() => LoginRequest()),
});

Dart LoginRequest DTOs

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

HTTP + OTHER

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

POST /v1/login HTTP/1.1 
Host: prod-api-auth-mb-dhc.rapp-customers.co.uk 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"AuthCode":"String","ErrorCode":"String","ClientId":"String","Secret":"String","CallbackUrl":"String","RedirectUrl":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"RedirectUrl":"String","IsAuthenticated":false,"UserToken":"String","UserId":"String","UserRoleId":[0],"DefaultRetailer":"String","LoginStatus":"Authenticated","UserRoleRedirect":"String","DefaultVehicleType":"String","EntitlementGroup":["String"]}