All Verbs | /nodes/queue/wait-callback |
---|
import Foundation
import ServiceStack
public class QueueNodeWaitCallback : TwilioRequestBase
{
public var waitMusic:[QueueWaitMusic] = []
public var queueName:String?
public var accountId:String?
public var sessionId:String?
public var recordingReady:String?
public var recordCall:Bool?
public var recordedFile:String?
public var recordedFileUrl:String?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case waitMusic
case queueName
case accountId
case sessionId
case recordingReady
case recordCall
case recordedFile
case recordedFileUrl
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
waitMusic = try container.decodeIfPresent([QueueWaitMusic].self, forKey: .waitMusic) ?? []
queueName = try container.decodeIfPresent(String.self, forKey: .queueName)
accountId = try container.decodeIfPresent(String.self, forKey: .accountId)
sessionId = try container.decodeIfPresent(String.self, forKey: .sessionId)
recordingReady = try container.decodeIfPresent(String.self, forKey: .recordingReady)
recordCall = try container.decodeIfPresent(Bool.self, forKey: .recordCall)
recordedFile = try container.decodeIfPresent(String.self, forKey: .recordedFile)
recordedFileUrl = try container.decodeIfPresent(String.self, forKey: .recordedFileUrl)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if waitMusic.count > 0 { try container.encode(waitMusic, forKey: .waitMusic) }
if queueName != nil { try container.encode(queueName, forKey: .queueName) }
if accountId != nil { try container.encode(accountId, forKey: .accountId) }
if sessionId != nil { try container.encode(sessionId, forKey: .sessionId) }
if recordingReady != nil { try container.encode(recordingReady, forKey: .recordingReady) }
if recordCall != nil { try container.encode(recordCall, forKey: .recordCall) }
if recordedFile != nil { try container.encode(recordedFile, forKey: .recordedFile) }
if recordedFileUrl != nil { try container.encode(recordedFileUrl, forKey: .recordedFileUrl) }
}
}
public class TwilioRequestBase : IPost, Codable
{
public var callSid:String?
public var accountSid:String?
public var from:String?
public var to:String?
public var callStatus:String?
public var apiVersion:String?
public var direction:String?
public var forwardedFrom:String?
public var callerName:String?
public var parentCallSid:String?
public var stirVerstat:String?
public var called:String?
public var calledZip:String?
public var calledCity:String?
public var calledState:String?
public var calledCountry:String?
public var caller:String?
public var callerCity:String?
public var callerState:String?
public var callerZip:String?
public var callerCountry:String?
public var fromCity:String?
public var fromState:String?
public var fromZip:String?
public var fromCountry:String?
public var toCity:String?
public var toState:String?
public var toZip:String?
public var toCountry:String?
public var messageSid:String?
public var smsId:String?
public var messagingServiceSid:String?
public var body:String?
public var numMedia:Int?
public var mediaContentType0:String?
public var mediaUrl0:String?
public var mediaContentType1:String?
public var mediaUrl1:String?
public var mediaContentType2:String?
public var mediaUrl2:String?
public var index:Int?
public var instanceSid:String?
public var eventType:String?
public var channelSid:String?
public var attributes:String?
public var clientIdentity:String?
public var mediaContentType:String?
public var mediaSid:String?
public var identity:String?
public var digits:String?
public var speechResult:String?
public var confidence:Double?
public var callDuration:Int?
public var recordingUrl:String?
public var recordingSid:String?
public var recordingDuration:Int?
public var recordingStatus:String?
public var transcriptionSid:String?
public var transcriptionText:String?
public var transcriptionUrl:String?
public var transcriptionStatus:String?
public var dialCallStatus:String?
public var dialCallSid:String?
public var dialCallDuration:Double?
public var dialBridged:Bool?
public var queueResult:String?
public var queueSid:String?
public var queueTime:Int?
public var conferenceSid:String?
public var friendlyName:String?
public var statusCallbackEvent:String?
public var muted:Bool?
public var hold:Bool?
public var endConferenceOnExit:Bool?
public var startConferenceOnEnter:Bool?
public var eventName:String?
public var assistantSid:String?
public var dialogueSid:String?
public var userIdentifier:String?
public var currentInput:String?
public var currentTask:String?
public var dialoguePayloadUrl:String?
public var memory:String?
public var channel:String?
public var faxSid:String?
public var faxStatus:String?
public var numPages:Int?
public var mediaUrl:String?
public var errorCode:String?
public var errorMessage:String?
required public init(){}
}
public class QueueWaitMusic : Codable
{
public var mode:QueueWaitMusicModes?
public var audioFile:String?
public var text:String?
public var textVoice:SayVoices?
public var numTimes:Int?
required public init(){}
}
public enum QueueWaitMusicModes : String, Codable
{
case Audio
case Text
}
public enum SayVoices : String, Codable
{
case Man
case Woman
case Polly_Mads_Danish_Male
case Polly_Naja_Danish_Female
case Polly_Lotte_Dutch_Female
case Polly_Ruben_Dutch_Male
case Polly_Nicole_Australian_Female
case Polly_Russell_Australian_Male
case Polly_Amy_British_Female
case Polly_Brian_British_Male
case Polly_Emma_British_Female
case Polly_Raveena_Indian_Female
case Polly_Ivy_US_Female
case Polly_Joanna_US_Female
case Polly_Joey_US_Male
case Polly_Justin_US_Male
case Polly_Kendra_US_Female
case Polly_Kimberly_US_Female
case Polly_Matthew_US_Male
case Polly_Salli_US_Female
case Polly_Geraint_Welsh_Male
case Polly_Celine_French_Female
case Polly_Mathieu_French_Male
case Polly_Chantal_French_Canadian_Female
case Polly_Hans_German_Male
case Polly_Marlene_German_Female
case Polly_Vicki_German_Female
case Polly_Dora_Iceland_Female
case Polly_Karl_Iceland_Male
case Polly_Carla_Italian_Female
case Polly_Giorgio_Italian_Male
case Polly_Mizuki_Japanese_Female
case Polly_Takumi_Japanese_Male
case Polly_Liv_Norwegian_Female
case Polly_Jacek_Polish_Male
case Polly_Jan_Polish_Female
case Polly_Ewa_Polish_Female
case Polly_Maja_Polish_Female
case Polly_Ricardo_Portuguese_Male
case Polly_Vitoria_Portuguese_Female
case Polly_Cristiano_Portuguese_Male
case Polly_Inese_Portuguese_Female
case Polly_Carmen_Romanian_Female
case Polly_Maxim_Russian_Male
case Polly_Tatyana_Russian_Female
case Polly_Conchita_Spanish_Female
case Polly_Enrique_Spanish_Male
case Polly_Miguel_Latin_American_Male
case Polly_Penelope_Latina_American_Female
case Polly_Astrid_Swedish_Female
case Polly_Filiz_Turkish_Male
case Polly_Gwyneth_Welsh_Female
}
Swift QueueNodeWaitCallback DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /nodes/queue/wait-callback HTTP/1.1
Host: evovoice.io
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"waitMusic":[{"mode":"Audio","audioFile":"String","text":"String","textVoice":"Man","numTimes":0}],"queueName":"String","accountId":"String","sessionId":"String","recordingReady":"String","recordCall":false,"recordedFile":"String","recordedFileUrl":"String","callSid":"String","accountSid":"String","from":"String","to":"String","callStatus":"String","apiVersion":"String","direction":"String","forwardedFrom":"String","callerName":"String","parentCallSid":"String","stirVerstat":"String","called":"String","calledZip":"String","calledCity":"String","calledState":"String","calledCountry":"String","caller":"String","callerCity":"String","callerState":"String","callerZip":"String","callerCountry":"String","fromCity":"String","fromState":"String","fromZip":"String","fromCountry":"String","toCity":"String","toState":"String","toZip":"String","toCountry":"String","messageSid":"String","smsId":"String","messagingServiceSid":"String","body":"String","numMedia":0,"mediaContentType0":"String","mediaUrl0":"String","mediaContentType1":"String","mediaUrl1":"String","mediaContentType2":"String","mediaUrl2":"String","index":0,"instanceSid":"String","eventType":"String","channelSid":"String","attributes":"String","clientIdentity":"String","mediaContentType":"String","mediaSid":"String","identity":"String","digits":"String","speechResult":"String","confidence":0,"callDuration":0,"recordingUrl":"String","recordingSid":"String","recordingDuration":0,"recordingStatus":"String","transcriptionSid":"String","transcriptionText":"String","transcriptionUrl":"String","transcriptionStatus":"String","dialCallStatus":"String","dialCallSid":"String","dialCallDuration":0,"dialBridged":false,"queueResult":"String","queueSid":"String","queueTime":0,"conferenceSid":"String","friendlyName":"String","statusCallbackEvent":"String","muted":false,"hold":false,"endConferenceOnExit":false,"startConferenceOnEnter":false,"eventName":"String","assistantSid":"String","dialogueSid":"String","userIdentifier":"String","currentInput":"String","currentTask":"String","dialoguePayloadUrl":"String","memory":"String","channel":"String","faxSid":"String","faxStatus":"String","numPages":0,"mediaUrl":"String","errorCode":"String","errorMessage":"String"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length (string)