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. |
---|
namespace BokaMera.API.ServiceModel.Dtos
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type NewsletterCustomerInfo() =
member val Id:Guid = new Guid() with get,set
member val Firstname:String = null with get,set
member val Lastname:String = null with get,set
member val Email:String = null with get,set
member val Phone:String = null with get,set
member val FacebookUserName:String = null with get,set
member val ImageUrl:Uri = null with get,set
[<AllowNullLiteral>]
type NewsletterCustomerQueryResponse() =
member val Id:Guid = new Guid() with get,set
member val Customer:NewsletterCustomerInfo = null with get,set
[<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
[<ValidateRequest(Validator="IsAuthenticated")>]
[<AllowNullLiteral>]
type NewsletterCustomerQuery() =
///<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.")>]
member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set
///<summary>
///Search for customer has done minimum number of bookings.
///</summary>
[<ApiMember(Description="Search for customer has done minimum number of bookings.")>]
member val CustomerMinBookings:Nullable<Int32> = new Nullable<Int32>() with get,set
///<summary>
///Search for customer has done maximum number of bookings.
///</summary>
[<ApiMember(Description="Search for customer has done maximum number of bookings.")>]
member val CustomerMaxBookings:Nullable<Int32> = new Nullable<Int32>() with 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).")>]
member val BookedServiceIds:Int32[] = [||] with get,set
///<summary>
///Search interval From datetime .
///</summary>
[<ApiMember(Description="Search interval From datetime .")>]
member val From:Nullable<DateTime> = new Nullable<DateTime>() with get,set
///<summary>
///Search interval To datetime .
///</summary>
[<ApiMember(Description="Search interval To datetime .")>]
member val To:Nullable<DateTime> = new Nullable<DateTime>() with get,set
///<summary>
///The max number of records you want to collect
///</summary>
[<ApiMember(Description="The max number of records you want to collect")>]
member val MaxRecords:Nullable<Int32> = new Nullable<Int32>() with 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")>]
member val IncludeCustomerInformation:Boolean = new Boolean() with get,set
F# NewsletterCustomerQuery DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=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: api.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"}}