Richemont.Booster2.PublicApi

<back to all web services

TransferStockBulk

Requires Authentication
The following routes are available for this service:
POST/stock/{brand}/transferBulkBulk Transfer Stock from one POS to another
<?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 ItemResponse implements JsonSerializable
{
    public function __construct(
        /** @description Article Code of the item response */
        // @ApiMember(Description="Article Code of the item response", IsRequired=true)
        /** @var string */
        public string $articleCode='',

        /** @description Status of Stock Transfer: 1 means done, 2 means might take a while because consignment transfers need to be approved by SAP */
        // @ApiMember(Description="Status of Stock Transfer: 1 means done, 2 means might take a while because consignment transfers need to be approved by SAP", IsRequired=true)
        /** @var int */
        public int $stockTransferStatusId=0,

        /** @description Errors of items */
        // @ApiMember(Description="Errors of items", IsRequired=true)
        /** @var array<Lookup<string>>|null */
        public ?array $errors=null
    ) {
    }

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

class TransferStockBulkResponse implements JsonSerializable
{
    public function __construct(
        /** @description Response of items */
        // @ApiMember(Description="Response of items", IsRequired=true)
        /** @var array<ItemResponse>|null */
        public ?array $items=null
    ) {
    }

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

class Item implements JsonSerializable
{
    public function __construct(
        /** @description Article Code of the item to be transferred */
        // @ApiMember(Description="Article Code of the item to be transferred", IsRequired=true)
        /** @var string */
        public string $articleCode='',

        /** @description Quantity of the the item to be transferred */
        // @ApiMember(Description="Quantity of the the item to be transferred", IsRequired=true)
        /** @var int */
        public int $quantity=0,

        /** @description Serial Numbers of the item to be transferred */
        // @ApiMember(Description="Serial Numbers of the item to be transferred")
        /** @var array<string>|null */
        public ?array $serialNumbers=null
    ) {
    }

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

class TransferStockBulk implements JsonSerializable
{
    public function __construct(
        /** @description Brand Trigram */
        // @ApiMember(Description="Brand Trigram", IsRequired=true)
        /** @var string */
        public string $brand='',

        /** @description POS of the stock origin */
        // @ApiMember(Description="POS of the stock origin", IsRequired=true)
        /** @var string */
        public string $posCodeOrigin='',

        /** @description POS of the stock destination */
        // @ApiMember(Description="POS of the stock destination", IsRequired=true)
        /** @var string */
        public string $posCodeDestination='',

        /** @description Items to be transferred */
        // @ApiMember(Description="Items to be transferred", IsRequired=true)
        /** @var array<Item>|null */
        public ?array $items=null
    ) {
    }

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

PHP TransferStockBulk 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 /stock/{brand}/transferBulk HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"brand":"String","posCodeOrigin":"String","posCodeDestination":"String","items":[{"articleCode":"String","quantity":0,"serialNumbers":["String"]}]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"items":[{"articleCode":"String","stockTransferStatusId":0,"errors":[{"id":"String","description":"String"}]}]}