| POST | /v1/BackOrder/PerformBulkStatusAllocations | Bulk allocates assistance statuses to back orders | Takes 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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<ProcessBulkStatusAllocationRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.ServiceModel.BackOrders">
<Allocations xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO.BulkStatusAllocation">
<d2p1:BackOrderStatusAllocation>
<d2p1:BackOrderReference>String</d2p1:BackOrderReference>
<d2p1:Message>String</d2p1:Message>
<d2p1:Row>0</d2p1:Row>
<d2p1:Status>String</d2p1:Status>
</d2p1:BackOrderStatusAllocation>
</Allocations>
<Filename>String</Filename>
</ProcessBulkStatusAllocationRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ProcessBulkStatusAllocationResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO.BulkStatusAllocation" />