Requires any of the roles: | SystemAdministrator, Manager, Customer |
GET | /flows/parameters |
---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
/**
* Gets the possible field names for a specified value source
*/
@Api(Description="Gets the possible field names for a specified value source")
open class GetParameterFieldNames : IGet
{
/**
* The account ID associated with the flow
*/
@ApiMember(Description="The account ID associated with the flow")
open var accountId:String? = null
/**
* Exclude built in fields like customer name
*/
@ApiMember(Description="Exclude built in fields like customer name")
open var excludeBuiltInFields:Boolean? = null
}
open class GetParameterFieldNamesResponse
{
open var customer:ArrayList<GetParameterField>? = null
open var system:ArrayList<GetParameterField>? = null
open var session:ArrayList<GetParameterField>? = null
open var endpoint:ArrayList<GetParameterField>? = null
open var user:ArrayList<GetParameterField>? = null
}
open class GetParameterField
{
open var fieldName:String? = null
open var valueType:ValueTypes? = null
open var field:DataField? = null
}
enum class ValueTypes
{
NotSpecified,
String,
Boolean,
Number,
List,
Struct,
Transition,
Custom,
Date,
AudioFile,
TimeZoneId,
PhoneNumber,
User,
Endpoint,
Time,
File,
FaxNumber,
EmailAccount,
Customer,
Flow,
Team,
FlowReference,
Integration,
Assistant,
}
open class DataField
{
open var id:String? = null
open var name:String? = null
@SerializedName("type") open var Type:ValueTypes? = null
open var uiHint:UIHints? = null
open var uiTab:String? = null
open var isAsync:Boolean? = null
open var disableBinding:Boolean? = null
open var structType:DataType? = null
open var listType:DataType? = null
open var description:String? = null
open var possibleValues:ArrayList<String>? = null
open var isOutput:Boolean? = null
open var customFieldValuesUrl:String? = null
open var defaultValue:Value? = null
open var transitionNameFormat:String? = null
open var uniqueness:DataFieldUniqueness? = null
open var voiceOnly:Boolean? = null
open var conditionalVisibilityField:String? = null
open var conditionalVisibilityValue:String? = null
open var noEvalTemplate:Boolean? = null
open var userMode:UserDataFieldModes? = null
open var anyValueType:Boolean? = null
}
enum class UIHints
{
None,
LargeText,
InlineForm,
Password,
InlineStruct,
}
open class DataType
{
open var typeName:String? = null
open var fields:ArrayList<DataField>? = null
}
open class Value
{
open var boolValue:Boolean? = null
open var stringValue:String? = null
open var numberValue:Double? = null
open var listValue:ArrayList<Struct>? = null
open var structValue:Struct? = null
}
open class Struct : HashMap<String,Value>()
{
}
enum class DataFieldUniqueness
{
NotUnique,
Unique,
UniqueToCustomer,
}
enum class UserDataFieldModes
{
Hidden,
ReadOnly,
ReadWrite,
}
Kotlin GetParameterFieldNames DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /flows/parameters HTTP/1.1 Host: team.evovoice.io Accept: application/json
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"customer":[{"fieldName":"String","valueType":"NotSpecified"}],"system":[{"fieldName":"String","valueType":"NotSpecified"}],"session":[{"fieldName":"String","valueType":"NotSpecified"}],"endpoint":[{"fieldName":"String","valueType":"NotSpecified"}],"user":[{"fieldName":"String","valueType":"NotSpecified"}]}