Evo Voice

<back to all web services

NewAlert

Creates a new alert

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
POST/alerts
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


/**
* Creates a new alert
*/
@Api(Description="Creates a new alert")
open class NewAlert : IPost
{
    /**
    * The account ID to associate this alert with
    */
    @ApiMember(Description="The account ID to associate this alert with")
    open var accountId:String? = null

    /**
    * The name of the alert
    */
    @ApiMember(Description="The name of the alert")
    open var name:String? = null

    /**
    * The trigger alert
    */
    @ApiMember(Description="The trigger alert")
    open var trigger:AlertTriggers? = null

    /**
    * The number of hours for the window over which the alert will trigger
    */
    @ApiMember(Description="The number of hours for the window over which the alert will trigger")
    open var windowHours:Double? = null

    /**
    * The value at which the alert will trigger
    */
    @ApiMember(Description="The value at which the alert will trigger")
    open var threshold:Double? = null

    /**
    * The email addresses (one per line) to notify
    */
    @ApiMember(Description="The email addresses (one per line) to notify")
    open var notificationEmailAddresses:String? = null
}

enum class AlertTriggers
{
    CallSpend,
}

open class AlertInfo : EntityInfo()
{
    /**
    * The ID of the account associated with this alert
    */
    @ApiMember(Description="The ID of the account associated with this alert")
    open var accountId:String? = null

    /**
    * The name of the alert
    */
    @ApiMember(Description="The name of the alert")
    open var name:String? = null

    /**
    * The trigger alert
    */
    @ApiMember(Description="The trigger alert")
    open var trigger:AlertTriggers? = null

    /**
    * The number of hours for the window over which the alert will trigger
    */
    @ApiMember(Description="The number of hours for the window over which the alert will trigger")
    open var windowHours:Double? = null

    /**
    * The value at which the alert will trigger
    */
    @ApiMember(Description="The value at which the alert will trigger")
    open var threshold:Double? = null

    /**
    * The email addresses (one per line) to notify
    */
    @ApiMember(Description="The email addresses (one per line) to notify")
    open var notificationEmailAddresses:String? = null
}

open class EntityInfo
{
    /**
    * The ID of the object
    */
    @ApiMember(Description="The ID of the object")
    open var id:String? = null

    /**
    * The date the object was created
    */
    @ApiMember(Description="The date the object was created")
    open var dateCreated:String? = null

    /**
    * The date the object was last modified
    */
    @ApiMember(Description="The date the object was last modified")
    open var dateLastModified:String? = null

    /**
    * The user that created this object
    */
    @ApiMember(Description="The user that created this object")
    open var createdBy:String? = null

    /**
    * The user that last modified this object
    */
    @ApiMember(Description="The user that last modified this object")
    open var lastModifiedBy:String? = null
}

Kotlin NewAlert DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /alerts HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	name: String,
	trigger: CallSpend,
	windowHours: 0,
	threshold: 0,
	notificationEmailAddresses: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	name: String,
	trigger: CallSpend,
	windowHours: 0,
	threshold: 0,
	notificationEmailAddresses: String,
	id: String,
	dateCreated: String,
	dateLastModified: String,
	createdBy: String,
	lastModifiedBy: String
}