Richemont.Booster2.PublicApi

<back to all web services

ExportOrder

Requires Authentication
The following routes are available for this service:
POST/purchase/{brand}/exportExport Order Data
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 ExportOrderResponse:
    # @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true)
    async_task_id: Optional[str] = None
    """
    Unique Identifier of the Export Request created
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductCategory:
    # @ApiMember(Description="Brand Category ID")
    brand_category_id: Optional[str] = None
    """
    Brand Category ID
    """


    # @ApiMember(Description="Grand Category ID", IsRequired=true)
    grand_category_id: Optional[str] = None
    """
    Grand Category ID
    """


    # @ApiMember(Description="Master Category ID")
    master_category_id: Optional[str] = None
    """
    Master Category ID
    """


    # @ApiMember(Description="Category ID")
    category_id: Optional[str] = None
    """
    Category ID
    """


    # @ApiMember(Description="Sub Category ID")
    sub_category_id: Optional[str] = None
    """
    Sub Category ID
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ExportOrder:
    # @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true)
    brand: Optional[str] = None
    """
    Brand Trigram, e.g. CAR, IWC
    """


    # @ApiMember(Description="POS Legacy", IsRequired=true)
    pos_codes: Optional[List[str]] = None
    """
    POS Legacy
    """


    # @ApiMember(Description="Date To")
    date_to: Optional[datetime.datetime] = None
    """
    Date To
    """


    # @ApiMember(Description="Date From")
    date_from: Optional[datetime.datetime] = None
    """
    Date From
    """


    # @ApiMember(Description="Possible order statues: B (Backorder), C (Created), D (Draft), I (In transit)N (Pending), P (Shipped), PS (Partially shipped), R (Reserved), X (RP Simulated), Z (Deleted)")
    status: Optional[List[str]] = None
    """
    Possible order statues: B (Backorder), C (Created), D (Draft), I (In transit)N (Pending), P (Shipped), PS (Partially shipped), R (Reserved), X (RP Simulated), Z (Deleted)
    """


    # @ApiMember(Description="Reason Code e.g. Y00, Y06")
    reason_code: Optional[List[str]] = None
    """
    Reason Code e.g. Y00, Y06
    """


    # @ApiMember(Description="Product Categories")
    product_categories: Optional[List[ProductCategory]] = None
    """
    Product Categories
    """


    # @ApiMember(Description="Final Ship To Pos Codes")
    final_ship_to: Optional[List[str]] = None
    """
    Final Ship To Pos Codes
    """


    # @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true)
    download_request_id: Optional[str] = None
    """
    Export Request ID of the API Consumers
    """

Python ExportOrder 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 /purchase/{brand}/export HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"brand":"String","posCodes":["String"],"dateTo":"\/Date(-62135596800000-0000)\/","dateFrom":"\/Date(-62135596800000-0000)\/","status":["String"],"reasonCode":["String"],"productCategories":[{"brandCategoryId":"String","grandCategoryId":"String","masterCategoryId":"String","categoryId":"String","subCategoryId":"String"}],"finalShipTo":["String"],"downloadRequestId":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"asyncTaskId":"00000000000000000000000000000000"}