Pular para o conteúdo principal
Use client.typebots para integrar fluxos TypeBot com uma instância VZaps. Campos comuns em todas as chamadas:
CampoTipoObrigatórioDescrição
instance_idstringSimID da instância.
instance_tokenstringSimToken da instância.

client.typebots.list(instance_id, instance_token=...)

Lista TypeBots configurados na instância.
typebots = client.typebots.list("VZ...", instance_token="instance-token")
print(typebots)
Retorno: lista/array de configuracoes TypeBot da instancia (IDs, gatilhos, prioridade, etc.).

client.typebots.create(...)

Cria uma configuração TypeBot.
created = client.typebots.create(
    instance_id="VZ...",
    instance_token="instance-token",
    enabled=True,
    description="Fluxo de boas-vindas",
    typebot_url="https://typebot.io",
    public_id="meu-fluxo-publico",
    trigger_type="keyword",
    trigger_value="ola",
    priority=10,
    expire_in_minutes=30,
    keyword_finish="sair",
    default_delay_ms=800,
    unknown_message="Não entendi. Pode reformular?",
    transcribe_audio=True,
    listen_from_me=False,
    stop_bot_from_me=True,
    keep_open=False,
    debounce_ms=1500,
    ignore_groups=False,
)

print(created)
Retorno: configuracao criada, incluindo typebot_id para updates posteriores. Campos principais do payload:
CampoTipoObrigatórioDescrição
enabledbooleanSimHabilita ou desabilita a avaliação de triggers.
descriptionstringSimNome de exibição da configuração.
typebot_urlstringSimURL base do TypeBot.
public_idstringSimIdentificador público do fluxo.
trigger_typestringSimall, keyword, contains, starts_with, regex, advanced ou none.
trigger_valuestringCondicionalTexto ou regex do trigger.
trigger_operatorstringCondicionalUsado quando trigger_type é advanced.
prioritynumberSimOrdem de avaliação. Valor maior primeiro.
expire_in_minutesnumberSimExpiração da sessão após inatividade. 0 significa sem expiração.

client.typebots.update(...)

Atualiza um TypeBot existente. Passe typebot_id do create ou list.
client.typebots.update(
    instance_id="VZ...",
    instance_token="instance-token",
    typebot_id="550e8400-e29b-41d4-a716-446655440000",
    enabled=True,
    description="Fluxo de boas-vindas atualizado",
    trigger_type="contains",
    trigger_value="ajuda",
    priority=20,
    expire_in_minutes=60,
)
Retorno: configuracao atualizada ou { status: "ok" }.

client.typebots.delete(...)

Remove a configuração e suas sessões.
client.typebots.delete(
    instance_id="VZ...",
    instance_token="instance-token",
    typebot_id="550e8400-e29b-41d4-a716-446655440000",
)
Retorno: confirmacao de remocao ({ status: "ok" } ou mensagem equivalente).

client.typebots.start_session(...)

Inicia uma sessão manualmente com um contato. Por public_id:
client.typebots.start_session(
    instance_id="VZ...",
    instance_token="instance-token",
    public_id="suporte",
    phone="5511999999999",
    push_name="Cliente",
    message="Preciso de ajuda",
)
Retorno: sessao iniciada (UUID da sessao, contato, status opened). Por typebot_id:
client.typebots.start_session(
    instance_id="VZ...",
    instance_token="instance-token",
    typebot_id="550e8400-e29b-41d4-a716-446655440000",
    phone="5511999999999",
    message="Preciso de ajuda",
)
CampoTipoObrigatórioDescrição
public_idstringCondicionalIdentificador público do fluxo. Use public_id ou typebot_id.
typebot_idstringCondicionalID interno do TypeBot.
phonestringSimTelefone do contato.
messagestringSimMensagem inicial enviada ao fluxo.
push_namestringNãoNome de exibição do contato.

client.typebots.list_sessions(instance_id, instance_token=...)

Lista sessões ativas e encerradas.
sessions = client.typebots.list_sessions("VZ...", instance_token="instance-token")
print(sessions)
Retorno: lista de sessoes (opened, paused, closed) por contato/flow.

client.typebots.pause_session(...)

Pausa uma sessão aberta. Passe o UUID da sessão em session.
client.typebots.pause_session(
    instance_id="VZ...",
    instance_token="instance-token",
    session="550e8400-e29b-41d4-a716-446655440001",
)
Retorno: sessao com status paused.

client.typebots.close_session(...)

Encerra uma sessão manualmente. Por UUID da sessão:
client.typebots.close_session(
    instance_id="VZ...",
    instance_token="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):
client.typebots.close_session(
    instance_id="VZ...",
    instance_token="instance-token",
    session="5511999999999",
)