| Required role: | Business |
| PUT | /ad/update |
|---|
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
# module BusinessApi
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsBase:
description: Optional[str] = None
more_information: List[str] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsPercentageDiscountOnAllMerchandise(AdDetailsBase):
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsPercentageDiscountRangeOnAllMerchandise(AdDetailsBase):
start: float = 0.0
stop: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsPercentageDiscountOnSelectedMerchandise(AdDetailsBase):
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsAbsoluteDiscountOnSelectedMerchandise(AdDetailsBase):
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsAbsoluteDiscountRangeOnAllMerchandise(AdDetailsBase):
start: float = 0.0
stop: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsTotalAmountOverXgivesYdiscount(AdDetailsBase):
if_total_amount_more_than_x: float = 0.0
then_you_get_discount_percentage_y: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsXforYdiscount(AdDetailsBase):
if_you_buy_x: int = 0
then_you_get_y: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsNewArrivals(AdDetailsBase):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsFreetext(AdDetailsBase):
title: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsTodaysBreakFastOffer(AdDetailsBase):
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsTodaysLunchOffer(AdDetailsBase):
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsTodaysDinnerOffer(AdDetailsBase):
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsSaveFoodAndMoney(AdDetailsBase):
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsPercentageOffYourFoodBill(AdDetailsBase):
percentage: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsHappyHour(AdDetailsBase):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsSomeFreeTablesLeftToday(AdDetailsBase):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsTwoDishesForThePriceOfOne(AdDetailsBase):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdDetailsUnion:
percentage_on_all_merchandise: Optional[AdDetailsPercentageDiscountOnAllMerchandise] = None
percentage_range_on_all_merchandise: Optional[AdDetailsPercentageDiscountRangeOnAllMerchandise] = None
percentage_on_selected_merchandise: Optional[AdDetailsPercentageDiscountOnSelectedMerchandise] = None
absolute_on_selected_merchandise: Optional[AdDetailsAbsoluteDiscountOnSelectedMerchandise] = None
absolute_range_on_all_merchandise: Optional[AdDetailsAbsoluteDiscountRangeOnAllMerchandise] = None
total_amount_over_xgives_ydiscount: Optional[AdDetailsTotalAmountOverXgivesYdiscount] = None
xfor_y: Optional[AdDetailsXforYdiscount] = None
new_arrivals: Optional[AdDetailsNewArrivals] = None
freetext: Optional[AdDetailsFreetext] = None
todays_break_fast_offer: Optional[AdDetailsTodaysBreakFastOffer] = None
todays_lunch_offer: Optional[AdDetailsTodaysLunchOffer] = None
todays_dinner_offer: Optional[AdDetailsTodaysDinnerOffer] = None
save_food_and_money: Optional[AdDetailsSaveFoodAndMoney] = None
percentage_of_your_food_bill: Optional[AdDetailsPercentageOffYourFoodBill] = None
happy_hour: Optional[AdDetailsHappyHour] = None
some_free_tables_left_today: Optional[AdDetailsSomeFreeTablesLeftToday] = None
two_dishes_for_the_price_of_one: Optional[AdDetailsTwoDishesForThePriceOfOne] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /ad/update HTTP/1.1
Host: qa-business-api.brovs.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateAdRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BusinessApi.Dto">
<AdId>0</AdId>
<DetailsUnion xmlns:d2p1="http://schemas.datacontract.org/2004/07/Entities.Common">
<d2p1:AbsoluteOnSelectedMerchandise>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Value>0</d2p1:Value>
</d2p1:AbsoluteOnSelectedMerchandise>
<d2p1:AbsoluteRangeOnAllMerchandise>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Start>0</d2p1:Start>
<d2p1:Stop>0</d2p1:Stop>
</d2p1:AbsoluteRangeOnAllMerchandise>
<d2p1:Freetext>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Title>String</d2p1:Title>
</d2p1:Freetext>
<d2p1:HappyHour>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
</d2p1:HappyHour>
<d2p1:NewArrivals>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
</d2p1:NewArrivals>
<d2p1:PercentageOfYourFoodBill>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Percentage>0</d2p1:Percentage>
</d2p1:PercentageOfYourFoodBill>
<d2p1:PercentageOnAllMerchandise>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Value>0</d2p1:Value>
</d2p1:PercentageOnAllMerchandise>
<d2p1:PercentageOnSelectedMerchandise>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Value>0</d2p1:Value>
</d2p1:PercentageOnSelectedMerchandise>
<d2p1:PercentageRangeOnAllMerchandise>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Start>0</d2p1:Start>
<d2p1:Stop>0</d2p1:Stop>
</d2p1:PercentageRangeOnAllMerchandise>
<d2p1:SaveFoodAndMoney>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Value>0</d2p1:Value>
</d2p1:SaveFoodAndMoney>
<d2p1:SomeFreeTablesLeftToday>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
</d2p1:SomeFreeTablesLeftToday>
<d2p1:TodaysBreakFastOffer>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Value>0</d2p1:Value>
</d2p1:TodaysBreakFastOffer>
<d2p1:TodaysDinnerOffer>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Value>0</d2p1:Value>
</d2p1:TodaysDinnerOffer>
<d2p1:TodaysLunchOffer>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:Value>0</d2p1:Value>
</d2p1:TodaysLunchOffer>
<d2p1:TotalAmountOverXgivesYdiscount>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:IfTotalAmountMoreThanX>0</d2p1:IfTotalAmountMoreThanX>
<d2p1:ThenYouGetDiscountPercentageY>0</d2p1:ThenYouGetDiscountPercentageY>
</d2p1:TotalAmountOverXgivesYdiscount>
<d2p1:TwoDishesForThePriceOfOne>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
</d2p1:TwoDishesForThePriceOfOne>
<d2p1:XforY>
<d2p1:Description>String</d2p1:Description>
<d2p1:MoreInformation xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:MoreInformation>
<d2p1:IfYouBuyX>0</d2p1:IfYouBuyX>
<d2p1:ThenYouGetY>0</d2p1:ThenYouGetY>
</d2p1:XforY>
</DetailsUnion>
<PublishAt>
<Day>0</Day>
<Hour>0</Hour>
<Minute>0</Minute>
<Month>0</Month>
<Second>0</Second>
<Year>0</Year>
</PublishAt>
<StartAt>
<Day>0</Day>
<Hour>0</Hour>
<Minute>0</Minute>
<Month>0</Month>
<Second>0</Second>
<Year>0</Year>
</StartAt>
<StopAt>
<Day>0</Day>
<Hour>0</Hour>
<Minute>0</Minute>
<Month>0</Month>
<Second>0</Second>
<Year>0</Year>
</StopAt>
</UpdateAdRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <UpdateAdResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BusinessApi.Dto"> <AdId>0</AdId> </UpdateAdResponse>