Mercedes.Agency.Orchestration.API

<back to all web services

CreateOneAdminBackOrderRequest

BackOrder
Requires Authentication
The following routes are available for this service:
POST/v1/oneAdmin/backorderCreates a back order with vehicle criteriaCreate 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

HTTP + JSON

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"}