Mercedes.Agency.Orchestration.API

<back to all web services

ProcessBulkAllocationRequest

BackOrder
Requires Authentication
The following routes are available for this service:
POST/v1/BackOrder/PerformBulkAllocationsBulk allocates commission numbers to back ordersTakes a list of previously validated commission numbers and back order reference numbers, calls Vehicle Data API to fetch vehicle details before calling Agency API to update back orders in bulk with all vehicle details.
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class ProcessBulkAllocationResponse implements JsonSerializable
{
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        return empty($o) ? new class(){} : $o;
    }
}

class BackOrderAllocation implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Row=0,
        /** @var string */
        public string $Comm='',
        /** @var string */
        public string $BackOrder=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Row'])) $this->Row = $o['Row'];
        if (isset($o['Comm'])) $this->Comm = $o['Comm'];
        if (isset($o['BackOrder'])) $this->BackOrder = $o['BackOrder'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Row)) $o['Row'] = $this->Row;
        if (isset($this->Comm)) $o['Comm'] = $this->Comm;
        if (isset($this->BackOrder)) $o['BackOrder'] = $this->BackOrder;
        return empty($o) ? new class(){} : $o;
    }
}

class ProcessBulkAllocationRequest implements JsonSerializable
{
    public function __construct(
        /** @var array<BackOrderAllocation>|null */
        public ?array $Allocations=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Allocations'])) $this->Allocations = JsonConverters::fromArray('BackOrderAllocation', $o['Allocations']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Allocations)) $o['Allocations'] = JsonConverters::toArray('BackOrderAllocation', $this->Allocations);
        return empty($o) ? new class(){} : $o;
    }
}

PHP ProcessBulkAllocationRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/BackOrder/PerformBulkAllocations HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Allocations":[{"Row":0,"Comm":"String","BackOrder":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{}