Evo Voice

<back to all web services

ApplyAISession

Applies all changes for the specified session

Requires Authentication
Requires the role:SystemAdministrator
The following routes are available for this service:
POST/ai/sessions/{sessionId}/apply
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.AI;
using Voice.Api;

namespace Voice.Api
{
    public partial class EntityInfo
    {
        ///<summary>
        ///The ID of the object
        ///</summary>
        [ApiMember(Description="The ID of the object")]
        public virtual string Id { get; set; }

        ///<summary>
        ///The date the object was created
        ///</summary>
        [ApiMember(Description="The date the object was created")]
        public virtual string DateCreated { get; set; }

        ///<summary>
        ///The date the object was last modified
        ///</summary>
        [ApiMember(Description="The date the object was last modified")]
        public virtual string DateLastModified { get; set; }

        ///<summary>
        ///The user that created this object
        ///</summary>
        [ApiMember(Description="The user that created this object")]
        public virtual string CreatedBy { get; set; }

        ///<summary>
        ///The user that last modified this object
        ///</summary>
        [ApiMember(Description="The user that last modified this object")]
        public virtual string LastModifiedBy { get; set; }
    }

}

namespace Voice.Api.AI
{
    public partial class AISessionActionInfo
    {
        public virtual string Date { get; set; }
        public virtual string Id { get; set; }
        public virtual string FunctionName { get; set; }
        public virtual string Arguments { get; set; }
        public virtual string Description { get; set; }
        public virtual bool CanBeApplied { get; set; }
    }

    public partial class AISessionInfo
        : EntityInfo
    {
        ///<summary>
        ///The ID of the account associated with this session
        ///</summary>
        [ApiMember(Description="The ID of the account associated with this session")]
        public virtual string AccountId { get; set; }

        ///<summary>
        ///The name of the account associated with this customer
        ///</summary>
        [ApiMember(Description="The name of the account associated with this customer")]
        public virtual string AccountName { get; set; }

        ///<summary>
        ///The purpose for this AI session
        ///</summary>
        [ApiMember(Description="The purpose for this AI session")]
        public virtual string Purpose { get; set; }

        ///<summary>
        ///The actions performed in this session
        ///</summary>
        [ApiMember(Description="The actions performed in this session")]
        public virtual List<AISessionActionInfo> Actions { get; set; }
    }

    ///<summary>
    ///Applies all changes for the specified session
    ///</summary>
    [Api(Description="Applies all changes for the specified session")]
    public partial class ApplyAISession
        : IPost
    {
        ///<summary>
        ///The ID of the session to apply
        ///</summary>
        [ApiMember(Description="The ID of the session to apply")]
        public virtual string SessionId { get; set; }
    }

}

C# ApplyAISession 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 /ai/sessions/{sessionId}/apply HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	sessionId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	accountName: String,
	purpose: String,
	actions: 
	[
		{
			date: String,
			id: String,
			functionName: String,
			arguments: String,
			description: String,
			canBeApplied: False
		}
	],
	id: String,
	dateCreated: String,
	dateLastModified: String,
	createdBy: String,
	lastModifiedBy: String
}