BokaMera.API.Host

<back to all web services

CreateRebateCode

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/rebatecodesCreate RebateCode.Create RebateCode.
CreateRebateCode Parameters:
NameParameterData TypeRequiredDescription
CompanyIdbodyGuid?No
MaxNumberOfUsesbodyint?NoThe default value is 9999
MaxNumberOfUsesPerCustomerbodyint?NoThe default value is 1
ValidFrombodyDateTimeYes
ValidTobodyDateTimeYes
FromTimebodyTimeSpan?NoIf the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
ToTimebodyTimeSpan?NoIf the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
RebateCodeTypeIdbodyintYes1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard
ArticleIdbodyint?NoIf it's connected to an Article, add the Article Id here.
RebateCodeValuebodyintYes
RebateCodeSignbodystringNoIf AutoGenerateRebateCodeSign=false - more than four letters, unique among active codes
AutoGenerateRebateCodeSignbodyboolNoAutoGenerateRebateCodeSign=true - random generate code
PersonalNotebodystringNo
DaysOfWeekbodyList<int>No
ServicesbodyList<int>No
CustomersbodyList<Guid>No
PriceVatbodydecimal?NoThe price
CurrencyIdbodystringNoThe price currency
PromoCodeReceiverbodyPromoCodeReceiverNoPromo code Receiver infomration
InvoiceAddressbodyInvoiceAddressToHandleNoIf you wish to save some invoice address information for the rebate code, you can do so here. This is optional.
PromoCodeReceiver Parameters:
NameParameterData TypeRequiredDescription
CustomerIdformGuid?No
FirstnameformstringNo
LastnameformstringNo
EmailformstringNo
ReceiverMessageformstringNo
InvoiceAddressToHandle Parameters:
NameParameterData TypeRequiredDescription
CorporateIdentityNumberformstringNo
InvoiceAddress1formstringNo
InvoiceAddress2formstringNo
InvoiceCityformstringNo
InvoicePostalCodeformstringNo
InvoiceCountryCodeformstringNo
RebateCodeResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
CompanyIdformGuid?No
ValidFromformDateTimeNo
ValidToformDateTimeNo
FromTimeformTimeSpanNoIf the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
ToTimeformTimeSpanNoIf the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
CreatedByformstringNo
CreatedformDateTimeNo
UpdatedByformstringNo
UpdatedformDateTimeNo
PersonalNoteformstringNo
RebateCodeSignformstringNo
RebateCodeValueformintNo
RebateCodeTypeIdformintNo
NameformstringNo
RebateCodeStatusIdformintNo
StatusNameformstringNo
MaxNumberOfUsesformintNo
MaxNumberOfUsesPerCustomerformintNo
NumberOfUsesUsedformintNo
DaysOfWeekformList<DaysOfWeekResponse>No
ServicesformList<RebateCodeServiceResponse>No
ArticleformArticleResponseNo
TransactionsformList<RebateCodeTransactionQueryResponse>No
RemainingAmountformdouble?No
RemainingUsageformint?No
CustomersformList<RebateCodeCustomerResponse>No
ResponseStatusformResponseStatusNo
PaymentReceivedformboolNo
RebateCodeCurrencySignformstringNo
ActiveByStatusformboolNo
PriceSignformstringNo
RebateCodeTypeNameformstringNo
CompanyformRebateCodeCompanyResponseNo
DaysOfWeekResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
DayOfWeekformstringNo
DayOfWeekTranslationformstringNo
DayOfWeekActiveformbool?No
DayOfWeekSortOrderformshort?No
RebateCodeServiceResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
NameformstringNo
DescriptionformstringNo
ActiveformboolNo
ArticleResponse Parameters:
NameParameterData TypeRequiredDescription
CompanyIdformGuidNo
IdformintNo
NameformstringNo
ArticleTypeIdformintNo
DescriptionformstringNo
ImageUrlformstringNo
ActiveformboolNo
AmountformintNo
PriceformdoubleNo
CurrencyIdformstringNo
UpdatedDateformDateTimeNo
CreatedDateformDateTimeNo
ServicesformList<ArticleServiceRelation>No
ServiceIdsformList<int>No
PriceSignformstringNo
VATformdecimal?No
ArticleServiceRelation Parameters:
NameParameterData TypeRequiredDescription
CompanyIdformGuidYes
IdformintNo
ServiceIdformintYes
ArticleIdformintYes
RebateCodeTransactionQueryResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
CompanyIdformGuidNo
NoteformstringNo
RebateCodeIdformintNo
RebateCodeSignformstringNo
RebateCodeTypeIdformint?No
RebateCodeTypeNameformstringNo
AmountformdoubleNo
UsageformstringNo
BookingIdformint?No
UpdatedDateformDateTimeNo
CreatedDateformDateTimeNo
ServiceformRebateCodeServiceResponseNo
CustomerformRebateCodeCustomerResponseNo
PriceSignformstringNo
RebateCodeCustomerResponse Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
FirstnameformstringNo
LastnameformstringNo
EmailformstringNo
PhoneformstringNo
ImageUrlformstringNo
RebateCodeCompanyResponse Parameters:
NameParameterData TypeRequiredDescription
SitePathformstringNo
PaymentProviderIdformint?No

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 /rebatecodes HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	MaxNumberOfUses: 0,
	MaxNumberOfUsesPerCustomer: 0,
	FromTime: PT0S,
	ToTime: PT0S,
	RebateCodeTypeId: 0,
	ArticleId: 0,
	RebateCodeValue: 0,
	RebateCodeSign: String,
	AutoGenerateRebateCodeSign: False,
	PersonalNote: String,
	DaysOfWeek: 
	[
		0
	],
	Services: 
	[
		0
	],
	Customers: 
	[
		00000000-0000-0000-0000-000000000000
	],
	PriceVat: 0,
	CurrencyId: String,
	PromoCodeReceiver: 
	{
		CustomerId: 00000000-0000-0000-0000-000000000000,
		Firstname: String,
		Lastname: String,
		Email: String,
		ReceiverMessage: String
	},
	InvoiceAddress: 
	{
		CorporateIdentityNumber: String,
		InvoiceAddress1: String,
		InvoiceAddress2: String,
		InvoiceCity: String,
		InvoicePostalCode: String,
		InvoiceCountryCode: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	CompanyId: 00000000-0000-0000-0000-000000000000,
	FromTime: PT0S,
	ToTime: PT0S,
	CreatedBy: String,
	UpdatedBy: String,
	PersonalNote: String,
	RebateCodeSign: String,
	RebateCodeValue: 0,
	RebateCodeTypeId: 0,
	Name: String,
	RebateCodeStatusId: 0,
	StatusName: String,
	MaxNumberOfUses: 0,
	MaxNumberOfUsesPerCustomer: 0,
	NumberOfUsesUsed: 0,
	DaysOfWeek: 
	[
		{
			Id: 0,
			DayOfWeek: String,
			DayOfWeekTranslation: String,
			DayOfWeekActive: False,
			DayOfWeekSortOrder: 0
		}
	],
	Services: 
	[
		{
			Id: 0,
			Name: String,
			Description: String,
			Active: False
		}
	],
	Article: 
	{
		Id: 0,
		Name: String,
		ArticleTypeId: 0,
		Description: String,
		ImageUrl: String,
		Active: False,
		Amount: 0,
		Price: 0,
		CurrencyId: String,
		Services: 
		[
			{
				Id: 0,
				ServiceId: 0,
				ArticleId: 0
			}
		],
		ServiceIds: 
		[
			0
		],
		PriceSign: String,
		VAT: 0
	},
	Transactions: 
	[
		{
			Id: 0,
			Note: String,
			RebateCodeId: 0,
			RebateCodeSign: String,
			RebateCodeTypeId: 0,
			RebateCodeTypeName: String,
			Amount: 0,
			Usage: String,
			BookingId: 0,
			Service: 
			{
				Id: 0,
				Name: String,
				Description: String,
				Active: False
			},
			Customer: 
			{
				Firstname: String,
				Lastname: String,
				Email: String,
				Phone: String,
				ImageUrl: String
			},
			PriceSign: String
		}
	],
	RemainingAmount: 0,
	RemainingUsage: 0,
	Customers: 
	[
		{
			Firstname: String,
			Lastname: String,
			Email: String,
			Phone: String,
			ImageUrl: String
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	PaymentReceived: False,
	RebateCodeCurrencySign: String,
	ActiveByStatus: False,
	PriceSign: String,
	RebateCodeTypeName: String,
	Company: 
	{
		SitePath: String,
		PaymentProviderId: 0
	}
}