YM REST Services

<back to all web services

MembershipPromoCodes

Requires Authentication
Requires any of the roles:admin, oauthadminRequires the permission:CanAdminMembers
The following routes are available for this service:
PUT/Ams/{ClientID}/MembershipPromoCodesValidates a Membership Promo Code.
GET/Ams/{ClientID}/MembershipPromoCodes/{MembershipID}/{MemberID}Return a list of valid membership promo codes for the given Member
GET/Ams/{ClientID}/MembershipPromoCodes/{MembershipID}/Return a list of membership promo codes for the given Membership
MembershipPromoCodes Parameters:
NameParameterData TypeRequiredDescription
MembershipIDpathintNo
MemberIDpathintNo
PromoCodebodystringNo
BaseDto Parameters:
NameParameterData TypeRequiredDescription
UsingRedisformboolNo
AppInitTimeformDateTimeNo
ServerIDformstringNo
BaseSharedDto Parameters:
NameParameterData TypeRequiredDescription
ClientIDformintNo
ResponseStatusformResponseStatusNo
BypassCacheformboolNo
DateCachedformDateTimeNo
DeviceformDeviceNo
MembershipPromoCodesResponse Parameters:
NameParameterData TypeRequiredDescription
MembershipPromoCodeListformList<MembershipPromoCode>No
MembershipPromoCode Parameters:
NameParameterData TypeRequiredDescription
FriendlyNameformstringNo
FlatDiscountformdouble?No
PercentDiscountformdouble?No
PromoCodeBase Parameters:
NameParameterData TypeRequiredDescription
PromoCodeIDformint?No
ClientIDformintNo
PromoCodeformstringNo
ExpiresformDateTime?No
GLCodeformstringNo
QBClassformstringNo
StartformDateTime?No
UsageLimitformintNo
UsageOnePerUserformboolNo

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.

PUT /Ams/{ClientID}/MembershipPromoCodes HTTP/1.1 
Host: ws.yourmembership.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	MembershipID: 0,
	MemberID: 0,
	PromoCode: String,
	UsingRedis: True,
	AppInitTime: 2024-05-02T22:24:34.1976649-04:00,
	ServerID: WS-6-183-431,
	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: 2024-05-03T00:49:09.4762380-04:00,
	Device: Desktop
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	MembershipPromoCodeList: 
	[
		{
			FriendlyName: String,
			FlatDiscount: 0,
			PercentDiscount: 0,
			PromoCodeID: 0,
			ClientID: 0,
			PromoCode: String,
			Expires: 0001-01-01,
			GLCode: String,
			QBClass: String,
			Start: 0001-01-01,
			UsageLimit: 0,
			UsageOnePerUser: False
		}
	],
	MembershipID: 0,
	MemberID: 0,
	PromoCode: String,
	UsingRedis: True,
	AppInitTime: 2024-05-02T22:24:34.1976649-04:00,
	ServerID: WS-6-183-431,
	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: 2024-05-03T00:49:09.4918330-04:00,
	Device: Desktop
}