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
import 'package:servicestack/servicestack.dart';

class ItemResponse implements IConvertible
{
    /**
    * Article Code of the item response
    */
    // @ApiMember(Description="Article Code of the item response", IsRequired=true)
    String? articleCode;

    /**
    * 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)
    int? stockTransferStatusId;

    /**
    * Errors of items
    */
    // @ApiMember(Description="Errors of items", IsRequired=true)
    List<Lookup<String>>? errors;

    ItemResponse({this.articleCode,this.stockTransferStatusId,this.errors});
    ItemResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        articleCode = json['articleCode'];
        stockTransferStatusId = json['stockTransferStatusId'];
        errors = JsonConverters.fromJson(json['errors'],'List<Lookup<String>>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'articleCode': articleCode,
        'stockTransferStatusId': stockTransferStatusId,
        'errors': JsonConverters.toJson(errors,'List<Lookup<String>>',context!)
    };

    getTypeName() => "ItemResponse";
    TypeContext? context = _ctx;
}

class TransferStockBulkResponse implements IConvertible
{
    /**
    * Response of items
    */
    // @ApiMember(Description="Response of items", IsRequired=true)
    List<ItemResponse>? items;

    TransferStockBulkResponse({this.items});
    TransferStockBulkResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        items = JsonConverters.fromJson(json['items'],'List<ItemResponse>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'items': JsonConverters.toJson(items,'List<ItemResponse>',context!)
    };

    getTypeName() => "TransferStockBulkResponse";
    TypeContext? context = _ctx;
}

class Item implements IConvertible
{
    /**
    * Article Code of the item to be transferred
    */
    // @ApiMember(Description="Article Code of the item to be transferred", IsRequired=true)
    String? articleCode;

    /**
    * Quantity of the the item to be transferred
    */
    // @ApiMember(Description="Quantity of the the item to be transferred", IsRequired=true)
    int? quantity;

    /**
    * Serial Numbers of the item to be transferred
    */
    // @ApiMember(Description="Serial Numbers of the item to be transferred")
    List<String>? serialNumbers;

    Item({this.articleCode,this.quantity,this.serialNumbers});
    Item.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        articleCode = json['articleCode'];
        quantity = json['quantity'];
        serialNumbers = JsonConverters.fromJson(json['serialNumbers'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'articleCode': articleCode,
        'quantity': quantity,
        'serialNumbers': JsonConverters.toJson(serialNumbers,'List<String>',context!)
    };

    getTypeName() => "Item";
    TypeContext? context = _ctx;
}

class TransferStockBulk implements IConvertible
{
    /**
    * Brand Trigram
    */
    // @ApiMember(Description="Brand Trigram", IsRequired=true)
    String? brand;

    /**
    * POS of the stock origin
    */
    // @ApiMember(Description="POS of the stock origin", IsRequired=true)
    String? posCodeOrigin;

    /**
    * POS of the stock destination
    */
    // @ApiMember(Description="POS of the stock destination", IsRequired=true)
    String? posCodeDestination;

    /**
    * Items to be transferred
    */
    // @ApiMember(Description="Items to be transferred", IsRequired=true)
    List<Item>? items;

    TransferStockBulk({this.brand,this.posCodeOrigin,this.posCodeDestination,this.items});
    TransferStockBulk.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        brand = json['brand'];
        posCodeOrigin = json['posCodeOrigin'];
        posCodeDestination = json['posCodeDestination'];
        items = JsonConverters.fromJson(json['items'],'List<Item>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'brand': brand,
        'posCodeOrigin': posCodeOrigin,
        'posCodeDestination': posCodeDestination,
        'items': JsonConverters.toJson(items,'List<Item>',context!)
    };

    getTypeName() => "TransferStockBulk";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
    'ItemResponse': TypeInfo(TypeOf.Class, create:() => ItemResponse()),
    'List<Lookup<String>>': TypeInfo(TypeOf.Class, create:() => <Lookup<String>>[]),
    'Lookup<String>': TypeInfo(TypeOf.Class, create:() => Lookup<String>()),
    'TransferStockBulkResponse': TypeInfo(TypeOf.Class, create:() => TransferStockBulkResponse()),
    'List<ItemResponse>': TypeInfo(TypeOf.Class, create:() => <ItemResponse>[]),
    'Item': TypeInfo(TypeOf.Class, create:() => Item()),
    'TransferStockBulk': TypeInfo(TypeOf.Class, create:() => TransferStockBulk()),
    'List<Item>': TypeInfo(TypeOf.Class, create:() => <Item>[]),
});

Dart TransferStockBulk DTOs

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

HTTP + XML

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/xml
Content-Type: application/xml
Content-Length: length

<TransferStockBulk xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Stock.ServiceModel">
  <brand>String</brand>
  <items>
    <Item>
      <articleCode>String</articleCode>
      <quantity>0</quantity>
      <serialNumbers xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </serialNumbers>
    </Item>
  </items>
  <posCodeDestination>String</posCodeDestination>
  <posCodeOrigin>String</posCodeOrigin>
</TransferStockBulk>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<TransferStockBulkResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Stock.ServiceModel">
  <items>
    <ItemResponse>
      <articleCode>String</articleCode>
      <errors xmlns:d4p1="http://schemas.datacontract.org/2004/07/Richemont.Booster2.Common.Poco.Entities">
        <d4p1:LookupOfstring>
          <d4p1:Description>String</d4p1:Description>
          <d4p1:Id>String</d4p1:Id>
        </d4p1:LookupOfstring>
      </errors>
      <stockTransferStatusId>0</stockTransferStatusId>
    </ItemResponse>
  </items>
</TransferStockBulkResponse>