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
"use strict";
export class EntityInfo {
    /** @param {{id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The ID of the object */
    id;
    /**
     * @type {string}
     * @description The date the object was created */
    dateCreated;
    /**
     * @type {string}
     * @description The date the object was last modified */
    dateLastModified;
    /**
     * @type {string}
     * @description The user that created this object */
    createdBy;
    /**
     * @type {string}
     * @description The user that last modified this object */
    lastModifiedBy;
}
/** @typedef {'CallSpend'} */
export var AlertTriggers;
(function (AlertTriggers) {
    AlertTriggers["CallSpend"] = "CallSpend"
})(AlertTriggers || (AlertTriggers = {}));
export class AlertInfo extends EntityInfo {
    /** @param {{accountId?:string,name?:string,trigger?:AlertTriggers,windowHours?:number,threshold?:number,notificationEmailAddresses?:string,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {string}
     * @description The ID of the account associated with this alert */
    accountId;
    /**
     * @type {string}
     * @description The name of the alert */
    name;
    /**
     * @type {AlertTriggers}
     * @description The trigger alert */
    trigger;
    /**
     * @type {number}
     * @description The number of hours for the window over which the alert will trigger */
    windowHours;
    /**
     * @type {number}
     * @description The value at which the alert will trigger */
    threshold;
    /**
     * @type {string}
     * @description The email addresses (one per line) to notify */
    notificationEmailAddresses;
}
export class NewAlert {
    /** @param {{accountId?:string,name?:string,trigger?:AlertTriggers,windowHours?:number,threshold?:number,notificationEmailAddresses?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The account ID to associate this alert with */
    accountId;
    /**
     * @type {string}
     * @description The name of the alert */
    name;
    /**
     * @type {AlertTriggers}
     * @description The trigger alert */
    trigger;
    /**
     * @type {number}
     * @description The number of hours for the window over which the alert will trigger */
    windowHours;
    /**
     * @type {number}
     * @description The value at which the alert will trigger */
    threshold;
    /**
     * @type {string}
     * @description The email addresses (one per line) to notify */
    notificationEmailAddresses;
}

JavaScript 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
}