Skip to main content
POST
Cadastrar bot
Auth: TokenAccount ou TokenInstanceRate-limit: Global (100/min) • Idempotente: não

Descrição

Cria um novo bot do Typebot para a instância. Este endpoint é somente criação (create-only): a cada bot criado a RyzeAPI ativa a integração da instância.
Para editar um bot existente use PATCH /api/typebot/update/:instance. Enviar botId no body deste endpoint retorna 400 botId is not allowed on create, use PATCH /api/typebot/update/:instance to edit.
Prioridade de trigger, quando várias regras podem casar com a mesma mensagem, a mais específica vence:
Unicidade, cada instância pode ter apenas um bot all habilitado; bots keyword são únicos por combinação de (triggerOperator, triggerValue). Tentar criar um conflito devolve 400.
A typebotUrl deve apontar para um Typebot publicado (viewer). O / final é removido. Esta operação tem timeout interno de 60s.

Exemplo

Para o bot mais simples, envie só typebotUrl + triggerType: "all": ele responde a qualquer mensagem. Para editar um bot já existente, use PATCH /api/typebot/update/:instance com o botId (retornado por GET /api/typebot/list/:instance).

Resposta de sucesso

201 Created

Parâmetros de rota

string
obrigatório
Nome da instância (ex.: suporte).

Headers

string
obrigatório
TokenAccount ou TokenInstance.
string
obrigatório
application/json

Request body

string
obrigatório
URL do Typebot publicado (viewer). Precisa ser uma URL válida. O / final é removido. Ex.: https://typebot.co/meu-bot-abc123.
string
obrigatório
Como o bot é acionado: all (qualquer mensagem inicia o fluxo) ou keyword (só quando a mensagem casa com triggerOperator + triggerValue).
string
Operador do gatilho, obrigatório se triggerType é keyword. Um de: contains, equals, startsWith, endsWith, regex.
string
Palavra ou expressão do gatilho, obrigatória se triggerType é keyword.
boolean
padrão:"true"
Se o bot está ativo no roteamento. Ausente equivale a true.
string
Rótulo do bot no painel (ex.: "Bot de orçamento").
integer
padrão:"0"
Expira a sessão por inatividade após N minutos. 0 = nunca expira.
string
Mensagem enviada ao usuário quando a sessão expira (se definida).
string
Palavra que, enviada pelo usuário, finaliza o bot imediatamente (ex.: "sair").
string
Despedida enviada quando o bot é finalizado pela keywordFinish.
integer
padrão:"0"
Delay do indicador “digitando…” antes de cada resposta, em milissegundos (convertido para segundos no envio).
boolean
padrão:"false"
Se true, o bot é pausado naquela conversa quando você (o operador) responde manualmente.
integer
padrão:"0"
Junta fragmentos enviados pelo cliente por N segundos antes de processar (evita disparar o fluxo a cada linha).
boolean
padrão:"true"
Se true, mensagens de grupo não acionam o bot. Ausente equivale a true.
boolean
padrão:"false"
Se true, o bot não inicia sozinho quando você começou a conversa. Quando você envia a primeira mensagem e o contato responde, o bot não dispara. A janela de reativação reaproveita expireMinutes (contada a partir da sua primeira mensagem; 0 = permanente).
boolean
padrão:"false"
Se true, ao terminar o fluxo a conversa fica aberta em vez de encerrar. O bot fica em silêncio (não reinicia) e a sessão só encerra pela keywordFinish ou manualmente, aparecendo com status held.

Erros

Exemplo de payload de erro

Trigger keyword sem operador/valor:

Próximo

Editar bot

Ajuste campos de um bot existente com PATCH /api/typebot/update/:instance.

Listar bots

Confira todos os bots da instância e o status da integração.

Iniciar fluxo

Dispare o fluxo manualmente para um número com POST /api/typebot/start/:instance.

Sessões ao vivo

Liste e controle as conversas em andamento do bot.