Evo Voice

<back to all web services

ListAutoCompleteValues

Requires Authentication
The following routes are available for this service:
All Verbs/ui/autocomplete/values
namespace Voice.Api.Flows.Data

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type AutoCompleteValue() = 
        ///<summary>
        ///Display name
        ///</summary>
        [<ApiMember(Description="Display name")>]
        member val DisplayName:String = null with get,set

        ///<summary>
        ///Value
        ///</summary>
        [<ApiMember(Description="Value")>]
        member val Value:String = null with get,set

    [<AllowNullLiteral>]
    type ListAutoCompleteValuesResponse() = 
        member val Values:ResizeArray<AutoCompleteValue> = new ResizeArray<AutoCompleteValue>() with get,set

    type ValueTypes =
        | NotSpecified = 0
        | String = 1
        | Boolean = 2
        | Number = 3
        | List = 4
        | Struct = 5
        | Transition = 6
        | Custom = 7
        | Date = 8
        | AudioFile = 9
        | TimeZoneId = 10
        | PhoneNumber = 11
        | User = 12
        | Endpoint = 13
        | Time = 14
        | File = 15
        | FaxNumber = 16
        | EmailAccount = 17
        | Customer = 18
        | Flow = 19
        | Team = 20
        | FlowReference = 21
        | Integration = 22

    [<AllowNullLiteral>]
    type ListAutoCompleteValues() = 
        ///<summary>
        ///Account ID
        ///</summary>
        [<ApiMember(Description="Account ID")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///Filter by customer ID
        ///</summary>
        [<ApiMember(Description="Filter by customer ID")>]
        member val CustomerId:String = null with get,set

        ///<summary>
        ///The type of value
        ///</summary>
        [<ApiMember(Description="The type of value")>]
        member val Type:ValueTypes = new ValueTypes() with get,set

        ///<summary>
        ///The query text to search for
        ///</summary>
        [<ApiMember(Description="The query text to search for")>]
        member val Query:String = null with get,set

        ///<summary>
        ///Type specific filter
        ///</summary>
        [<ApiMember(Description="Type specific filter")>]
        member val TypeSpecificFilter:String = null with get,set

        ///<summary>
        ///The value to search for (will only return one result)
        ///</summary>
        [<ApiMember(Description="The value to search for (will only return one result)")>]
        member val Value:String = null with get,set

        ///<summary>
        ///Should the results be sent back in plain text or with embedded HTML?
        ///</summary>
        [<ApiMember(Description="Should the results be sent back in plain text or with embedded HTML?")>]
        member val PlainText:Boolean = new Boolean() with get,set

        ///<summary>
        ///Include full info?
        ///</summary>
        [<ApiMember(Description="Include full info?")>]
        member val FullInfo:Boolean = new Boolean() with get,set

        ///<summary>
        ///List all values, only use for small lists.
        ///</summary>
        [<ApiMember(Description="List all values, only use for small lists.")>]
        member val All:Boolean = new Boolean() with get,set

F# ListAutoCompleteValues 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 /ui/autocomplete/values HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	customerId: String,
	type: NotSpecified,
	query: String,
	typeSpecificFilter: String,
	value: String,
	plainText: False,
	fullInfo: False,
	all: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	values: 
	[
		{
			displayName: String,
			value: String
		}
	]
}