NAV

<back to all web services

NAVOpenOrderGetList

The following routes are available for this service:
GET/pendingOrders/{BeeNumber}/{Days}
GET/pendingOrders/{BeeNumber}/{Days}/{Status}
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 NAVOpenOrderViewModel:
    order_number: Optional[str] = None
    order_id: Optional[int] = None
    order_status_id: Optional[int] = None
    order_status: Optional[str] = None
    created: Optional[datetime.datetime] = None
    order_type: Optional[str] = None
    subtotal: Optional[Decimal] = None
    shipping_cost: Optional[Decimal] = None
    final_tax: Optional[Decimal] = None
    commissionable_value_earned: Optional[Decimal] = None
    qualifying_value_earned: Optional[Decimal] = None
    campaign_of_order: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOpenOrderGetListResponse(GetListResponse[NAVOpenOrderViewModel]):
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOpenOrderGetList(IGet):
    bee_number: Optional[Decimal] = None
    days: Optional[int] = None
    status: Optional[str] = None


TEntity = TypeVar('TEntity')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetListResponse(Generic[TEntity]):
    items: Optional[List[TEntity]] = None
    response_status: Optional[ResponseStatus] = None

Python NAVOpenOrderGetList 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.

GET /pendingOrders/{BeeNumber}/{Days} HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	items: 
	[
		{
			orderNumber: String,
			orderId: 0,
			orderStatusId: 0,
			orderStatus: String,
			created: 0001-01-01T00:00:00,
			orderType: String,
			subtotal: 0,
			shippingCost: 0,
			finalTax: 0,
			commissionableValueEarned: 0,
			qualifyingValueEarned: 0,
			campaignOfOrder: String
		}
	],
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}