POST | /rebatecodes/fromarticle | Create RebateCode. | Create RebateCode. |
---|
"use strict";
export class DaysOfWeekResponse {
/** @param {{Id?:number,DayOfWeek?:string,DayOfWeekTranslation?:string,DayOfWeekActive?:boolean,DayOfWeekSortOrder?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
DayOfWeek;
/** @type {string} */
DayOfWeekTranslation;
/** @type {?boolean} */
DayOfWeekActive;
/** @type {?number} */
DayOfWeekSortOrder;
}
export class RebateCodeServiceResponse {
/** @param {{Id?:number,Name?:string,Description?:string,Active?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {boolean} */
Active;
}
export class BaseModel {
constructor(init) { Object.assign(this, init) }
}
export class ArticleServiceRelation extends BaseModel {
/** @param {{CompanyId?:string,Id?:number,ServiceId?:number,ArticleId?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {number} */
ServiceId;
/** @type {number} */
ArticleId;
}
export class ArticleResponse {
/** @param {{CompanyId?:string,Id?:number,Name?:string,ArticleTypeId?:number,Description?:string,ImageUrl?:string,Active?:boolean,Amount?:number,Price?:number,CurrencyId?:string,UpdatedDate?:string,CreatedDate?:string,Services?:ArticleServiceRelation[],ServiceIds?:number[],PriceSign?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {number} */
ArticleTypeId;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {boolean} */
Active;
/** @type {number} */
Amount;
/** @type {number} */
Price;
/** @type {string} */
CurrencyId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {ArticleServiceRelation[]} */
Services;
/** @type {number[]} */
ServiceIds;
/** @type {string} */
PriceSign;
}
export class RebateCodeCustomerResponse {
/** @param {{Id?:string,Firstname?:string,Lastname?:string,Email?:string,Phone?:string,ImageUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {string} */
Firstname;
/** @type {string} */
Lastname;
/** @type {string} */
Email;
/** @type {string} */
Phone;
/** @type {string} */
ImageUrl;
}
export class RebateCodeTransactionQueryResponse {
/** @param {{Id?:number,CompanyId?:string,Note?:string,RebateCodeId?:number,RebateCodeSign?:string,RebateCodeTypeId?:number,RebateCodeTypeName?:string,Amount?:number,BookingId?:number,UpdatedDate?:string,CreatedDate?:string,Service?:RebateCodeServiceResponse,Customer?:RebateCodeCustomerResponse,PriceSign?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
CompanyId;
/** @type {string} */
Note;
/** @type {number} */
RebateCodeId;
/** @type {string} */
RebateCodeSign;
/** @type {?number} */
RebateCodeTypeId;
/** @type {string} */
RebateCodeTypeName;
/** @type {number} */
Amount;
/** @type {?number} */
BookingId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {RebateCodeServiceResponse} */
Service;
/** @type {RebateCodeCustomerResponse} */
Customer;
/** @type {string} */
PriceSign;
}
export class RebateCodeResponse {
/** @param {{Id?:number,CompanyId?:string,ValidFrom?:string,ValidTo?:string,FromTime?:string,ToTime?:string,CreatedBy?:string,Created?:string,UpdatedBy?:string,Updated?:string,PersonalNote?:string,RebateCodeSign?:string,RebateCodeValue?:number,RebateCodeTypeId?:number,Name?:string,RebateCodeStatusId?:number,StatusName?:string,MaxNumberOfUses?:number,MaxNumberOfUsesPerCustomer?:number,NumberOfUsesUsed?:number,DaysOfWeek?:DaysOfWeekResponse[],Services?:RebateCodeServiceResponse[],Article?:ArticleResponse,Transactions?:RebateCodeTransactionQueryResponse[],RemainingAmount?:number,RemainingUsage?:number,Customers?:RebateCodeCustomerResponse[],ResponseStatus?:ResponseStatus,PaymentReceived?:boolean,RebateCodeCurrencySign?:string,ActiveByStatus?:boolean,PriceSign?:string,RebateCodeTypeName?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {?string} */
CompanyId;
/** @type {string} */
ValidFrom;
/** @type {string} */
ValidTo;
/**
* @type {string}
* @description If 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. */
FromTime;
/**
* @type {string}
* @description If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. */
ToTime;
/** @type {string} */
CreatedBy;
/** @type {string} */
Created;
/** @type {string} */
UpdatedBy;
/** @type {string} */
Updated;
/** @type {string} */
PersonalNote;
/** @type {string} */
RebateCodeSign;
/** @type {number} */
RebateCodeValue;
/** @type {number} */
RebateCodeTypeId;
/** @type {string} */
Name;
/** @type {number} */
RebateCodeStatusId;
/** @type {string} */
StatusName;
/** @type {number} */
MaxNumberOfUses;
/** @type {number} */
MaxNumberOfUsesPerCustomer;
/** @type {number} */
NumberOfUsesUsed;
/** @type {DaysOfWeekResponse[]} */
DaysOfWeek;
/** @type {RebateCodeServiceResponse[]} */
Services;
/** @type {ArticleResponse} */
Article;
/** @type {RebateCodeTransactionQueryResponse[]} */
Transactions;
/** @type {?number} */
RemainingAmount;
/** @type {?number} */
RemainingUsage;
/** @type {RebateCodeCustomerResponse[]} */
Customers;
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {boolean} */
PaymentReceived;
/** @type {string} */
RebateCodeCurrencySign;
/** @type {boolean} */
ActiveByStatus;
/** @type {string} */
PriceSign;
/** @type {string} */
RebateCodeTypeName;
}
export class CustomerToHandle {
/** @param {{CustomerId?:string,Firstname?:string,Lastname?:string,Email?:string,Phone?:string,SubscribedToNewsletter?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
CustomerId;
/** @type {string} */
Firstname;
/** @type {string} */
Lastname;
/** @type {string} */
Email;
/** @type {string} */
Phone;
/** @type {boolean} */
SubscribedToNewsletter;
}
export class PromoCodeReceiver {
/** @param {{CustomerId?:string,Firstname?:string,Lastname?:string,Email?:string,ReceiverMessage?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
CustomerId;
/** @type {string} */
Firstname;
/** @type {string} */
Lastname;
/** @type {string} */
Email;
/** @type {string} */
ReceiverMessage;
}
export class CreateArticleRebateCode {
/** @param {{CompanyId?:string,ArticleId?:number,Customer?:CustomerToHandle,Receiver?:PromoCodeReceiver}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
CompanyId;
/**
* @type {number}
* @description Article ID for the rebate code */
ArticleId;
/**
* @type {CustomerToHandle}
* @description Customer infomration */
Customer;
/**
* @type {PromoCodeReceiver}
* @description Promo code Receiver information */
Receiver;
}
JavaScript CreateArticleRebateCode DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /rebatecodes/fromarticle HTTP/1.1
Host: api.bokamera.se
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","ArticleId":0,"Customer":{"CustomerId":"00000000-0000-0000-0000-000000000000","Firstname":"String","Lastname":"String","Email":"String","Phone":"String","SubscribedToNewsletter":false},"Receiver":{"CustomerId":"00000000-0000-0000-0000-000000000000","Firstname":"String","Lastname":"String","Email":"String","ReceiverMessage":"String"}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Id":0,"CompanyId":"00000000-0000-0000-0000-000000000000","FromTime":"00:00:00","ToTime":"00:00:00","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"},"Transactions":[{"Id":0,"Note":"String","RebateCodeId":0,"RebateCodeSign":"String","RebateCodeTypeId":0,"RebateCodeTypeName":"String","Amount":0,"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"}