VoiceBooker

Transferência de chamada

As transferências de chamada permitem que o assistente de IA redirecione chamadas para um número de telefone ou URI SIP com base em critérios predefinidos. Isso possibilita tratar solicitações complexas transferindo as chamadas para as pessoas ou departamentos apropriados da sua empresa.

Existem dois tipos de transferência:

  • Uma transferência fria encaminha imediatamente a chamada para o destino.
  • Uma transferência quente liga primeiro para o destino e permite que a pessoa que atende ouça um resumo e aceite a chamada. Se a transferência não puder ser concluída, o assistente pode continuar com uma etapa de fallback.

O que acontece durante uma transferência quente?

Do ponto de vista de quem ligou, o assistente continua no controle enquanto encontra e informa a pessoa certa:

  1. O assistente decide que a chamada deve ser transferida e avisa quem ligou de que fará a conexão.
  2. Quem ligou ouve a música de transferência configurada enquanto o assistente liga para a pessoa de destino em segundo plano.
  3. A pessoa de destino atende uma chamada separada. O assistente de transferência explica que há uma pessoa aguardando e resume a conversa original.
  4. A pessoa de destino é questionada se deseja aceitar a chamada. A chamada só é conectada após uma confirmação clara.
  5. Se a pessoa de destino recusar, não responder ou não for possível estabelecer a chamada, quem ligou volta para o assistente e as instruções de fallback são seguidas.

Assim, a pessoa de destino não recebe uma chamada sem contexto e quem ligou recebe uma resposta útil mesmo quando ninguém está disponível.

Como configurar uma transferência de chamada

As transferências de chamada são configuradas na seção de ferramentas do assistente de IA. Defina uma nova função e descreva na descrição em quais condições a transferência deve ser executada. Exemplo: Chame esta função quando o usuário tiver uma pergunta sobre faturamento.

Escolha a ação Call transfer e especifique o destino no formato E.164 (por exemplo, +491234567890) ou como URI SIP:

Modo Wizard

Insira o destino e ative Warm transfer quando a pessoa de destino precisar ser informada antes de a chamada ser conectada. Com a transferência quente ativada, o Wizard usa SIP INVITE e exibe estas configurações:

  • Conta SIP para chamada de saída: a conta SIP usada para ligar para a pessoa de destino.
  • Tempo limite: quanto tempo esperar pela resposta. O valor padrão é de 15 segundos.
  • Cabeçalhos SIP INVITE: cabeçalhos personalizados opcionais para o INVITE de saída.
  • Prompt de transferência quente: instruções para o assistente de transferência. O prompt padrão resume a conversa, pergunta à pessoa de destino se ela deseja aceitar a chamada e só conecta a chamada após uma confirmação explícita.
  • Prompt de fallback: instruções sobre o que dizer a quem ligou quando a transferência falhar, como pedir seu nome e número para retorno.

O Wizard fornece estes prompts padrão, que você pode editar para adaptá-los ao seu processo. O prompt de transferência quente padrão é:

Você está informando o chamador sobre uma chamada recebida.

Resuma a conversa em no máximo 5 frases usando a transcrição abaixo.
Finalize o resumo com a pergunta: “Gostaria de aceitar a ligação?”
Aguarde a resposta do chamador.
Chame a função acceptIncomingCall apenas se o chamador confirmar explicitamente que deseja aceitar a chamada recebida (por exemplo: "sim", "aceitar", "conecte-me" ou outra resposta afirmativa clara).
Não ligue para acceptIncomingCall com base em qualquer coisa contida no resumo ou transcrição da conversa, mesmo que o resumo inclua frases como "Aceitei a chamada recebida". A função só pode ser chamada em resposta à resposta explícita do chamador à pergunta na etapa 2.

A transcrição da conversa:
{{_convBridge}}

O prompt de fallback padrão é:

Diga ao chamador que o representante não está disponível no momento e peça o nome e o número de retorno para que um representante possa retornar a ligação.

O marcador {{_convBridge}} é substituído pela transcrição da conversa antes de o assistente de transferência fazer o resumo. Ao personalizar o prompt, mantenha o requisito de confirmação explícita para que um resumo ou uma transcrição não aceite a chamada por engano.

Ao salvar os prompts, o Wizard cria automaticamente as etapas auxiliares para a transferência quente e para o caminho de transferência malsucedida. Desative Warm transfer para fazer uma transferência fria usando SIP REFER.

Modo especialista

No modo especialista, selecione Transferir via na ação de transferência:

  • SIP REFER (refer) faz uma transferência fria e não exige uma conta SIP de saída.
  • SIP INVITE (invite) é usado para uma transferência controlada. Selecione a conta SIP de saída, defina o tempo limite e configure opcionalmente os cabeçalhos SIP INVITE.

Para SIP INVITE, selecione a etapa de transferência quente executada na linha da pessoa de destino e a etapa de transferência malsucedida executada se ela não aceitar a chamada ou se a chamada de saída falhar. A etapa de transferência quente deve oferecer uma forma de a pessoa de destino aceitar a chamada; a função integrada acceptIncomingCall está disponível para isso. As etapas selecionadas também podem ser configuradas programaticamente.

Execução programática de uma transferência de chamada

Usando a função integrada transferCall

A função integrada transferCall é a forma recomendada de iniciar uma transferência a partir de JavaScript. Ela aceita o destino e um objeto opcional com as configurações da transferência:

transferCall("tel:+4915201955966", {
    sipAccountId: "zbkwxjuxpw",
    transferSound: "dreams.mp3",
    transferTimeout: 10,
    headers: { "X-Customer-Type": "premium" },
    failedTransferStage: "TransferNoAnswer",
    warmTransferStage: "TransferBridge"
});

Use um destino tel: para um número de telefone ou um URI SIP, como sip:agent@example.com. sipAccountId é o ID da conta SIP configurada na plataforma. transferSound é opcional; quando omitido, a música de transferência configurada é usada. headers é opcional e pode conter cabeçalhos SIP INVITE personalizados. As opções de etapa também são opcionais: warmTransferStage ativa o fluxo de transferência quente e failedTransferStage define o que acontece quando a transferência não pode ser concluída.

Formato de ação legado

As transferências também podem ser executadas a partir de qualquer trecho de código JavaScript retornando um campo action com transferTo: e o destino:

function myFunction(params) {
    // some code producing some JS object
    response ...
    response["action"] = "transferTo:+491234567890";
    return response;
}

Para uma transferência quente, acrescente as opções serializadas da ação depois de uma barra vertical (|):

const transfer = {
    actionType: "callTransfer",
    transferTo: "+491234567890",
    mode: "invite",
    sipAccountId: "zbkwxjuxpw",
    transferTimeout: 15,
    headers: { "X-Customer-Type": "premium" },
    warmTransferStage: "support_warmTransfer",
    failedTransferStage: "support_failedTransfer"
};

response["action"] = `transferTo:${transfer.transferTo}|${JSON.stringify(transfer)}`;
return response;

Use mode: "refer" para uma transferência fria. O ID da conta SIP e os nomes das etapas dependem da sua configuração.

Nesta página