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 .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 /v1/login HTTP/1.1 
Host: prod-api-auth-mb-dhc.rapp-customers.co.uk 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<LoginRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Auth.API.ServiceModel">
  <AuthCode>String</AuthCode>
  <CallbackUrl>String</CallbackUrl>
  <ClientId>String</ClientId>
  <ErrorCode>String</ErrorCode>
  <RedirectUrl>String</RedirectUrl>
  <Secret>String</Secret>
</LoginRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<LoginResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Auth.API.ServiceModel">
  <DefaultRetailer>String</DefaultRetailer>
  <DefaultVehicleType>String</DefaultVehicleType>
  <EntitlementGroup xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </EntitlementGroup>
  <IsAuthenticated>false</IsAuthenticated>
  <LoginStatus>Authenticated</LoginStatus>
  <RedirectUrl>String</RedirectUrl>
  <UserId>String</UserId>
  <UserRoleId xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </UserRoleId>
  <UserRoleRedirect>String</UserRoleRedirect>
  <UserToken>String</UserToken>
</LoginResponse>