BokaMera.API.Host

<back to all web services

NewsletterCustomerQuery

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read
The following routes are available for this service:
GET/newsletter/customersGet 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 .other suffix or ?format=other

HTTP + OTHER

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: testapi.bokamera.se 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Customer":{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","FacebookUserName":"String"}}