Mercedes.Agency.Orchestration.API

<back to all web services

ValidateBackOrderBulkStatusAllocationsRequest

BackOrder
Requires Authentication
The following routes are available for this service:
POST/v1/BackOrder/ValidateBulkStatusAllocationsValidates back order references and statuses provided in a csv file for allocation to active back orders.Reads a csv file and parses a list of back order references, MBUK assistance statuses and messages for validation before allocation to active back orders.
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
Object = TypeVar('Object')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ValidateBackOrderBulkStatusAllocationsRequest:
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BackOrderStatusAllocation:
    row: int = 0
    back_order_reference: Optional[str] = None
    status: Optional[str] = None
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InvalidBackOrderStatusAllocation(BackOrderStatusAllocation):
    validation_message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BackOrderBulkStatusAllocation:
    total_back_orders: int = 0
    valid_back_orders: int = 0
    invalid_back_orders: int = 0
    valid: List[BackOrderStatusAllocation] = field(default_factory=list)
    invalid: List[InvalidBackOrderStatusAllocation] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BackOrderBulkStatusAllocationsResponse:
    message: Optional[str] = None
    back_orders: Optional[BackOrderBulkStatusAllocation] = None
    successful: bool = False
    filename: Optional[str] = None

Python ValidateBackOrderBulkStatusAllocationsRequest DTOs

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

HTTP + CSV

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

POST /v1/BackOrder/ValidateBulkStatusAllocations HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Message":"One or more errors in file","BackOrders":{"TotalBackOrders":2,"ValidBackOrders":1,"InvalidBackOrders":1,"Valid":[{"Row":0,"BackOrderReference":"String","Status":"String","Message":"String"}],"Invalid":[{"ValidationMessage":"String","Row":0,"BackOrderReference":"String","Status":"String","Message":"String"}]},"Successful":false,"Filename":"String"}