Evo Voice

<back to all web services

QueueNodeWaitCallback

The following routes are available for this service:
All Verbs/nodes/queue/wait-callback
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TwilioRequestBase(IReturn[str], IPost):
    call_sid: Optional[str] = None
    account_sid: Optional[str] = None
    from_: Optional[str] = field(metadata=config(field_name='from'), default=None)
    to: Optional[str] = None
    call_status: Optional[str] = None
    api_version: Optional[str] = None
    direction: Optional[str] = None
    forwarded_from: Optional[str] = None
    caller_name: Optional[str] = None
    parent_call_sid: Optional[str] = None
    stir_verstat: Optional[str] = None
    called: Optional[str] = None
    called_zip: Optional[str] = None
    called_city: Optional[str] = None
    called_state: Optional[str] = None
    called_country: Optional[str] = None
    caller: Optional[str] = None
    caller_city: Optional[str] = None
    caller_state: Optional[str] = None
    caller_zip: Optional[str] = None
    caller_country: Optional[str] = None
    from_city: Optional[str] = None
    from_state: Optional[str] = None
    from_zip: Optional[str] = None
    from_country: Optional[str] = None
    to_city: Optional[str] = None
    to_state: Optional[str] = None
    to_zip: Optional[str] = None
    to_country: Optional[str] = None
    message_sid: Optional[str] = None
    sms_id: Optional[str] = None
    messaging_service_sid: Optional[str] = None
    body: Optional[str] = None
    num_media: Optional[int] = None
    media_content_type0: Optional[str] = None
    media_url0: Optional[str] = None
    media_content_type1: Optional[str] = None
    media_url1: Optional[str] = None
    media_content_type2: Optional[str] = None
    media_url2: Optional[str] = None
    index: Optional[int] = None
    instance_sid: Optional[str] = None
    event_type: Optional[str] = None
    channel_sid: Optional[str] = None
    attributes: Optional[str] = None
    client_identity: Optional[str] = None
    media_content_type: Optional[str] = None
    media_sid: Optional[str] = None
    identity: Optional[str] = None
    digits: Optional[str] = None
    speech_result: Optional[str] = None
    confidence: Optional[float] = None
    call_duration: Optional[int] = None
    recording_url: Optional[str] = None
    recording_sid: Optional[str] = None
    recording_duration: Optional[int] = None
    recording_status: Optional[str] = None
    transcription_sid: Optional[str] = None
    transcription_text: Optional[str] = None
    transcription_url: Optional[str] = None
    transcription_status: Optional[str] = None
    dial_call_status: Optional[str] = None
    dial_call_sid: Optional[str] = None
    dial_call_duration: Optional[float] = None
    dial_bridged: Optional[bool] = None
    queue_result: Optional[str] = None
    queue_sid: Optional[str] = None
    queue_time: Optional[int] = None
    conference_sid: Optional[str] = None
    friendly_name: Optional[str] = None
    status_callback_event: Optional[str] = None
    muted: Optional[bool] = None
    hold: Optional[bool] = None
    end_conference_on_exit: Optional[bool] = None
    start_conference_on_enter: Optional[bool] = None
    event_name: Optional[str] = None
    assistant_sid: Optional[str] = None
    dialogue_sid: Optional[str] = None
    user_identifier: Optional[str] = None
    current_input: Optional[str] = None
    current_task: Optional[str] = None
    dialogue_payload_url: Optional[str] = None
    memory: Optional[str] = None
    channel: Optional[str] = None
    fax_sid: Optional[str] = None
    fax_status: Optional[str] = None
    num_pages: Optional[int] = None
    media_url: Optional[str] = None
    error_code: Optional[str] = None
    error_message: Optional[str] = None
    @staticmethod
    def response_type(): return str


class QueueWaitMusicModes(str, Enum):
    AUDIO = 'Audio'
    TEXT = 'Text'


class SayVoices(str, Enum):
    MAN = 'Man'
    WOMAN = 'Woman'
    POLLY__MADS__DANISH__MALE = 'Polly_Mads_Danish_Male'
    POLLY__NAJA__DANISH__FEMALE = 'Polly_Naja_Danish_Female'
    POLLY__LOTTE__DUTCH__FEMALE = 'Polly_Lotte_Dutch_Female'
    POLLY__RUBEN__DUTCH__MALE = 'Polly_Ruben_Dutch_Male'
    POLLY__NICOLE__AUSTRALIAN__FEMALE = 'Polly_Nicole_Australian_Female'
    POLLY__RUSSELL__AUSTRALIAN__MALE = 'Polly_Russell_Australian_Male'
    POLLY__AMY__BRITISH__FEMALE = 'Polly_Amy_British_Female'
    POLLY__BRIAN__BRITISH__MALE = 'Polly_Brian_British_Male'
    POLLY__EMMA__BRITISH__FEMALE = 'Polly_Emma_British_Female'
    POLLY__RAVEENA__INDIAN__FEMALE = 'Polly_Raveena_Indian_Female'
    POLLY__IVY__U_S__FEMALE = 'Polly_Ivy_US_Female'
    POLLY__JOANNA__U_S__FEMALE = 'Polly_Joanna_US_Female'
    POLLY__JOEY__U_S__MALE = 'Polly_Joey_US_Male'
    POLLY__JUSTIN__U_S__MALE = 'Polly_Justin_US_Male'
    POLLY__KENDRA__U_S__FEMALE = 'Polly_Kendra_US_Female'
    POLLY__KIMBERLY__U_S__FEMALE = 'Polly_Kimberly_US_Female'
    POLLY__MATTHEW__U_S__MALE = 'Polly_Matthew_US_Male'
    POLLY__SALLI__U_S__FEMALE = 'Polly_Salli_US_Female'
    POLLY__GERAINT__WELSH__MALE = 'Polly_Geraint_Welsh_Male'
    POLLY__CELINE__FRENCH__FEMALE = 'Polly_Celine_French_Female'
    POLLY__MATHIEU__FRENCH__MALE = 'Polly_Mathieu_French_Male'
    POLLY__CHANTAL__FRENCH__CANADIAN__FEMALE = 'Polly_Chantal_French_Canadian_Female'
    POLLY__HANS__GERMAN__MALE = 'Polly_Hans_German_Male'
    POLLY__MARLENE__GERMAN__FEMALE = 'Polly_Marlene_German_Female'
    POLLY__VICKI__GERMAN__FEMALE = 'Polly_Vicki_German_Female'
    POLLY__DORA__ICELAND__FEMALE = 'Polly_Dora_Iceland_Female'
    POLLY__KARL__ICELAND__MALE = 'Polly_Karl_Iceland_Male'
    POLLY__CARLA__ITALIAN__FEMALE = 'Polly_Carla_Italian_Female'
    POLLY__GIORGIO__ITALIAN__MALE = 'Polly_Giorgio_Italian_Male'
    POLLY__MIZUKI__JAPANESE__FEMALE = 'Polly_Mizuki_Japanese_Female'
    POLLY__TAKUMI__JAPANESE__MALE = 'Polly_Takumi_Japanese_Male'
    POLLY__LIV__NORWEGIAN__FEMALE = 'Polly_Liv_Norwegian_Female'
    POLLY__JACEK__POLISH__MALE = 'Polly_Jacek_Polish_Male'
    POLLY__JAN__POLISH__FEMALE = 'Polly_Jan_Polish_Female'
    POLLY__EWA__POLISH__FEMALE = 'Polly_Ewa_Polish_Female'
    POLLY__MAJA__POLISH__FEMALE = 'Polly_Maja_Polish_Female'
    POLLY__RICARDO__PORTUGUESE__MALE = 'Polly_Ricardo_Portuguese_Male'
    POLLY__VITORIA__PORTUGUESE__FEMALE = 'Polly_Vitoria_Portuguese_Female'
    POLLY__CRISTIANO__PORTUGUESE__MALE = 'Polly_Cristiano_Portuguese_Male'
    POLLY__INESE__PORTUGUESE__FEMALE = 'Polly_Inese_Portuguese_Female'
    POLLY__CARMEN__ROMANIAN__FEMALE = 'Polly_Carmen_Romanian_Female'
    POLLY__MAXIM__RUSSIAN__MALE = 'Polly_Maxim_Russian_Male'
    POLLY__TATYANA__RUSSIAN__FEMALE = 'Polly_Tatyana_Russian_Female'
    POLLY__CONCHITA__SPANISH__FEMALE = 'Polly_Conchita_Spanish_Female'
    POLLY__ENRIQUE__SPANISH__MALE = 'Polly_Enrique_Spanish_Male'
    POLLY__MIGUEL__LATIN__AMERICAN__MALE = 'Polly_Miguel_Latin_American_Male'
    POLLY__PENELOPE__LATINA__AMERICAN__FEMALE = 'Polly_Penelope_Latina_American_Female'
    POLLY__ASTRID__SWEDISH__FEMALE = 'Polly_Astrid_Swedish_Female'
    POLLY__FILIZ__TURKISH__MALE = 'Polly_Filiz_Turkish_Male'
    POLLY__GWYNETH__WELSH__FEMALE = 'Polly_Gwyneth_Welsh_Female'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QueueWaitMusic:
    mode: Optional[QueueWaitMusicModes] = None
    audio_file: Optional[str] = None
    text: Optional[str] = None
    text_voice: Optional[SayVoices] = None
    num_times: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QueueNodeWaitCallback(TwilioRequestBase):
    wait_music: Optional[List[QueueWaitMusic]] = None
    queue_name: Optional[str] = None
    account_id: Optional[str] = None
    session_id: Optional[str] = None
    recording_ready: Optional[str] = None
    record_call: Optional[bool] = None
    recorded_file: Optional[str] = None
    recorded_file_url: Optional[str] = None

Python QueueNodeWaitCallback 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

HTTP + JSON

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: application/json
Content-Type: application/json
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: application/json
Content-Length: length

(string)