SmartAcc DynaMod Web API v2024.4 Build 0000 - Local

<back to all web services

SubmitOrderRequest

Order

Submit Order Webhook

The following routes are available for this service:
POST/GrabFoodSubmitOrder
SubmitOrderRequest Parameters:
NameParameterData TypeRequiredDescription
orderIDbodystringNo
shortOrderNumberbodystringNo
merchantIDbodystringNo
partnerMerchantIDbodystringNo
paymentTypebodystringNo
cutlerybodyboolNo
orderTimebodystringNo
submitTimebodystringNo
completeTimebodystringNo
scheduledTimebodystringNo
orderStatebodystringNo
currencybodyCurrencyNo
featureFlagsbodyFeatureFlagsNo
itemsbodyList<OrderItem>No
campaignsbodyList<Campaign>No
promosbodyList<Promo>No
pricebodyPriceNo
dineInbodyDineInNo
receiverbodyReceiverNo
orderReadyEstimationbodyOrderReadyEstimationNo
membershipIDbodystringNo
Currency Parameters:
NameParameterData TypeRequiredDescription
codeformstringNo
symbolformstringNo
exponentformintNo
FeatureFlags Parameters:
NameParameterData TypeRequiredDescription
orderAcceptedTypeformstringNo
orderTypeformstringNo
isMexEditOrderformboolNo
OrderItem Parameters:
NameParameterData TypeRequiredDescription
idformstringNo
grabItemIDformstringNo
quantityformintNo
priceformdecimalNo
taxformdecimalNo
specificationsformstringNo
modifiersformList<Modifier>No
Modifier Parameters:
NameParameterData TypeRequiredDescription
idformstringNo
priceformdecimalNo
taxformdecimalNo
quantityformintNo
Campaign Parameters:
NameParameterData TypeRequiredDescription
idformstringNo
nameformstringNo
CampaignNameForMexformstringNo
levelformstringNo
typeformstringNo
usageCountformintNo
mexFundedRatioformdecimalNo
deductedAmountformdecimalNo
deductedPartformstringNo
appliedItemIDsformList<string>No
freeItemformOrderFreeItemNo
OrderFreeItem Parameters:
NameParameterData TypeRequiredDescription
idformstringNo
nameformstringNo
quantityformintNo
priceformdecimalNo
Promo Parameters:
NameParameterData TypeRequiredDescription
codeformstringNo
descriptionformstringNo
nameformstringNo
promoAmountformdecimalNo
Price Parameters:
NameParameterData TypeRequiredDescription
subtotalformdecimalNo
taxformdecimalNo
merchantChargeFeeformdecimalNo
grabFundPromoformdecimalNo
merchantFundPromoformdecimalNo
basketPromoformdecimalNo
deliveryFeeformdecimalNo
eaterPaymentformdecimalNo
DineIn Parameters:
NameParameterData TypeRequiredDescription
tableIDformstringNo
eaterCountformintNo
Receiver Parameters:
NameParameterData TypeRequiredDescription
nameformstringNo
phonesformlongNo
addressformReceiverAddressesNo
ReceiverAddresses Parameters:
NameParameterData TypeRequiredDescription
unitNumberformstringNo
deliveryInstructionformstringNo
addressformstringNo
postcodeformstringNo
poiSourceformstringNo
poiIDformstringNo
coordinatesformCoordinatesNo
Coordinates Parameters:
NameParameterData TypeRequiredDescription
latitudeformdoubleNo
longitudeformdoubleNo
OrderReadyEstimation Parameters:
NameParameterData TypeRequiredDescription
allowChangeformboolNo
estimatedOrderReadyTimeformstringNo
maxOrderReadyTimeformstringNo
newOrderReadyTimeformstringNo
SubmitOrderResponse Parameters:
NameParameterData TypeRequiredDescription
orderIDformstringNo
statusformstringNo
messageformstringNo

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 /GrabFoodSubmitOrder HTTP/1.1 
Host: snr2u.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	orderID: String,
	shortOrderNumber: String,
	merchantID: String,
	partnerMerchantID: String,
	paymentType: String,
	cutlery: False,
	orderTime: String,
	submitTime: String,
	completeTime: String,
	scheduledTime: String,
	orderState: String,
	currency: 
	{
		code: String,
		symbol: String,
		exponent: 0
	},
	featureFlags: 
	{
		orderAcceptedType: String,
		orderType: String,
		isMexEditOrder: False
	},
	items: 
	[
		{
			id: String,
			grabItemID: String,
			quantity: 0,
			price: 0,
			tax: 0,
			specifications: String,
			modifiers: 
			[
				{
					id: String,
					price: 0,
					tax: 0,
					quantity: 0
				}
			]
		}
	],
	campaigns: 
	[
		{
			id: String,
			name: String,
			CampaignNameForMex: String,
			level: String,
			type: String,
			usageCount: 0,
			mexFundedRatio: 0,
			deductedAmount: 0,
			deductedPart: String,
			appliedItemIDs: 
			[
				String
			],
			freeItem: 
			{
				id: String,
				name: String,
				quantity: 0,
				price: 0
			}
		}
	],
	promos: 
	[
		{
			code: String,
			description: String,
			name: String,
			promoAmount: 0
		}
	],
	price: 
	{
		subtotal: 0,
		tax: 0,
		merchantChargeFee: 0,
		grabFundPromo: 0,
		merchantFundPromo: 0,
		basketPromo: 0,
		deliveryFee: 0,
		eaterPayment: 0
	},
	dineIn: 
	{
		tableID: String,
		eaterCount: 0
	},
	receiver: 
	{
		name: String,
		phones: 0,
		address: 
		{
			unitNumber: String,
			deliveryInstruction: String,
			address: String,
			postcode: String,
			poiSource: String,
			poiID: String,
			coordinates: 
			{
				latitude: 0,
				longitude: 0
			}
		}
	},
	orderReadyEstimation: 
	{
		allowChange: False,
		estimatedOrderReadyTime: String,
		maxOrderReadyTime: String,
		newOrderReadyTime: String
	},
	membershipID: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	orderID: String,
	status: String,
	message: String
}