NAV

<back to all web services

NAVOrderSkuSubstitute

The following routes are available for this service:
POST/orders/{OrderNumber}/skus/{LineNumber}/substitute
import 'package:servicestack/servicestack.dart';

class NAVOrderSkuSubstituteResponse implements IConvertible
{
    int? lineNumber;
    ResponseStatus? responseStatus;

    NAVOrderSkuSubstituteResponse({this.lineNumber,this.responseStatus});
    NAVOrderSkuSubstituteResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class NAVOrderSkuSubstitute implements IPost, IConvertible
{
    String? orderNumber;
    int? lineNumber;
    String? substituteSkuCode;
    int? substituteSkuQuantity;

    NAVOrderSkuSubstitute({this.orderNumber,this.lineNumber,this.substituteSkuCode,this.substituteSkuQuantity});
    NAVOrderSkuSubstitute.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        orderNumber = json['orderNumber'];
        lineNumber = json['lineNumber'];
        substituteSkuCode = json['substituteSkuCode'];
        substituteSkuQuantity = json['substituteSkuQuantity'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'orderNumber': orderNumber,
        'lineNumber': lineNumber,
        'substituteSkuCode': substituteSkuCode,
        'substituteSkuQuantity': substituteSkuQuantity
    };

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

TypeContext _ctx = TypeContext(library: 'extensions.avon.ca', types: <String, TypeInfo> {
    'NAVOrderSkuSubstituteResponse': TypeInfo(TypeOf.Class, create:() => NAVOrderSkuSubstituteResponse()),
    'NAVOrderSkuSubstitute': TypeInfo(TypeOf.Class, create:() => NAVOrderSkuSubstitute()),
});

Dart NAVOrderSkuSubstitute 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 /orders/{OrderNumber}/skus/{LineNumber}/substitute HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	orderNumber: String,
	lineNumber: 0,
	substituteSkuCode: String,
	substituteSkuQuantity: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	lineNumber: 0,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}