Mercedes.Agency.Orchestration.API

<back to all web services

ProcessBulkAllocationRequest

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 .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/BackOrder/PerformBulkAllocations HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: application/json
Content-Type: application/json
Content-Length: length

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

{}