You are viewing the Portuguese (Brazil) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Classifique esta página:

TwiML™ Voice: <Client>

O substantivo <Client> do verbo <Dial> especifica um identificador de cliente para discar.

Você pode usar até dez substantivos <Client> em um verbo <Dial> para tentar simultaneamente uma conexão com muitos clientes ao mesmo tempo. O primeiro cliente a aceitar a conexão de entrada é conectado à chamada e as outras tentativas de conexão são canceladas. Se pretende se conectar com vários outros clientes simultaneamente, leia sobre o substantivo <Conference>.

O identificador do cliente não deve conter caracteres de controle, espaço, delimitadores ou imprudentes. Os SDKs para dispositivos móveis não podem incluir caracteres especiais e devem usar apenas caracteres alfanuméricos e sublinhado.

Atributos do substantivo

O substantivo <Client> dá suporte aos seguintes atributos que modificam seu comportamento:

Nome do atributo Valores permitidos Valor padrão
url Qualquer URL nenhuma
method GET, POST POST
statusCallbackEvent initiated, ringing, answered, completed none
statusCallback Any URL none
statusCallbackMethod GET, POST POST

url

O atributo url permite que você especifique um URL para um documento TwiML que será executado no terminal da parte chamada, depois que ela responder, mas antes que as partes estejam conectadas. Você pode usar este TwiML para reproduzir ou dizer informações privadamente à parte chamada, ou fornecer a chance de recusar a chamada telefônica usando <Gather> e <Hangup>. Se o atributo answerOnBridge for usado em <Dial>, o autor da chamada atual continuará a ouvir o toque enquanto o documento TwiML é executado no outro lado. Os documentos TwiML executados desta maneira não podem conter o verbo <Dial>.

method

O atributo method permite que você especifique qual método HTTP a Twilio deve usar ao solicitar o URL no atributo url. O padrão é POST.

statusCallbackEvent

Ao discar para um Cliente usando <Dial>, uma chamada outbound é iniciada. A chamada muda do estado initiated para o estado ringing quando o telefone começa a tocar. Ele muda para o estado answered quando a chamada é atendida e, finalmente, para o estado completed quando a chamada termina. Com statusCallbackEvent, você pode se inscrever para receber webhooks para os diferentes eventos de progresso de chamadas: initiated, ringing, answered ou completed para uma determinada chamada.

O atributo statusCallbackEvent permite especificar em quais eventos a Twilio deve chamar um webhook. Para especificar vários eventos, separe-os com um espaço: initiated ringing answered completed. Se um statusCallback for fornecido e nenhum evento de retornos de chamada de status for especificado, o evento completed será enviado por padrão.

Em vez de criar uma chamada outbound por meio da API, as chamadas outbound criadas usando <Dial> são iniciadas imediatamente e nunca enfileiradas. A seguir, vemos uma linha do tempo de possíveis eventos de chamada que podem ser retornados e os diferentes status de chamada que um trecho <Dial> pode enfrentar:

Diagrama de eventos de discagem de chamada outbound

Evento Descrição
initiated Este evento é acionado quando a Twilio começa a discar a chamada.
ringing Este evento é acionado quando a chamada começa a tocar.
answered Este evento é acionado quando a chamada é atendida.
completed Este evento é acionado quando a chamada é concluída, independentemente do status de encerramento: busy, canceled, completed, failed ou no-answer. Se nenhum StatusCallbackEvent for especificado, completed será acionado por padrão.

statusCallback

O atributo statusCallback permite que você especifique um URL para a Twilio enviar solicitações de webhook para cada evento especificado no atributo statusCallbackEvent . URLs não relacionados devem conter um nome de host válido (sublinhados não são permitidos).

statusCallbackMethod

O atributo statusCallbackMethod permite especificar qual método HTTP a Twilio deve usar ao solicitar o URL no atributo statusCallback O padrão é POST.

Parâmetros HTTP de retorno de chamada de status

Os parâmetros que a Twilio passa para seu aplicativo em sua solicitação assíncrona para o URL StatusCallback incluem todos os parâmetros passados em uma solicitação síncrona para recuperar o TwiML quando o Twilio recebe uma chamada para um de seus números do Twilio. A lista completa de os parâmetros e as descrições de cada um estão na documentação TwiML Voice Request.

Quando os eventos de andamento da chamada são acionados, a solicitação de retorno de chamada de status também passa por esses parâmetros adicionais:

Parâmetro Descrição
CallSid Um identificador exclusivo para esta chamada, gerado pela Twilio. Você pode usar o CallSid para modificar a chamada secundária POSTing to Calls/{CallSid} com um novo URL TwiML.
ParentCallSid Um identificador exclusivo para a chamada principal.
CallStatus Um status descritivo para a chamada. O valor pode ser um desses: queued, initiated, ringing, in-progress, busy, failed ou no-answer. Consulte a seção CallStatus para mais detalhes.
CallDuration A duração em segundos da chamada recém-concluída. Presente apenas no evento completed.
RecordingUrl O URL do áudio gravado da chamada telefônica. Este parâmetro só é incluído se a gravação estiver definida em <Dial> e não incluir as gravações iniciadas de outras maneiras. RecordingUrl está presente apenas no evento completed.
RecordingSid A ID exclusiva da [Gravação][gravações] desta chamada. RecordingSid está presente apenas no evento completed.
RecordingDuration A duração do áudio gravado (em segundos). RecordingDuration está presente apenas no evento completed. Para obter uma duração final de gravação precisa após qualquer corte de silêncio, use recordingStatusCallback.
Timestamp O carimbo de data/hora em que o evento foi acionado, fornecido como UTC no formato RFC 2822.
CallbackSource Uma string que descreve a origem do webhook. Isso é fornecido para ajudar a desambiguar por que o webhook foi criado. Em retornos de chamada de status, esse valor é sempre call-progress-events.
SequenceNumber A ordem em que os eventos foram acionados, começando em '0'. Embora os eventos sejam disparados em ordem, eles são feitos como solicitações HTTP separadas e não há garantia de que eles chegarão na mesma ordem.

Parâmetros personalizados

É possível incluir pares de valores-chave adicionais que serão passados para o Cliente (Web ou Mobile). Você pode fazer isso usando o substantivo do TwiML <Parameter> aninhado.

Loading Code Sample...
        
        

        Send custom parameters to Client

        Esses parâmetros personalizados podem ser recuperados usando os SDKs. Para Cliente JS, consulte Connection.customParameters, para iOS, consulte TVOConnectOption.params e para Android, consulte ConnectOptions.getParams()

        Exemplos

        Exemplo 1: Discar para um cliente

        Neste exemplo, queremos conectar a chamada atual a um cliente chamado joey. Para conectar a chamada a joey, use um verbo <Dial> com um substantivo <Client> aninhado dentro.

        Loading Code Sample...
              
              

              Dialing to a client

              Exemplo 2: Discagem simultânea

              Você pode usar até dez substantivos <Number> e <Client> no total dentro de um verbo <Dial> para discar vários números de telefone e clientes ao mesmo tempo. A primeira pessoa a atender a chamada será conectada ao autor da chamada, enquanto o restante das tentativas de chamada será desligada.

              Loading Code Sample...
                    
                    

                    Simultaneous Dialing

                    Exemplo 3: Eventos de progresso de chamada

                    Neste caso, queremos receber um webhook para cada evento de progresso de chamada ao discar para um Cliente usando <Dial>.

                    Loading Code Sample...
                          
                          

                          Call Progress Events

                          Classifique esta página:

                          Precisa de ajuda?

                          Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.

                          Loading Code Sample...
                                
                                
                                

                                Obrigado pelo seu feedback!

                                Selecione o(s) motivo(s) para seu feedback. As informações adicionais que você fornece nos ajudam a melhorar nossa documentação:

                                Enviando seu feedback...
                                🎉 Obrigado pelo seu feedback!
                                Algo deu errado. Tente novamente.

                                Obrigado pelo seu feedback!

                                thanks-feedback-gif