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 .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
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: application/json Content-Length: length {"Guid":"String","Reference":"String"}