Go-to-Light Service 4.0.0.2397 - 121 - API License to Cloud Demo

<back to all web services

ScanReturnsItemDataPoster

Requires Authentication
The following routes are available for this service:
All Verbs/ScanReturnsItemDataPoster
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 Stock:
    stock_i_d: int = 0
    product_i_d: Optional[str] = None
    product_attribute_i_d: Optional[str] = None
    reference: Optional[str] = None
    gtin: Optional[str] = None
    gtin_attribute: Optional[str] = None
    label: Optional[str] = None
    stock_location: Optional[str] = None
    physical_quantity_stock_location: float = 0.0
    reserve_stock_location: Optional[str] = None
    physical_quantity_reserve_stock_location: float = 0.0
    nb_s_k_u_in_package: Optional[int] = None
    package_reference: Optional[str] = None
    nb_s_k_u_in_package2: Optional[int] = None
    package_reference2: Optional[str] = None
    weight: Optional[str] = None
    fill_in_batch_number: bool = False
    fill_in_date: bool = False
    picture_u_r_l: Optional[str] = None
    stock_additionals: List[StockAdditional] = field(default_factory=list)
    search_key: Optional[str] = None


class ReturnRackPositionStatus(str, Enum):
    EMPTY = 'EMPTY'
    USED = 'USED'
    FULL = 'FULL'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnsDispatchingRackPosition:
    id: int = 0
    returns_dispersion_rack_i_d: int = 0
    name: Optional[str] = None
    ean: Optional[str] = None
    batch_number: Optional[str] = None
    item_date: Optional[datetime.datetime] = None
    quantity: int = 0
    status: Optional[ReturnRackPositionStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnsResultInfo:
    result: Optional[str] = None
    error: Optional[str] = None
    stock: Optional[Stock] = None
    rack_position: Optional[ReturnsDispatchingRackPosition] = None
    rack_i_d: int = 0
    ean: Optional[str] = None
    batch_number: Optional[str] = None
    item_date: Optional[datetime.datetime] = None
    specific_case_to_be_treated: List[str] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ScanReturnsItemDataPoster:
    # @ApiMember(Description="Returns rack result ", IsRequired=true)
    returns_result: Optional[ReturnsResultInfo] = None
    """
    Returns rack result 
    """


    # @ApiMember(Description="rack id", IsRequired=true)
    rack_i_d: int = 0
    """
    rack id
    """

Python ScanReturnsItemDataPoster DTOs

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

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /ScanReturnsItemDataPoster HTTP/1.1 
Host: clouddemo.pickeos.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ReturnsResult: 
	{
		Result: String,
		Error: String,
		Stock: 
		{
			StockID: 0,
			ProductID: String,
			ProductAttributeID: String,
			Reference: String,
			Gtin: String,
			GtinAttribute: String,
			Label: String,
			StockLocation: String,
			PhysicalQuantityStockLocation: 0,
			ReserveStockLocation: String,
			PhysicalQuantityReserveStockLocation: 0,
			NbSKUInPackage: 0,
			PackageReference: String,
			NbSKUInPackage2: 0,
			PackageReference2: String,
			Weight: String,
			FillInBatchNumber: False,
			FillInDate: False,
			PictureURL: String,
			StockAdditionals: 
			[
				{
					StockID: 0,
					Gtin: String,
					StockLocation: String,
					PhysicalQuantityStockLocation: 0
				}
			],
			SearchKey: String-String-String-String-String
		},
		RackPosition: 
		{
			ID: 0,
			ReturnsDispersionRackID: 0,
			Name: String,
			EAN: String,
			BatchNumber: String,
			ItemDate: 0001-01-01,
			Quantity: 0,
			Status: EMPTY
		},
		RackID: 0,
		EAN: String,
		BatchNumber: String,
		ItemDate: 0001-01-01,
		SpecificCaseToBeTreated: 
		[
			String
		]
	},
	RackID: 0
}