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


export class NodeParameterMap
{
    [key:string] : NodeParameter;

    public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}


export class EntityInfo
{
    /** @description The ID of the object */
    // @ApiMember(Description="The ID of the object")
    public id: string;

    /** @description The date the object was created */
    // @ApiMember(Description="The date the object was created")
    public dateCreated: string;

    /** @description The date the object was last modified */
    // @ApiMember(Description="The date the object was last modified")
    public dateLastModified: string;

    /** @description The user that created this object */
    // @ApiMember(Description="The user that created this object")
    public createdBy: string;

    /** @description The user that last modified this object */
    // @ApiMember(Description="The user that last modified this object")
    public lastModifiedBy: string;

    public constructor(init?: Partial<EntityInfo>) { (Object as any).assign(this, init); }
}

export enum AlertTriggers
{
    CallSpend = 'CallSpend',
}

export class AlertInfo extends EntityInfo
{
    /** @description The ID of the account associated with this alert */
    // @ApiMember(Description="The ID of the account associated with this alert")
    public accountId: string;

    /** @description The name of the alert */
    // @ApiMember(Description="The name of the alert")
    public name: string;

    /** @description The trigger alert */
    // @ApiMember(Description="The trigger alert")
    public trigger: AlertTriggers;

    /** @description 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")
    public windowHours: number;

    /** @description The value at which the alert will trigger */
    // @ApiMember(Description="The value at which the alert will trigger")
    public threshold: number;

    /** @description The email addresses (one per line) to notify */
    // @ApiMember(Description="The email addresses (one per line) to notify")
    public notificationEmailAddresses: string;

    public constructor(init?: Partial<AlertInfo>) { super(init); (Object as any).assign(this, init); }
}

/** @description Creates a new alert */
// @Api(Description="Creates a new alert")
export class NewAlert implements IPost
{
    /** @description The account ID to associate this alert with */
    // @ApiMember(Description="The account ID to associate this alert with")
    public accountId: string;

    /** @description The name of the alert */
    // @ApiMember(Description="The name of the alert")
    public name: string;

    /** @description The trigger alert */
    // @ApiMember(Description="The trigger alert")
    public trigger: AlertTriggers;

    /** @description 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")
    public windowHours: number;

    /** @description The value at which the alert will trigger */
    // @ApiMember(Description="The value at which the alert will trigger")
    public threshold: number;

    /** @description The email addresses (one per line) to notify */
    // @ApiMember(Description="The email addresses (one per line) to notify")
    public notificationEmailAddresses: string;

    public constructor(init?: Partial<NewAlert>) { (Object as any).assign(this, init); }
}

TypeScript NewAlert 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.

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

{"accountId":"String","name":"String","trigger":"CallSpend","windowHours":0,"threshold":0,"notificationEmailAddresses":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
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"}