GET | /returns/{RMANumber} |
---|
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 AddressViewModel:
first_name: Optional[str] = None
last_name: Optional[str] = None
house_number: Optional[str] = None
address_line1: Optional[str] = None
address_line2: Optional[str] = None
address_line3: Optional[str] = None
address_line4: Optional[str] = None
address_line5: Optional[str] = None
city: Optional[str] = None
locality_level_i_d1: Optional[str] = None
locality_level_i_d2: Optional[str] = None
locality_level_i_d3: Optional[str] = None
locality_level_i_d4: Optional[str] = None
locality_level_i_d5: Optional[str] = None
state_code: Optional[str] = None
postal_code: Optional[str] = None
country_code: Optional[str] = None
address_good_date: Optional[datetime.datetime] = None
latitude: Optional[Decimal] = None
longitude: Optional[Decimal] = None
address_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnOutboundSkuViewModel:
entity_sku_id: Optional[int] = None
created_date: Optional[datetime.datetime] = None
updated_date: Optional[datetime.datetime] = None
line_number: Optional[int] = None
sku_id: Optional[int] = None
sku_code: Optional[str] = None
warehouse_sku_code: Optional[str] = None
quantity: Optional[int] = None
price: Optional[Decimal] = None
extended_price: Optional[Decimal] = None
price_override: Optional[Decimal] = None
taxable_price: Optional[Decimal] = None
tax_amount: Optional[Decimal] = None
ordered_quantity: Optional[int] = None
return_taxable_price: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnFeeViewModel:
rma_fee_id: Optional[int] = None
created_date: Optional[datetime.datetime] = None
updated_date: Optional[datetime.datetime] = None
is_fee_waived: Optional[bool] = None
username_fee_waived: Optional[str] = None
waived_note: Optional[str] = None
fee_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnInboundSkuViewModel(ReturnOutboundSkuViewModel):
rma_type: Optional[str] = None
return_quantity: Optional[int] = None
auto_received_quantity: Optional[int] = None
original_quantity: Optional[int] = None
return_quantity_on_clone: Optional[int] = None
reason_type: Optional[str] = None
sku_note: Optional[str] = None
order_id: Optional[int] = None
order_number: Optional[str] = None
order_sku_id: Optional[int] = None
order_line_number: Optional[int] = None
fee_amount: Optional[Decimal] = None
extended_fee_amount: Optional[Decimal] = None
return_tax_amount: Optional[Decimal] = None
return_extended_fee_amount: Optional[Decimal] = None
return_extended_price: Optional[Decimal] = None
fees: Optional[List[ReturnFeeViewModel]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnShipmentIssueSkuViewModel:
rma_shipment_issue_sku_id: Optional[int] = None
created_date: Optional[datetime.datetime] = None
updated_date: Optional[datetime.datetime] = None
line_number: Optional[int] = None
sku_id: Optional[int] = None
sku_code: Optional[str] = None
warehouse_sku_code: Optional[str] = None
quantity: Optional[int] = None
price: Optional[Decimal] = None
extended_price: Optional[Decimal] = None
price_override: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnPaymentViewModel:
payment_id: Optional[int] = None
payment_type: Optional[str] = None
credit_card_type: Optional[str] = None
credit_card_name: Optional[str] = None
credit_card_number: Optional[str] = None
credit_card_token: Optional[str] = None
payment_guid: Optional[str] = None
credit_card_expired: Optional[str] = None
authorization_code: Optional[str] = None
bank_account_number: Optional[str] = None
bank_routing_number: Optional[str] = None
bank_account_type: Optional[str] = None
bank_name: Optional[str] = None
bank_account_name: Optional[str] = None
license_number: Optional[str] = None
license_d_o_b: Optional[str] = None
license_state: Optional[str] = None
check_number: Optional[str] = None
savings_club: Optional[str] = None
charge: Optional[Decimal] = None
rma_entered_refund: Optional[Decimal] = None
text_response: Optional[str] = None
processed: Optional[bool] = None
confirmation_code: Optional[str] = None
authorization_time: Optional[datetime.datetime] = None
billing_address: Optional[AddressViewModel] = None
transaction_id: Optional[str] = None
avs: Optional[str] = None
balancing_payment: Optional[bool] = None
serial_number: Optional[str] = None
payment_export_keyword: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnHoldViewModel:
rma_hold_id: Optional[int] = None
created_date: Optional[datetime.datetime] = None
updated_date: Optional[datetime.datetime] = None
release_date: Optional[datetime.datetime] = None
username_release: Optional[str] = None
hold_reason: Optional[str] = None
hold_note: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnViewModel:
bee_number: Optional[Decimal] = None
bee_number_customer: Optional[Decimal] = None
event_id: Optional[int] = None
event_start_date: Optional[datetime.datetime] = None
master_order_id: Optional[int] = None
master_order_id_parent: Optional[int] = None
master_order_id_related: Optional[int] = None
order_id_outbound: Optional[int] = None
created_date: Optional[datetime.datetime] = None
updated_date: Optional[datetime.datetime] = None
rma_number: Optional[str] = None
bee_business_guid: Optional[Decimal] = None
is_submitted: Optional[bool] = None
submitted_date: Optional[datetime.datetime] = None
export_date: Optional[datetime.datetime] = None
rma_status: Optional[str] = None
inbound_return_total: Optional[Decimal] = None
outbound_total: Optional[Decimal] = None
tax_amount: Optional[Decimal] = None
shipping_tax_amount: Optional[Decimal] = None
fee_total: Optional[Decimal] = None
total: Optional[Decimal] = None
shipping_method: Optional[str] = None
master_order_id_outbound: Optional[int] = None
rma_note: Optional[str] = None
sub_total: Optional[Decimal] = None
shipping_amount: Optional[Decimal] = None
payment_total: Optional[Decimal] = None
credit_not_applied_to_product_amount: Optional[Decimal] = None
fee_total_waived: Optional[Decimal] = None
outbound_order_savings_club_amount: Optional[Decimal] = None
inbound_replacement_total: Optional[Decimal] = None
inbound_tax_amount: Optional[Decimal] = None
outbound_tax_amount: Optional[Decimal] = None
outbound_order_total: Optional[Decimal] = None
outbound_order_credit_card_amount: Optional[Decimal] = None
order_created_date: Optional[datetime.datetime] = None
closed_date: Optional[datetime.datetime] = None
actual_shipping_tax_amount: Optional[Decimal] = None
actual_shipping_amount: Optional[Decimal] = None
actual_tax_amount: Optional[Decimal] = None
actual_inbound_tax_amount: Optional[Decimal] = None
rma_credit_card_amount: Optional[Decimal] = None
rma_savings_club_amount: Optional[Decimal] = None
actual_fee_total: Optional[Decimal] = None
actual_fee_total_waived: Optional[Decimal] = None
actual_total: Optional[Decimal] = None
actual_sub_total: Optional[Decimal] = None
actual_inbound_return_total: Optional[Decimal] = None
actual_inbound_replacement_total: Optional[Decimal] = None
actual_credit_not_applied_to_product_amount: Optional[Decimal] = None
tax_export_date: Optional[datetime.datetime] = None
tax_transaction_time: Optional[datetime.datetime] = None
tax_transaction_id: Optional[str] = None
reverse_tax_export_date: Optional[datetime.datetime] = None
reverse_tax_transaction_time: Optional[datetime.datetime] = None
reverse_tax_transaction_id: Optional[str] = None
final_tax: Optional[Decimal] = None
reverse_final_tax: Optional[Decimal] = None
reuseable_inbound_tax_transaction_id: Optional[str] = None
reuseable_outbound_tax_transaction_id: Optional[str] = None
order_id: Optional[int] = None
order_number: Optional[str] = None
note: Optional[str] = None
clawback_c_v_override: Optional[bool] = None
clawback_q_v_override: Optional[bool] = None
issue_gift_card: Optional[bool] = None
rma_gift_card_amount: Optional[Decimal] = None
bee_savings_serial_guid: Optional[Decimal] = None
serial_number: Optional[str] = None
gift_card_email: Optional[str] = None
order_created_during_submit: Optional[bool] = None
total_qualifying_value: Optional[Decimal] = None
total_commissionable_value: Optional[Decimal] = None
bee_savings_club_guid: Optional[Decimal] = None
is_cancel_order: Optional[bool] = None
created_by: Optional[str] = None
rma_severity: Optional[str] = None
reference: Optional[str] = None
user_name: Optional[str] = None
total_override_c_v: Optional[Decimal] = None
total_override_q_v: Optional[Decimal] = None
total_upline_c_v: Optional[Decimal] = None
total_upline_q_v: Optional[Decimal] = None
total_group_c_v: Optional[Decimal] = None
total_group_q_v: Optional[Decimal] = None
override_c_v: Optional[Decimal] = None
override_q_v: Optional[Decimal] = None
upline_c_v: Optional[Decimal] = None
upline_q_v: Optional[Decimal] = None
group_c_v: Optional[Decimal] = None
group_q_v: Optional[Decimal] = None
issue_check: Optional[bool] = None
rma_check_amount: Optional[Decimal] = None
shipping_address: Optional[AddressViewModel] = None
inbound_skus: Optional[List[ReturnInboundSkuViewModel]] = None
outbound_skus: Optional[List[ReturnOutboundSkuViewModel]] = None
shipment_issue_skus: Optional[List[ReturnShipmentIssueSkuViewModel]] = None
payments: Optional[List[ReturnPaymentViewModel]] = None
holds: Optional[List[ReturnHoldViewModel]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnGetResponse(GetResponse[ReturnViewModel]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnGet(IGet):
rma_number: Optional[str] = None
TEntity = TypeVar('TEntity')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetResponse(Generic[TEntity]):
item: Optional[TEntity] = None
response_status: Optional[ResponseStatus] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /returns/{RMANumber} HTTP/1.1 Host: extensions.avon.ca Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"item":{"beeNumber":0,"beeNumberCustomer":0,"eventId":0,"eventStartDate":"0001-01-01T00:00:00.0000000","masterOrderId":0,"masterOrderIdParent":0,"masterOrderIdRelated":0,"orderIdOutbound":0,"createdDate":"0001-01-01T00:00:00.0000000","updatedDate":"0001-01-01T00:00:00.0000000","rmaNumber":"String","beeBusinessGuid":0,"isSubmitted":false,"submittedDate":"0001-01-01T00:00:00.0000000","exportDate":"0001-01-01T00:00:00.0000000","rmaStatus":"String","inboundReturnTotal":0,"outboundTotal":0,"taxAmount":0,"shippingTaxAmount":0,"feeTotal":0,"total":0,"shippingMethod":"String","masterOrderIdOutbound":0,"rmaNote":"String","subTotal":0,"shippingAmount":0,"paymentTotal":0,"creditNotAppliedToProductAmount":0,"feeTotalWaived":0,"outboundOrderSavingsClubAmount":0,"inboundReplacementTotal":0,"inboundTaxAmount":0,"outboundTaxAmount":0,"outboundOrderTotal":0,"outboundOrderCreditCardAmount":0,"orderCreatedDate":"0001-01-01T00:00:00.0000000","closedDate":"0001-01-01T00:00:00.0000000","actualShippingTaxAmount":0,"actualShippingAmount":0,"actualTaxAmount":0,"actualInboundTaxAmount":0,"rmaCreditCardAmount":0,"rmaSavingsClubAmount":0,"actualFeeTotal":0,"actualFeeTotalWaived":0,"actualTotal":0,"actualSubTotal":0,"actualInboundReturnTotal":0,"actualInboundReplacementTotal":0,"actualCreditNotAppliedToProductAmount":0,"taxExportDate":"0001-01-01T00:00:00.0000000","taxTransactionTime":"0001-01-01T00:00:00.0000000","taxTransactionId":"String","reverseTaxExportDate":"0001-01-01T00:00:00.0000000","reverseTaxTransactionTime":"0001-01-01T00:00:00.0000000","reverseTaxTransactionId":"String","finalTax":0,"reverseFinalTax":0,"reuseableInboundTaxTransactionId":"String","reuseableOutboundTaxTransactionId":"String","orderId":0,"orderNumber":"String","note":"String","clawbackCVOverride":false,"clawbackQVOverride":false,"issueGiftCard":false,"rmaGiftCardAmount":0,"beeSavingsSerialGuid":0,"serialNumber":"String","giftCardEmail":"String","orderCreatedDuringSubmit":false,"totalQualifyingValue":0,"totalCommissionableValue":0,"beeSavingsClubGuid":0,"isCancelOrder":false,"createdBy":"String","rmaSeverity":"String","reference":"String","userName":"String","totalOverrideCV":0,"totalOverrideQV":0,"totalUplineCV":0,"totalUplineQV":0,"totalGroupCV":0,"totalGroupQV":0,"overrideCV":0,"overrideQV":0,"uplineCV":0,"uplineQV":0,"groupCV":0,"groupQV":0,"issueCheck":false,"rmaCheckAmount":0,"shippingAddress":{"firstName":"String","lastName":"String","houseNumber":"String","addressLine1":"String","addressLine2":"String","addressLine3":"String","addressLine4":"String","addressLine5":"String","city":"String","localityLevelID1":"String","localityLevelID2":"String","localityLevelID3":"String","localityLevelID4":"String","localityLevelID5":"String","stateCode":"String","postalCode":"String","countryCode":"String","addressGoodDate":"0001-01-01T00:00:00.0000000","latitude":0,"longitude":0,"addressId":0},"inboundSkus":[{"rmaType":"String","returnQuantity":0,"autoReceivedQuantity":0,"originalQuantity":0,"returnQuantityOnClone":0,"reasonType":"String","skuNote":"String","orderId":0,"orderNumber":"String","orderSkuId":0,"orderLineNumber":0,"feeAmount":0,"extendedFeeAmount":0,"returnTaxAmount":0,"returnExtendedFeeAmount":0,"returnExtendedPrice":0,"fees":[{"rmaFeeId":0,"createdDate":"0001-01-01T00:00:00.0000000","updatedDate":"0001-01-01T00:00:00.0000000","isFeeWaived":false,"usernameFeeWaived":"String","waivedNote":"String","feeId":"String"}],"entitySkuId":0,"createdDate":"0001-01-01T00:00:00.0000000","updatedDate":"0001-01-01T00:00:00.0000000","lineNumber":0,"skuId":0,"skuCode":"String","warehouseSkuCode":"String","quantity":0,"price":0,"extendedPrice":0,"priceOverride":0,"taxablePrice":0,"taxAmount":0,"orderedQuantity":0,"returnTaxablePrice":0}],"outboundSkus":[{"entitySkuId":0,"createdDate":"0001-01-01T00:00:00.0000000","updatedDate":"0001-01-01T00:00:00.0000000","lineNumber":0,"skuId":0,"skuCode":"String","warehouseSkuCode":"String","quantity":0,"price":0,"extendedPrice":0,"priceOverride":0,"taxablePrice":0,"taxAmount":0,"orderedQuantity":0,"returnTaxablePrice":0}],"shipmentIssueSkus":[{"rmaShipmentIssueSkuId":0,"createdDate":"0001-01-01T00:00:00.0000000","updatedDate":"0001-01-01T00:00:00.0000000","lineNumber":0,"skuId":0,"skuCode":"String","warehouseSkuCode":"String","quantity":0,"price":0,"extendedPrice":0,"priceOverride":0}],"payments":[{"paymentId":0,"paymentType":"String","creditCardType":"String","creditCardName":"String","creditCardNumber":"String","creditCardToken":"String","paymentGuid":"String","creditCardExpired":"String","authorizationCode":"String","bankAccountNumber":"String","bankRoutingNumber":"String","bankAccountType":"String","bankName":"String","bankAccountName":"String","licenseNumber":"String","licenseDOB":"String","licenseState":"String","checkNumber":"String","savingsClub":"String","charge":0,"rmaEnteredRefund":0,"textResponse":"String","processed":false,"confirmationCode":"String","authorizationTime":"0001-01-01T00:00:00.0000000","billingAddress":{"firstName":"String","lastName":"String","houseNumber":"String","addressLine1":"String","addressLine2":"String","addressLine3":"String","addressLine4":"String","addressLine5":"String","city":"String","localityLevelID1":"String","localityLevelID2":"String","localityLevelID3":"String","localityLevelID4":"String","localityLevelID5":"String","stateCode":"String","postalCode":"String","countryCode":"String","addressGoodDate":"0001-01-01T00:00:00.0000000","latitude":0,"longitude":0,"addressId":0},"transactionId":"String","avs":"String","balancingPayment":false,"serialNumber":"String","paymentExportKeyword":"String"}],"holds":[{"rmaHoldId":0,"createdDate":"0001-01-01T00:00:00.0000000","updatedDate":"0001-01-01T00:00:00.0000000","releaseDate":"0001-01-01T00:00:00.0000000","usernameRelease":"String","holdReason":"String","holdNote":"String"}]},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}