Pular para o conteúdo principal
Use $vzaps->typeBots() para integrar fluxos TypeBot a uma instância VZaps. Campos comuns em todas as chamadas:
CampoTipoObrigatórioDescrição
instanceIdstringSimID da instância.
instanceTokenstringSimToken da instância.

typeBots()->list($instanceId, $instanceToken = null)

Lista os TypeBots configurados na instância.
$typebots = $vzaps->typeBots()->list('VZ...', 'instance-token');

print_r($typebots);
Retorno: lista/array de configuracoes TypeBot da instancia (IDs, gatilhos, prioridade, etc.).

typeBots()->create($request)

Cria uma configuração de TypeBot.
$created = $vzaps->typeBots()->create([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'enabled' => true,
    'description' => 'Boas-vindas',
    'typebotUrl' => 'https://typebot.io',
    'publicId' => 'meu-flow-publico',
    'triggerType' => 'keyword',
    'triggerValue' => 'ola',
    'priority' => 10,
    'expireInMinutes' => 30,
    'keywordFinish' => 'sair',
    'defaultDelayMs' => 800,
    'unknownMessage' => 'Desculpe, não entendi. Pode reformular?',
    'transcribeAudio' => true,
    'listenFromMe' => false,
    'stopBotFromMe' => true,
    'keepOpen' => false,
    'debounceMs' => 1500,
    'ignoreGroups' => false,
]);

print_r($created);
Retorno: configuracao criada, incluindo typebot_id para updates posteriores. Campos principais do payload:
CampoTipoObrigatórioDescrição
enabledbooleanSimAtiva ou desativa o TypeBot na avaliação de gatilhos.
descriptionstringSimNome para identificação.
typebotUrlstringSimURL base do TypeBot.
publicIdstringSimIdentificador público do flow.
triggerTypestringSimall, keyword, contains, starts_with, regex, advanced ou none.
triggerValuestringCondicionalTexto ou regex do gatilho.
triggerOperatorstringCondicionalUsado quando triggerType é advanced.
prioritynumberSimOrdem de avaliação. Maior valor primeiro.
expireInMinutesnumberSimExpira sessão após inatividade. 0 não expira.

typeBots()->update($request)

Atualiza um TypeBot existente. Informe typebotId retornado na criação ou listagem.
$vzaps->typeBots()->update([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'typebotId' => '550e8400-e29b-41d4-a716-446655440000',
    'enabled' => true,
    'description' => 'Boas-vindas atualizado',
    'triggerType' => 'contains',
    'triggerValue' => 'ajuda',
    'priority' => 20,
    'expireInMinutes' => 60,
]);
Retorno: configuracao atualizada ou { status: "ok" }.

typeBots()->delete($request)

Remove a configuração e as sessões associadas.
$vzaps->typeBots()->delete([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'typebotId' => '550e8400-e29b-41d4-a716-446655440000',
]);
Retorno: confirmacao de remocao ({ status: "ok" } ou mensagem equivalente).

typeBots()->startSession($request)

Inicia sessão manualmente com um contato. Por publicId:
$vzaps->typeBots()->startSession([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'publicId' => 'support',
    'phone' => '5511999999999',
    'pushName' => 'Cliente',
    'message' => 'Quero atendimento',
]);
Retorno: sessao iniciada (UUID da sessao, contato, status opened). Por typebotId:
$vzaps->typeBots()->startSession([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'typebotId' => '550e8400-e29b-41d4-a716-446655440000',
    'phone' => '5511999999999',
    'message' => 'Quero atendimento',
]);
CampoTipoObrigatórioDescrição
publicIdstringCondicionalIdentificador público do flow. Use publicId ou typebotId.
typebotIdstringCondicionalID interno do TypeBot.
phonestringSimTelefone do contato.
messagestringSimMensagem inicial enviada ao flow.
pushNamestringNãoNome exibido do contato.

typeBots()->listSessions($instanceId, $instanceToken = null)

Lista sessões ativas e encerradas.
$sessions = $vzaps->typeBots()->listSessions('VZ...', 'instance-token');

print_r($sessions);
Retorno: lista de sessoes (opened, paused, closed) por contato/flow.

typeBots()->pauseSession($request)

Pausa uma sessão aberta. Use o UUID da sessão em session.
$vzaps->typeBots()->pauseSession([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'session' => '550e8400-e29b-41d4-a716-446655440001',
]);
Retorno: sessao com status paused.

typeBots()->closeSession($request)

Encerra uma sessão manualmente. Por UUID da sessão:
$vzaps->typeBots()->closeSession([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'session' => '550e8400-e29b-41d4-a716-446655440001',
]);
Retorno: sessao encerrada (closed) ou confirmacao por telefone. Por telefone do contato (encerra todas as sessões ativas desse número):
$vzaps->typeBots()->closeSession([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'session' => '5511999999999',
]);