NAV

<back to all web services

NAVReturnCreate

The following routes are available for this service:
POST/returns
import 'package:servicestack/servicestack.dart';

class NAVReturnCreateResponse implements IConvertible
{
    String? rmaNumber;
    String? packingListURI;
    double? total;
    ResponseStatus? responseStatus;

    NAVReturnCreateResponse({this.rmaNumber,this.packingListURI,this.total,this.responseStatus});
    NAVReturnCreateResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        rmaNumber = json['rmaNumber'];
        packingListURI = json['packingListURI'];
        total = JsonConverters.toDouble(json['total']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'rmaNumber': rmaNumber,
        'packingListURI': packingListURI,
        'total': total,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "NAVReturnCreateResponse";
    TypeContext? context = _ctx;
}

class NAVReturnHeaderCreate implements IConvertible
{
    String? originalOrderNumber;
    String? originalOrderTypeId;
    String? rmaNote;
    String? shipLabelType;

    NAVReturnHeaderCreate({this.originalOrderNumber,this.originalOrderTypeId,this.rmaNote,this.shipLabelType});
    NAVReturnHeaderCreate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        originalOrderNumber = json['originalOrderNumber'];
        originalOrderTypeId = json['originalOrderTypeId'];
        rmaNote = json['rmaNote'];
        shipLabelType = json['shipLabelType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'originalOrderNumber': originalOrderNumber,
        'originalOrderTypeId': originalOrderTypeId,
        'rmaNote': rmaNote,
        'shipLabelType': shipLabelType
    };

    getTypeName() => "NAVReturnHeaderCreate";
    TypeContext? context = _ctx;
}

class NAVReturnInboundSkuCreate implements IConvertible
{
    String? skuCode;
    int? orderLineNumber;
    int? quantityReturned;
    String? reasonType;
    String? rmaNote;

    NAVReturnInboundSkuCreate({this.skuCode,this.orderLineNumber,this.quantityReturned,this.reasonType,this.rmaNote});
    NAVReturnInboundSkuCreate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        skuCode = json['skuCode'];
        orderLineNumber = json['orderLineNumber'];
        quantityReturned = json['quantityReturned'];
        reasonType = json['reasonType'];
        rmaNote = json['rmaNote'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'skuCode': skuCode,
        'orderLineNumber': orderLineNumber,
        'quantityReturned': quantityReturned,
        'reasonType': reasonType,
        'rmaNote': rmaNote
    };

    getTypeName() => "NAVReturnInboundSkuCreate";
    TypeContext? context = _ctx;
}

class NAVReturnOutboundSkuCreate implements IConvertible
{
    String? skuCode;
    int? orderLineNumber;
    int? quantityReturned;
    String? reasonType;

    NAVReturnOutboundSkuCreate({this.skuCode,this.orderLineNumber,this.quantityReturned,this.reasonType});
    NAVReturnOutboundSkuCreate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        skuCode = json['skuCode'];
        orderLineNumber = json['orderLineNumber'];
        quantityReturned = json['quantityReturned'];
        reasonType = json['reasonType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'skuCode': skuCode,
        'orderLineNumber': orderLineNumber,
        'quantityReturned': quantityReturned,
        'reasonType': reasonType
    };

    getTypeName() => "NAVReturnOutboundSkuCreate";
    TypeContext? context = _ctx;
}

class NAVReturnAddress implements IConvertible
{
    String? firstName;
    String? lastName;
    String? addressLine1;
    String? addressLine2;
    String? addressLine3;
    String? addressLine4;
    String? addressLine5;
    String? city;
    String? stateProvinceCode;
    String? postalCode;
    String? county;
    String? countryCode;

    NAVReturnAddress({this.firstName,this.lastName,this.addressLine1,this.addressLine2,this.addressLine3,this.addressLine4,this.addressLine5,this.city,this.stateProvinceCode,this.postalCode,this.county,this.countryCode});
    NAVReturnAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        firstName = json['firstName'];
        lastName = json['lastName'];
        addressLine1 = json['addressLine1'];
        addressLine2 = json['addressLine2'];
        addressLine3 = json['addressLine3'];
        addressLine4 = json['addressLine4'];
        addressLine5 = json['addressLine5'];
        city = json['city'];
        stateProvinceCode = json['stateProvinceCode'];
        postalCode = json['postalCode'];
        county = json['county'];
        countryCode = json['countryCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'firstName': firstName,
        'lastName': lastName,
        'addressLine1': addressLine1,
        'addressLine2': addressLine2,
        'addressLine3': addressLine3,
        'addressLine4': addressLine4,
        'addressLine5': addressLine5,
        'city': city,
        'stateProvinceCode': stateProvinceCode,
        'postalCode': postalCode,
        'county': county,
        'countryCode': countryCode
    };

    getTypeName() => "NAVReturnAddress";
    TypeContext? context = _ctx;
}

class NAVReturnCreate implements IPost, IConvertible
{
    NAVReturnHeaderCreate? header;
    List<NAVReturnInboundSkuCreate>? inboundSkus;
    List<NAVReturnOutboundSkuCreate>? outboundSkus;
    NAVReturnAddress? billingAddress;
    NAVReturnAddress? shippingAddress;

    NAVReturnCreate({this.header,this.inboundSkus,this.outboundSkus,this.billingAddress,this.shippingAddress});
    NAVReturnCreate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        header = JsonConverters.fromJson(json['header'],'NAVReturnHeaderCreate',context!);
        inboundSkus = JsonConverters.fromJson(json['inboundSkus'],'List<NAVReturnInboundSkuCreate>',context!);
        outboundSkus = JsonConverters.fromJson(json['outboundSkus'],'List<NAVReturnOutboundSkuCreate>',context!);
        billingAddress = JsonConverters.fromJson(json['billingAddress'],'NAVReturnAddress',context!);
        shippingAddress = JsonConverters.fromJson(json['shippingAddress'],'NAVReturnAddress',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'header': JsonConverters.toJson(header,'NAVReturnHeaderCreate',context!),
        'inboundSkus': JsonConverters.toJson(inboundSkus,'List<NAVReturnInboundSkuCreate>',context!),
        'outboundSkus': JsonConverters.toJson(outboundSkus,'List<NAVReturnOutboundSkuCreate>',context!),
        'billingAddress': JsonConverters.toJson(billingAddress,'NAVReturnAddress',context!),
        'shippingAddress': JsonConverters.toJson(shippingAddress,'NAVReturnAddress',context!)
    };

    getTypeName() => "NAVReturnCreate";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'extensions.avon.ca', types: <String, TypeInfo> {
    'NAVReturnCreateResponse': TypeInfo(TypeOf.Class, create:() => NAVReturnCreateResponse()),
    'NAVReturnHeaderCreate': TypeInfo(TypeOf.Class, create:() => NAVReturnHeaderCreate()),
    'NAVReturnInboundSkuCreate': TypeInfo(TypeOf.Class, create:() => NAVReturnInboundSkuCreate()),
    'NAVReturnOutboundSkuCreate': TypeInfo(TypeOf.Class, create:() => NAVReturnOutboundSkuCreate()),
    'NAVReturnAddress': TypeInfo(TypeOf.Class, create:() => NAVReturnAddress()),
    'NAVReturnCreate': TypeInfo(TypeOf.Class, create:() => NAVReturnCreate()),
    'List<NAVReturnInboundSkuCreate>': TypeInfo(TypeOf.Class, create:() => <NAVReturnInboundSkuCreate>[]),
    'List<NAVReturnOutboundSkuCreate>': TypeInfo(TypeOf.Class, create:() => <NAVReturnOutboundSkuCreate>[]),
});

Dart NAVReturnCreate DTOs

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

HTTP + JSV

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

POST /returns HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	header: 
	{
		originalOrderNumber: String,
		originalOrderTypeId: String,
		rmaNote: String,
		shipLabelType: String
	},
	inboundSkus: 
	[
		{
			skuCode: String,
			orderLineNumber: 0,
			quantityReturned: 0,
			reasonType: String,
			rmaNote: String
		}
	],
	outboundSkus: 
	[
		{
			skuCode: String,
			orderLineNumber: 0,
			quantityReturned: 0,
			reasonType: String
		}
	],
	billingAddress: 
	{
		firstName: String,
		lastName: String,
		addressLine1: String,
		addressLine2: String,
		addressLine3: String,
		addressLine4: String,
		addressLine5: String,
		city: String,
		stateProvinceCode: String,
		postalCode: String,
		county: String,
		countryCode: String
	},
	shippingAddress: 
	{
		firstName: String,
		lastName: String,
		addressLine1: String,
		addressLine2: String,
		addressLine3: String,
		addressLine4: String,
		addressLine5: String,
		city: String,
		stateProvinceCode: String,
		postalCode: String,
		county: String,
		countryCode: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	rmaNumber: String,
	packingListURI: String,
	total: 0,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}