| All Verbs | /UpdateStock | ||
|---|---|---|---|
| All Verbs | /StockUpdate |
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StockAdditional:
stock_i_d: int = 0
gtin: Optional[str] = None
stock_location: Optional[str] = None
physical_quantity_stock_location: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StockUpdate:
# @ApiMember(Description="Internal DB identifier", IsRequired=true)
stock_i_d: int = 0
"""
Internal DB identifier
"""
# @ApiMember(Description="Global Trade Item Number : usually is the barcode of product (EAN, UPC, Gencode, etc...)", IsRequired=true)
gtin: Optional[str] = None
"""
Global Trade Item Number : usually is the barcode of product (EAN, UPC, Gencode, etc...)
"""
# @ApiMember(Description="Location of main stock or stock address")
stock_location: Optional[str] = None
"""
Location of main stock or stock address
"""
# @ApiMember(Description="Quantity physically stocked at this location")
physical_quantity_stock_location: float = 0.0
"""
Quantity physically stocked at this location
"""
# @ApiMember(Description="Location of reserve stock (2nd stock location address)")
reserve_stock_location: Optional[str] = None
"""
Location of reserve stock (2nd stock location address)
"""
# @ApiMember(Description="Quantity physically stocked at this location")
physical_quantity_reserve_stock_location: float = 0.0
"""
Quantity physically stocked at this location
"""
# @ApiMember(Description="Product ID")
product_i_d: Optional[str] = None
"""
Product ID
"""
# @ApiMember(Description="Second product ID E.g. in case of variant")
product_attribute_i_d: Optional[str] = None
"""
Second product ID E.g. in case of variant
"""
# @ApiMember(Description="Product reference")
reference: Optional[str] = None
"""
Product reference
"""
# @ApiMember(Description="GTIN of variant")
gtin_attribute: Optional[str] = None
"""
GTIN of variant
"""
# @ApiMember(Description="Product label")
label: Optional[str] = None
"""
Product label
"""
# @ApiMember(Description="NbSKUInPackage")
nb_s_k_u_in_package: Optional[int] = None
"""
NbSKUInPackage
"""
# @ApiMember(Description="PackageReference")
package_reference: Optional[str] = None
"""
PackageReference
"""
# @ApiMember(Description="NbSKUInPackage2")
nb_s_k_u_in_package2: Optional[int] = None
"""
NbSKUInPackage2
"""
# @ApiMember(Description="PackageReference2")
package_reference2: Optional[str] = None
"""
PackageReference2
"""
# @ApiMember(Description="Weight")
weight: Optional[str] = None
"""
Weight
"""
# @ApiMember(Description="List of stock Additional")
stock_additionals: List[StockAdditional] = field(default_factory=list)
"""
List of stock Additional
"""
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /UpdateStock HTTP/1.1
Host: clouddemo.pickeos.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
StockID: 0,
Gtin: String,
StockLocation: String,
PhysicalQuantityStockLocation: 0,
ReserveStockLocation: String,
PhysicalQuantityReserveStockLocation: 0,
ProductID: String,
ProductAttributeID: String,
Reference: String,
GtinAttribute: String,
Label: String,
NbSKUInPackage: 0,
PackageReference: String,
NbSKUInPackage2: 0,
PackageReference2: String,
Weight: String,
StockAdditionals:
[
{
StockID: 0,
Gtin: String,
StockLocation: String,
PhysicalQuantityStockLocation: 0
}
]
}