POST | /v1/oneAdmin/backorder | Creates a back order with vehicle criteria | Create Back Order (called from One Admin) It calls the v1/backorder in the Agency API, where the order is created The details of the back order are sent to OneAgent Validation checks are performed on the input request. |
---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.Agency.Orchestration.API.ServiceModel.BackOrders;
using Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Requests;
using Mercedes.Agency.API.Shared.Enums;
using Mercedes.Agency.API.Shared.POCO;
using Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses;
namespace Mercedes.Agency.API.Shared.POCO
{
public partial class Address
{
public virtual string Property { get; set; }
public virtual string Street { get; set; }
public virtual string Town { get; set; }
public virtual string County { get; set; }
public virtual string Locality { get; set; }
public virtual string Postcode { get; set; }
}
public partial class Criteria
: CriteriaBase
{
public virtual string[] Engine { get; set; } = [];
}
public partial class CriteriaBase
: JsonVersion
{
public virtual string[] Transmission { get; set; } = [];
public virtual string[] Fuel { get; set; } = [];
public virtual string[] Upholstery { get; set; } = [];
public virtual string[] Equipment { get; set; } = [];
public virtual string[] Line { get; set; } = [];
public virtual string[] BodyStyle { get; set; } = [];
public virtual string[] ColourGroup { get; set; } = [];
public virtual string[] Packages { get; set; } = [];
public virtual List<CriteriaModel> Model { get; set; } = [];
public virtual string UrlReferrer { get; set; }
public virtual string PreferredDeliveryDate { get; set; }
[ApiMember(ExcludeInSchema=true)]
public virtual bool IsNewModel { get; set; }
[ApiMember(ExcludeInSchema=true)]
public virtual bool IsSmart { get; set; }
[ApiMember(ExcludeInSchema=true)]
public virtual bool IsSpecialised { get; set; }
[ApiMember(ExcludeInSchema=true)]
public virtual CriteriaDifference CriteriaDifference { get; set; }
}
public partial class CriteriaDifference
{
public virtual bool Model { get; set; }
public virtual bool Transmission { get; set; }
public virtual bool Fuel { get; set; }
public virtual bool Upholstery { get; set; }
public virtual bool Equipment { get; set; }
public virtual bool Line { get; set; }
public virtual bool BodyStyle { get; set; }
public virtual bool ColourGroup { get; set; }
public virtual bool Packages { get; set; }
public virtual bool Engine { get; set; }
public virtual bool AdditionalInformation { get; set; }
public virtual bool UrlReferrer { get; set; }
public virtual bool PreferredDeliveryDate { get; set; }
public virtual bool IsSmart { get; set; }
public virtual bool IsSpecialised { get; set; }
}
public partial class CriteriaModel
{
public virtual string Description { get; set; }
public virtual int Id { get; set; }
}
public partial class Customer
: SalesforceCustomer
{
public virtual Guid? ProfileId { get; set; }
public virtual Preferences Preferences { get; set; }
}
public partial class JsonVersion
: IJsonVersion
{
public virtual int Version { get; set; }
}
public partial class OutrightPurchase
{
public virtual bool IsOutrightPurchase { get; set; }
public virtual string Reference { get; set; }
public virtual decimal DiscountRate { get; set; }
public virtual string Bm7NST { get; set; }
public virtual bool IsBackOrder { get; set; }
public virtual bool IsCOPConverter { get; set; }
}
public partial class Preferences
{
public virtual bool OptinEmail { get; set; }
public virtual bool OptinPost { get; set; }
public virtual bool OptinSMS { get; set; }
public virtual bool OptinTelephone { get; set; }
}
public partial class SalesforceCustomer
: ICustomer
{
public virtual string CustomerId { get; set; }
public virtual bool IsCiam { get; set; }
public virtual string CompanyName { get; set; }
public virtual string Title { get; set; }
public virtual string Firstname { get; set; }
public virtual string Surname { get; set; }
public virtual string EmailAddress { get; set; }
public virtual string Telephone { get; set; }
public virtual Address Address { get; set; }
public virtual CustomerMode Mode { get; set; }
}
public partial class V2Criteria
: CriteriaBase
{
public virtual List<V2EngineCriteria> Engine { get; set; } = [];
}
public partial class V2EngineCriteria
{
public virtual string Badge { get; set; }
public virtual string Brand { get; set; }
}
}
namespace Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Requests
{
public partial class CreateBackOrderBase
{
public virtual string GssnId { get; set; }
public virtual string AdditionalInformation { get; set; }
public virtual string ConfigCode { get; set; }
public virtual Source Source { get; set; }
public virtual string TagUrl { get; set; }
public virtual Customer Customer { get; set; }
public virtual Criteria CustomerCriteria { get; set; }
public virtual V2Criteria AgentCriteria { get; set; }
public virtual OutrightPurchase OutrightPurchase { get; set; }
public virtual string GasId { get; set; }
public virtual bool Motability { get; set; }
public virtual int? MotabilityPricingId { get; set; }
public virtual int? AssistanceProviderId { get; set; }
public virtual string AssistanceDetail { get; set; }
public virtual string ConfiguratorCode { get; set; }
}
}
namespace Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses
{
public partial class CreateBackOrderResponse
{
public virtual string Guid { get; set; }
public virtual string Reference { get; set; }
}
}
namespace Mercedes.Agency.Orchestration.API.ServiceModel.BackOrders
{
public partial class CreateOneAdminBackOrderRequest
: CreateBackOrderBase, IPost
{
}
}
C# CreateOneAdminBackOrderRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/oneAdmin/backorder HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
GssnId: String,
AdditionalInformation: String,
ConfigCode: String,
Source: OnlineShowroom,
TagUrl: String,
Customer:
{
ProfileId: 00000000000000000000000000000000,
Preferences:
{
OptinEmail: False,
OptinPost: False,
OptinSMS: False,
OptinTelephone: False
},
CustomerId: String,
IsCiam: False,
CompanyName: String,
Title: String,
Firstname: String,
Surname: String,
EmailAddress: String,
Telephone: String,
Address:
{
Property: String,
Street: String,
Town: String,
County: String,
Locality: String,
Postcode: String
},
Mode: Private
},
CustomerCriteria:
{
Engine:
[
String
],
Transmission:
[
String
],
Fuel:
[
String
],
Upholstery:
[
String
],
Equipment:
[
String
],
Line:
[
String
],
BodyStyle:
[
String
],
ColourGroup:
[
String
],
Packages:
[
String
],
Model:
[
{
Description: String,
Id: 0
}
],
UrlReferrer: String,
PreferredDeliveryDate: String,
IsNewModel: False,
IsSmart: False,
IsSpecialised: False,
CriteriaDifference:
{
Model: False,
Transmission: False,
Fuel: False,
Upholstery: False,
Equipment: False,
Line: False,
BodyStyle: False,
ColourGroup: False,
Packages: False,
Engine: False,
AdditionalInformation: False,
UrlReferrer: False,
PreferredDeliveryDate: False,
IsSmart: False,
IsSpecialised: False
},
Version: 0
},
AgentCriteria:
{
Engine:
[
{
Badge: String,
Brand: String
}
],
Transmission:
[
String
],
Fuel:
[
String
],
Upholstery:
[
String
],
Equipment:
[
String
],
Line:
[
String
],
BodyStyle:
[
String
],
ColourGroup:
[
String
],
Packages:
[
String
],
Model:
[
{
Description: String,
Id: 0
}
],
UrlReferrer: String,
PreferredDeliveryDate: String,
IsNewModel: False,
IsSmart: False,
IsSpecialised: False,
CriteriaDifference:
{
Model: False,
Transmission: False,
Fuel: False,
Upholstery: False,
Equipment: False,
Line: False,
BodyStyle: False,
ColourGroup: False,
Packages: False,
Engine: False,
AdditionalInformation: False,
UrlReferrer: False,
PreferredDeliveryDate: False,
IsSmart: False,
IsSpecialised: False
},
Version: 0
},
OutrightPurchase:
{
IsOutrightPurchase: False,
Reference: String,
DiscountRate: 0,
Bm7NST: String,
IsBackOrder: False,
IsCOPConverter: False
},
GasId: String,
Motability: False,
MotabilityPricingId: 0,
AssistanceProviderId: 0,
AssistanceDetail: String,
ConfiguratorCode: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Guid: String, Reference: String }