Mercedes.Auth.API

<back to all web services

LoginRequest

The following routes are available for this service:
POST/v1/loginProcess GAS Authentication
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.Auth.API.ServiceModel;

namespace Mercedes.Auth.API.ServiceModel
{
    public partial class LoginRequest
        : IPost
    {
        ///<summary>
        ///GAS AuthCode
        ///</summary>
        [ApiMember(Description="GAS AuthCode")]
        public virtual string AuthCode { get; set; }

        ///<summary>
        ///GAS ErrorCode
        ///</summary>
        [ApiMember(Description="GAS ErrorCode")]
        public virtual string ErrorCode { get; set; }

        ///<summary>
        ///Client Id
        ///</summary>
        [ApiMember(Description="Client Id")]
        public virtual string ClientId { get; set; }

        ///<summary>
        ///Secret
        ///</summary>
        [ApiMember(Description="Secret")]
        public virtual string Secret { get; set; }

        ///<summary>
        ///Callback Url
        ///</summary>
        [ApiMember(Description="Callback Url")]
        public virtual string CallbackUrl { get; set; }

        ///<summary>
        ///Redirect Url
        ///</summary>
        [ApiMember(Description="Redirect Url")]
        public virtual string RedirectUrl { get; set; }
    }

    public partial class LoginResponse
    {
        public virtual string RedirectUrl { get; set; }
        public virtual bool IsAuthenticated { get; set; }
        public virtual string UserToken { get; set; }
        public virtual string UserId { get; set; }
        public virtual List<int> UserRoleId { get; set; }
        public virtual string DefaultRetailer { get; set; }
        public virtual LoginStatus LoginStatus { get; set; }
        public virtual string UserRoleRedirect { get; set; }
        public virtual string DefaultVehicleType { get; set; }
        public virtual List<string> EntitlementGroup { get; set; }
    }

    public enum LoginStatus
    {
        Authenticated,
        NotAuthenticated,
        Error,
    }

}

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