Mercedes.Agency.Orchestration.API

<back to all web services

ProcessBulkStatusAllocationRequest

BackOrder
Requires Authentication
The following routes are available for this service:
POST/v1/BackOrder/PerformBulkStatusAllocationsBulk allocates assistance statuses to back ordersTakes a list of previously validated back orders and assistance statuses and along with custom user messages, calls Agency API and updates the back orders with the provided statuses while adding audit records in the process.
<?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 ProcessBulkStatusAllocationResponse implements JsonSerializable
{
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        return empty($o) ? new class(){} : $o;
    }
}

class BackOrderStatusAllocation implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Row=0,
        /** @var string|null */
        public ?string $BackOrderReference=null,
        /** @var string|null */
        public ?string $Status=null,
        /** @var string|null */
        public ?string $Message=null
    ) {
    }

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

class ProcessBulkStatusAllocationRequest implements JsonSerializable
{
    public function __construct(
        /** @var array<BackOrderStatusAllocation>|null */
        public ?array $Allocations=null,
        /** @var string */
        public string $Filename=''
    ) {
    }

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

PHP ProcessBulkStatusAllocationRequest 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/PerformBulkStatusAllocations 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,"BackOrderReference":"String","Status":"String","Message":"String"}],"Filename":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{}