Evo Voice

<back to all web services

RestartFlow

Restarts the current flow

The following routes are available for this service:
All Verbs/flows/restart
import java.math.*
import java.util.*
import net.servicestack.client.*


/**
* Restarts the current flow
*/
@Api(Description="Restarts the current flow")
open class RestartFlow
{
    /**
    * The ID of the session
    */
    @ApiMember(Description="The ID of the session")
    var sessionId:String? = null
}

open class HttpResult
{
    var responseText:String? = null
    var responseStream:InputStream? = null
    var fileInfo:FileInfo? = null
    var virtualFile:IVirtualFile? = null
    var contentType:String? = null
    var headers:HashMap<String,String> = HashMap<String,String>()
    var cookies:ArrayList<Cookie> = ArrayList<Cookie>()
    var eTag:String? = null
    var age:TimeSpan? = null
    var maxAge:TimeSpan? = null
    var expires:Date? = null
    var lastModified:Date? = null
    var cacheControl:CacheControl? = null
    var resultScope:Func<IDisposable>? = null
    var allowsPartialResponse:Boolean? = null
    var options:HashMap<String,String> = HashMap<String,String>()
    var status:Int? = null
    var statusCode:HttpStatusCode? = null
    var statusDescription:String? = null
    var response:Object? = null
    var responseFilter:IContentTypeWriter? = null
    var requestContext:IRequest? = null
    var view:String? = null
    var template:String? = null
    var paddingLength:Int? = null
    var isPartialRequest:Boolean? = null
}

open interface IVirtualFile
{
    var virtualPathProvider:IVirtualPathProvider?
    var extension:String?
    var length:Long?
}

open interface IVirtualPathProvider
{
    var rootDirectory:IVirtualDirectory?
    var virtualPathSeparator:String?
    var realPathSeparator:String?
}

open interface IVirtualDirectory
{
}

@Flags()
enum class CacheControl(val value:Int)
{
    @SerializedName("0") None(0),
    @SerializedName("1") Public(1),
    @SerializedName("2") Private(2),
    @SerializedName("4") MustRevalidate(4),
    @SerializedName("8") NoCache(8),
    @SerializedName("16") NoStore(16),
    @SerializedName("32") NoTransform(32),
    @SerializedName("64") ProxyRevalidate(64),
}

open interface IContentTypeWriter
{
}

open interface IRequest
{
    var originalRequest:Object?
    var response:IResponse?
    var operationName:String?
    var verb:String?
    var requestAttributes:RequestAttributes?
    var requestPreferences:IRequestPreferences?
    var dto:Object?
    var contentType:String?
    var isLocal:Boolean?
    var userAgent:String?
    var cookies:HashMap<String,Cookie>?
    var responseContentType:String?
    var hasExplicitResponseContentType:Boolean?
    var items:HashMap<String,Object>?
    var headers:NameValueCollection?
    var queryString:NameValueCollection?
    var formData:NameValueCollection?
    var useBufferedStream:Boolean?
    var rawUrl:String?
    var absoluteUri:String?
    var userHostAddress:String?
    var remoteIp:String?
    var authorization:String?
    var isSecureConnection:Boolean?
    var acceptTypes:ArrayList<String>?
    var pathInfo:String?
    var originalPathInfo:String?
    var inputStream:InputStream?
    var contentLength:Long?
    var files:ArrayList<IHttpFile>?
    var urlReferrer:Uri?
}

open interface IResponse
{
    var originalResponse:Object?
    var request:IRequest?
    var statusCode:Int?
    var statusDescription:String?
    var contentType:String?
    var outputStream:InputStream?
    var dto:Object?
    var useBufferedStream:Boolean?
    var isClosed:Boolean?
    var keepAlive:Boolean?
    var hasStarted:Boolean?
    var items:HashMap<String,Object>?
}

@Flags()
enum class RequestAttributes(val value:Int)
{
    @SerializedName("0") None(0),
    @SerializedName("1") Localhost(1),
    @SerializedName("2") LocalSubnet(2),
    @SerializedName("4") External(4),
    @SerializedName("8") Secure(8),
    @SerializedName("16") InSecure(16),
    @SerializedName("24") AnySecurityMode(24),
    @SerializedName("32") HttpHead(32),
    @SerializedName("64") HttpGet(64),
    @SerializedName("128") HttpPost(128),
    @SerializedName("256") HttpPut(256),
    @SerializedName("512") HttpDelete(512),
    @SerializedName("1024") HttpPatch(1024),
    @SerializedName("2048") HttpOptions(2048),
    @SerializedName("4096") HttpOther(4096),
    @SerializedName("8160") AnyHttpMethod(8160),
    @SerializedName("8192") OneWay(8192),
    @SerializedName("16384") Reply(16384),
    @SerializedName("24576") AnyCallStyle(24576),
    @SerializedName("32768") Soap11(32768),
    @SerializedName("65536") Soap12(65536),
    @SerializedName("131072") Xml(131072),
    @SerializedName("262144") Json(262144),
    @SerializedName("524288") Jsv(524288),
    @SerializedName("1048576") ProtoBuf(1048576),
    @SerializedName("2097152") Csv(2097152),
    @SerializedName("4194304") Html(4194304),
    @SerializedName("8388608") Wire(8388608),
    @SerializedName("16777216") MsgPack(16777216),
    @SerializedName("33554432") FormatOther(33554432),
    @SerializedName("67076096") AnyFormat(67076096),
    @SerializedName("67108864") Http(67108864),
    @SerializedName("134217728") MessageQueue(134217728),
    @SerializedName("268435456") Tcp(268435456),
    @SerializedName("536870912") Grpc(536870912),
    @SerializedName("1073741824") EndpointOther(1073741824),
    @SerializedName("2080374784") AnyEndpoint(2080374784),
    @SerializedName("-2147483648") InProcess(-2147483648),
    @SerializedName("-2147483645") InternalNetworkAccess(-2147483645),
    @SerializedName("-2147483641") AnyNetworkAccessType(-2147483641),
    @SerializedName("-1") Any(-1),
}

open interface IRequestPreferences
{
    var acceptsBrotli:Boolean?
    var acceptsDeflate:Boolean?
    var acceptsGzip:Boolean?
}

open interface IHttpFile
{
    var name:String?
    var fileName:String?
    var contentLength:Long?
    var contentType:String?
    var inputStream:InputStream?
}

Kotlin RestartFlow DTOs

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

HTTP + XML

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

POST /flows/restart HTTP/1.1 
Host: evovoice.io 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<RestartFlow xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows">
  <SessionId>String</SessionId>
</RestartFlow>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CustomHttpResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types" />