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. |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
namespace BokaMera.API.ServiceModel.Dtos
{
public partial class NewsletterCustomerInfo
{
public virtual Guid Id { get; set; }
public virtual string Firstname { get; set; }
public virtual string Lastname { get; set; }
public virtual string Email { get; set; }
public virtual string Phone { get; set; }
public virtual string FacebookUserName { get; set; }
public virtual Uri ImageUrl { get; set; }
}
[ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)]
[ValidateRequest("IsAuthenticated")]
public partial class NewsletterCustomerQuery
: ICompany
{
public NewsletterCustomerQuery()
{
BookedServiceIds = new int[]{};
}
///<summary>
///The company id, if empty will use the company id for the user you are logged in with.
///</summary>
[ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")]
public virtual Guid? CompanyId { get; set; }
///<summary>
///Search for customer has done minimum number of bookings.
///</summary>
[ApiMember(Description="Search for customer has done minimum number of bookings.")]
public virtual int? CustomerMinBookings { get; set; }
///<summary>
///Search for customer has done maximum number of bookings.
///</summary>
[ApiMember(Description="Search for customer has done maximum number of bookings.")]
public virtual int? CustomerMaxBookings { get; set; }
///<summary>
///Search for customer has booked any of the service in the list (List contain service id's).
///</summary>
[ApiMember(Description="Search for customer has booked any of the service in the list (List contain service id's).")]
public virtual int[] BookedServiceIds { get; set; }
///<summary>
///Search interval From datetime .
///</summary>
[ApiMember(Description="Search interval From datetime .")]
public virtual DateTime? From { get; set; }
///<summary>
///Search interval To datetime .
///</summary>
[ApiMember(Description="Search interval To datetime .")]
public virtual DateTime? To { get; set; }
///<summary>
///The max number of records you want to collect
///</summary>
[ApiMember(Description="The max number of records you want to collect")]
public virtual int? MaxRecords { get; set; }
///<summary>
///If you want to include the full customer information in the response
///</summary>
[ApiMember(Description="If you want to include the full customer information in the response")]
public virtual bool IncludeCustomerInformation { get; set; }
}
public partial class NewsletterCustomerQueryResponse
{
public virtual Guid Id { get; set; }
public virtual NewsletterCustomerInfo Customer { get; set; }
}
}
C# 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"}}