All Verbs | /sessions/outgoing/callback |
---|
import Foundation
import ServiceStack
public class NewOutgoingSessionCallback : TwilioRequestBase
{
public var flowId:String?
public var endpointId:String?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case flowId
case endpointId
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
flowId = try container.decodeIfPresent(String.self, forKey: .flowId)
endpointId = try container.decodeIfPresent(String.self, forKey: .endpointId)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if flowId != nil { try container.encode(flowId, forKey: .flowId) }
if endpointId != nil { try container.encode(endpointId, forKey: .endpointId) }
}
}
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(){}
}
Swift NewOutgoingSessionCallback DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /sessions/outgoing/callback HTTP/1.1
Host: evovoice.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
flowId: String,
endpointId: 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/jsv Content-Length: length (string)