Mercedes.Auth.API

<back to all web services

LoginRequest

The following routes are available for this service:
POST/v1/loginProcess GAS Authentication
namespace Mercedes.Auth.API.ServiceModel

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type LoginStatus =
        | Authenticated = 0
        | NotAuthenticated = 1
        | Error = 2

    [<AllowNullLiteral>]
    type LoginResponse() = 
        member val RedirectUrl:String = null with get,set
        member val IsAuthenticated:Boolean = new Boolean() with get,set
        member val UserToken:String = null with get,set
        member val UserId:String = null with get,set
        member val UserRoleId:ResizeArray<Int32> = null with get,set
        member val DefaultRetailer:String = null with get,set
        member val LoginStatus:LoginStatus = new LoginStatus() with get,set
        member val UserRoleRedirect:String = null with get,set
        member val DefaultVehicleType:String = null with get,set
        member val EntitlementGroup:ResizeArray<String> = null with get,set

    [<AllowNullLiteral>]
    type LoginRequest() = 
        interface IPost
        ///<summary>
        ///GAS AuthCode
        ///</summary>
        [<ApiMember(Description="GAS AuthCode")>]
        member val AuthCode:String = null with get,set

        ///<summary>
        ///GAS ErrorCode
        ///</summary>
        [<ApiMember(Description="GAS ErrorCode")>]
        member val ErrorCode:String = null with get,set

        ///<summary>
        ///Client Id
        ///</summary>
        [<ApiMember(Description="Client Id")>]
        member val ClientId:String = null with get,set

        ///<summary>
        ///Secret
        ///</summary>
        [<ApiMember(Description="Secret")>]
        member val Secret:String = null with get,set

        ///<summary>
        ///Callback Url
        ///</summary>
        [<ApiMember(Description="Callback Url")>]
        member val CallbackUrl:String = null with get,set

        ///<summary>
        ///Redirect Url
        ///</summary>
        [<ApiMember(Description="Redirect Url")>]
        member val RedirectUrl:String = null with get,set

F# 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>