HTTP + JSV
The following are sample HTTP requests and responses.
The placeholders shown need to be replaced with actual values.
PUT /Ams/{ClientID}/StoreProductPromoCodes/validate-list HTTP/1.1
Host: ws.yourmembership.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
PromoCode: String,
ValidationMode: Single,
Invoice:
{
date: 0001-01-01,
shippingMethodId: 0,
shippingMethodName: String,
shippingTax: 0,
shippingTotal: 0,
taxRate: 0,
taxTotal: 0,
totalAmount: 0,
comment: String,
person:
{
id: 0,
organization: String,
firstName: String,
lastName: String,
middleName: String,
nameSuffix: String,
emailAddress: String,
primaryAddress:
{
firstName: String,
lastName: String,
organization: String,
address1: String,
address2: String,
city: String,
location: String,
postalCode: String,
countryCode: String,
countryName: String,
areaCode: String,
phone: String
},
username: String,
password: String,
isMember: False,
expirationDate: String,
currentMembershipAllowsMultipleOpenInvoices: False,
currentMembershipInvoiceIsOpen: False,
currentMembershipInvoiceAwaitingAutoBill: False,
UsingRedis: True,
AppInitTime: 2025-01-15T06:19:47.4297411-05:00,
ServerID: WS-6-56-398,
ClientID: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
BypassCache: False,
DateCached: 2025-01-15T09:00:26.9303749-05:00,
Device: Desktop
},
shippingAddress:
{
firstName: String,
lastName: String,
organization: String,
address1: String,
address2: String,
city: String,
location: String,
postalCode: String,
countryCode: String,
countryName: String,
areaCode: String,
phone: String
},
invoiceItems:
[
{
itemTypeId: String,
id: 0,
shippingCost: 0,
description: String,
customDescription: String,
taxRate: 0,
taxGLCode: String,
quantity: 0,
amount: 0,
isProRated: False,
GLCode: String,
isModifier: False,
isDuesRule: False,
taxQBClass: String,
QBClass: String,
sku: String,
taxable: False,
autoPromoCodeAmount: 0,
autoPromoCodeTitle: String,
salesDiscount: 0,
AutoPromoCode:
{
Id: 0,
Title: String,
IsPercent: False,
Discount: 0
}
}
],
isNewMember: False,
taxGLCode: String,
taxQBClass: String,
shippingGLCode: String,
shippingQBClass: String
},
UsingRedis: True,
AppInitTime: 2025-01-15T06:19:47.4297411-05:00,
ServerID: WS-6-56-398,
ClientID: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
BypassCache: False,
DateCached: 2025-01-15T09:00:26.9303749-05:00,
Device: Desktop
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
StoreProductPromoCodesList:
[
{
}
],
ValidationDescription: String,
PromoCode: String,
ValidationMode: Single,
Invoice:
{
date: 0001-01-01,
shippingMethodId: 0,
shippingMethodName: String,
shippingTax: 0,
shippingTotal: 0,
taxRate: 0,
taxTotal: 0,
totalAmount: 0,
comment: String,
person:
{
id: 0,
organization: String,
firstName: String,
lastName: String,
middleName: String,
nameSuffix: String,
emailAddress: String,
primaryAddress:
{
firstName: String,
lastName: String,
organization: String,
address1: String,
address2: String,
city: String,
location: String,
postalCode: String,
countryCode: String,
countryName: String,
areaCode: String,
phone: String
},
username: String,
password: String,
isMember: False,
expirationDate: String,
currentMembershipAllowsMultipleOpenInvoices: False,
currentMembershipInvoiceIsOpen: False,
currentMembershipInvoiceAwaitingAutoBill: False,
UsingRedis: True,
AppInitTime: 2025-01-15T06:19:47.4297411-05:00,
ServerID: WS-6-56-398,
ClientID: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
BypassCache: False,
DateCached: 2025-01-15T09:00:26.9461076-05:00,
Device: Desktop
},
shippingAddress:
{
firstName: String,
lastName: String,
organization: String,
address1: String,
address2: String,
city: String,
location: String,
postalCode: String,
countryCode: String,
countryName: String,
areaCode: String,
phone: String
},
invoiceItems:
[
{
itemTypeId: String,
id: 0,
shippingCost: 0,
description: String,
customDescription: String,
taxRate: 0,
taxGLCode: String,
quantity: 0,
amount: 0,
isProRated: False,
GLCode: String,
isModifier: False,
isDuesRule: False,
taxQBClass: String,
QBClass: String,
sku: String,
taxable: False,
autoPromoCodeAmount: 0,
autoPromoCodeTitle: String,
salesDiscount: 0,
AutoPromoCode:
{
Id: 0,
Title: String,
IsPercent: False,
Discount: 0
}
}
],
isNewMember: False,
taxGLCode: String,
taxQBClass: String,
shippingGLCode: String,
shippingQBClass: String
},
UsingRedis: True,
AppInitTime: 2025-01-15T06:19:47.4297411-05:00,
ServerID: WS-6-56-398,
ClientID: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
BypassCache: False,
DateCached: 2025-01-15T09:00:26.9461076-05:00,
Device: Desktop
}