| POST | /rebatecodes/prices | Get the new prices | Get the new prices after applying RebateCodes |
|---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
public static class GetPricesAfterRebateCode
{
/**
*
*/
@ApiMember(Description="", IsRequired=true)
public UUID CompanyId = null;
/**
* The service you want to get the prices with rebates on
*/
@ApiMember(Description="The service you want to get the prices with rebates on")
public Integer ServiceId = null;
/**
* Provide this if you like to the prices with rebate code ids
*/
@ApiMember(Description="Provide this if you like to the prices with rebate code ids")
public ArrayList<Integer> RebateCodeIds = new ArrayList<Integer>();
/**
* Provide this if you like to the prices with rebate code signs instead of ids
*/
@ApiMember(Description="Provide this if you like to the prices with rebate code signs instead of ids")
public ArrayList<String> RebateCodeSigns = new ArrayList<String>();
/**
* Provide this if you like to calculate the prices with the provided datetime
*/
@ApiMember(Description="Provide this if you like to calculate the prices with the provided datetime", IsRequired=true)
public Date DateFrom = null;
public UUID getCompanyId() { return CompanyId; }
public GetPricesAfterRebateCode setCompanyId(UUID value) { this.CompanyId = value; return this; }
public Integer getServiceId() { return ServiceId; }
public GetPricesAfterRebateCode setServiceId(Integer value) { this.ServiceId = value; return this; }
public ArrayList<Integer> getRebateCodeIds() { return RebateCodeIds; }
public GetPricesAfterRebateCode setRebateCodeIds(ArrayList<Integer> value) { this.RebateCodeIds = value; return this; }
public ArrayList<String> getRebateCodeSigns() { return RebateCodeSigns; }
public GetPricesAfterRebateCode setRebateCodeSigns(ArrayList<String> value) { this.RebateCodeSigns = value; return this; }
public Date getDateFrom() { return DateFrom; }
public GetPricesAfterRebateCode setDateFrom(Date value) { this.DateFrom = value; return this; }
}
public static class RebateCodePriceResponse
{
public ArrayList<RebateCodePrice> RebateCodePrices = new ArrayList<RebateCodePrice>();
public ResponseStatus ResponseStatus = null;
public ArrayList<RebateCodePrice> getRebateCodePrices() { return RebateCodePrices; }
public RebateCodePriceResponse setRebateCodePrices(ArrayList<RebateCodePrice> value) { this.RebateCodePrices = value; return this; }
public ResponseStatus getResponseStatus() { return ResponseStatus; }
public RebateCodePriceResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
}
public static class RebateCodePrice
{
/**
* Price Id
*/
@ApiMember(Description="Price Id")
public Integer PriceId = null;
public String PriceText = null;
public Double PriceBeforeRebate = null;
public Double Price = null;
public BigDecimal VAT = null;
public ArrayList<AppliedRebateCodesResponse> AppliedCodes = new ArrayList<AppliedRebateCodesResponse>();
public Integer getPriceId() { return PriceId; }
public RebateCodePrice setPriceId(Integer value) { this.PriceId = value; return this; }
public String getPriceText() { return PriceText; }
public RebateCodePrice setPriceText(String value) { this.PriceText = value; return this; }
public Double getPriceBeforeRebate() { return PriceBeforeRebate; }
public RebateCodePrice setPriceBeforeRebate(Double value) { this.PriceBeforeRebate = value; return this; }
public Double getPrice() { return Price; }
public RebateCodePrice setPrice(Double value) { this.Price = value; return this; }
public BigDecimal getVat() { return VAT; }
public RebateCodePrice setVat(BigDecimal value) { this.VAT = value; return this; }
public ArrayList<AppliedRebateCodesResponse> getAppliedCodes() { return AppliedCodes; }
public RebateCodePrice setAppliedCodes(ArrayList<AppliedRebateCodesResponse> value) { this.AppliedCodes = value; return this; }
}
public static class AppliedRebateCodesResponse
{
public String RebateCodeSign = null;
public Integer RebateCodeValue = null;
public RebateCodeTypeResponse RebateCodeType = null;
public Integer RebateCodeId = null;
public Double RebateAmount = null;
public String getRebateCodeSign() { return RebateCodeSign; }
public AppliedRebateCodesResponse setRebateCodeSign(String value) { this.RebateCodeSign = value; return this; }
public Integer getRebateCodeValue() { return RebateCodeValue; }
public AppliedRebateCodesResponse setRebateCodeValue(Integer value) { this.RebateCodeValue = value; return this; }
public RebateCodeTypeResponse getRebateCodeType() { return RebateCodeType; }
public AppliedRebateCodesResponse setRebateCodeType(RebateCodeTypeResponse value) { this.RebateCodeType = value; return this; }
public Integer getRebateCodeId() { return RebateCodeId; }
public AppliedRebateCodesResponse setRebateCodeId(Integer value) { this.RebateCodeId = value; return this; }
public Double getRebateAmount() { return RebateAmount; }
public AppliedRebateCodesResponse setRebateAmount(Double value) { this.RebateAmount = value; return this; }
}
public static class RebateCodeTypeResponse
{
public Integer Id = null;
public String Name = null;
public String Description = null;
public Integer getId() { return Id; }
public RebateCodeTypeResponse setId(Integer value) { this.Id = value; return this; }
public String getName() { return Name; }
public RebateCodeTypeResponse setName(String value) { this.Name = value; return this; }
public String getDescription() { return Description; }
public RebateCodeTypeResponse setDescription(String value) { this.Description = value; return this; }
}
}
Java GetPricesAfterRebateCode DTOs
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 /rebatecodes/prices HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ServiceId: 0,
RebateCodeIds:
[
0
],
RebateCodeSigns:
[
String
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
RebateCodePrices:
[
{
PriceId: 0,
PriceText: String,
PriceBeforeRebate: 0,
Price: 0,
VAT: 0,
AppliedCodes:
[
{
RebateCodeSign: String,
RebateCodeValue: 0,
RebateCodeType:
{
Id: 0,
Name: String,
Description: String
},
RebateCodeId: 0,
RebateAmount: 0
}
]
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}