Requires any of the roles: | bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read |
GET | /newsletter/customers | Get all customers that are valid for sending newsletters to. | Get all customers that are valid for sending newsletters to. |
---|
export class NewsletterCustomerInfo
{
public Id: string;
public Firstname: string;
public Lastname: string;
public Email: string;
public Phone: string;
public FacebookUserName: string;
public ImageUrl: string;
public constructor(init?: Partial<NewsletterCustomerInfo>) { (Object as any).assign(this, init); }
}
export class NewsletterCustomerQueryResponse
{
public Id: string;
public Customer: NewsletterCustomerInfo;
public constructor(init?: Partial<NewsletterCustomerQueryResponse>) { (Object as any).assign(this, init); }
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
export class NewsletterCustomerQuery implements ICompany
{
/** @description The company id, if empty will use the company id for the user you are logged in with. */
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public CompanyId?: string;
/** @description Search for customer has done minimum number of bookings. */
// @ApiMember(Description="Search for customer has done minimum number of bookings.")
public CustomerMinBookings?: number;
/** @description Search for customer has done maximum number of bookings. */
// @ApiMember(Description="Search for customer has done maximum number of bookings.")
public CustomerMaxBookings?: number;
/** @description Search for customer has booked any of the service in the list (List contain service id's). */
// @ApiMember(Description="Search for customer has booked any of the service in the list (List contain service id's).")
public BookedServiceIds: number[];
/** @description Search interval From datetime . */
// @ApiMember(Description="Search interval From datetime .")
public From?: string;
/** @description Search interval To datetime . */
// @ApiMember(Description="Search interval To datetime .")
public To?: string;
/** @description The max number of records you want to collect */
// @ApiMember(Description="The max number of records you want to collect")
public MaxRecords?: number;
/** @description If you want to include the full customer information in the response */
// @ApiMember(Description="If you want to include the full customer information in the response")
public IncludeCustomerInformation: boolean;
public constructor(init?: Partial<NewsletterCustomerQuery>) { (Object as any).assign(this, init); }
}
TypeScript NewsletterCustomerQuery 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.
GET /newsletter/customers HTTP/1.1 Host: api.bokamera.se Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Customer":{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","FacebookUserName":"String"}}