| Required role: | Admin |
| PUT | /SurveyCampaign |
|---|
namespace TicketUserServices.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type SurveyCampaign() =
member val ID:Int32 = new Int32() with get,set
[<StringLength(200)>]
member val Name:String = null with get,set
[<StringLength(16)>]
member val Status:String = null with get,set
[<StringLength(300)>]
member val Subject:String = null with get,set
[<StringLength(Int32.MaxValue)>]
member val BodyHtml:String = null with get,set
[<StringLength(300)>]
member val ReminderSubject:String = null with get,set
[<StringLength(Int32.MaxValue)>]
member val ReminderBodyHtml:String = null with get,set
[<StringLength(320)>]
member val FromEmail:String = null with get,set
[<StringLength(200)>]
member val FromName:String = null with get,set
[<StringLength(8)>]
member val Language:String = null with get,set
member val ReminderAfterDays:Int32 = new Int32() with get,set
member val MaxReminders:Int32 = new Int32() with get,set
member val CreatedAt:DateTime = new DateTime() with get,set
member val SentAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ClosedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type SurveyCampaignStats() =
member val Recipients:Int32 = new Int32() with get,set
member val Pending:Int32 = new Int32() with get,set
member val Queued:Int32 = new Int32() with get,set
member val Sent:Int32 = new Int32() with get,set
member val Bounced:Int32 = new Int32() with get,set
member val Rejected:Int32 = new Int32() with get,set
member val Opened:Int32 = new Int32() with get,set
member val Clicked:Int32 = new Int32() with get,set
member val Responded:Int32 = new Int32() with get,set
member val RemindersSent:Int32 = new Int32() with get,set
member val DueForReminder:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type SurveyCampaignResult() =
member val Item:SurveyCampaign = null with get,set
member val Stats:SurveyCampaignStats = null with get,set
member val StatusCode:Int32 = new Int32() with get,set
member val Message:String = null with get,set
[<AllowNullLiteral>]
type SurveyCampaignUpdateRequest() =
member val Item:SurveyCampaign = null with get,set
F# SurveyCampaignUpdateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /SurveyCampaign HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
item:
{
id: 0,
name: String,
status: String,
subject: String,
bodyHtml: String,
reminderSubject: String,
reminderBodyHtml: String,
fromEmail: String,
fromName: String,
language: String,
reminderAfterDays: 0,
maxReminders: 0,
createdAt: 0001-01-01,
sentAt: 0001-01-01,
closedAt: 0001-01-01
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
item:
{
id: 0,
name: String,
status: String,
subject: String,
bodyHtml: String,
reminderSubject: String,
reminderBodyHtml: String,
fromEmail: String,
fromName: String,
language: String,
reminderAfterDays: 0,
maxReminders: 0,
createdAt: 0001-01-01,
sentAt: 0001-01-01,
closedAt: 0001-01-01
},
stats:
{
recipients: 0,
pending: 0,
queued: 0,
sent: 0,
bounced: 0,
rejected: 0,
opened: 0,
clicked: 0,
responded: 0,
remindersSent: 0,
dueForReminder: 0
},
statusCode: 0,
message: String
}