Mercedes.Auth.API

<back to all web services

LoginRequest

The following routes are available for this service:
POST/v1/loginProcess GAS Authentication
import Foundation
import ServiceStack

public class LoginRequest : IPost, Codable
{
    /**
    * GAS AuthCode
    */
    // @ApiMember(Description="GAS AuthCode")
    public var authCode:String

    /**
    * GAS ErrorCode
    */
    // @ApiMember(Description="GAS ErrorCode")
    public var errorCode:String

    /**
    * Client Id
    */
    // @ApiMember(Description="Client Id")
    public var clientId:String

    /**
    * Secret
    */
    // @ApiMember(Description="Secret")
    public var secret:String

    /**
    * Callback Url
    */
    // @ApiMember(Description="Callback Url")
    public var callbackUrl:String

    /**
    * Redirect Url
    */
    // @ApiMember(Description="Redirect Url")
    public var redirectUrl:String

    required public init(){}
}

public class LoginResponse : Codable
{
    public var redirectUrl:String
    public var isAuthenticated:Bool
    public var userToken:String
    public var userId:String
    public var userRoleId:[Int]
    public var defaultRetailer:String
    public var loginStatus:LoginStatus
    public var userRoleRedirect:String
    public var defaultVehicleType:String
    public var entitlementGroup:[String]

    required public init(){}
}

public enum LoginStatus : String, Codable
{
    case Authenticated
    case NotAuthenticated
    case Error
}


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

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

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