Instance que outros canais: o campo status diz se você já pode enviar e se precisa completar o login (no modo USER).
Status possíveis
Ao listar (GET /v1/telegram/instances) ou consultar (GET /v1/telegram/instances/:id), o status costuma ser um destes:
| Status | Significado |
|---|---|
PENDING | Instância criada, mas o modo USER ainda não tem sessão salva. Você precisa concluir o login por QR (GET .../qr em loop) ou colar a session string (POST .../session). |
ACTIVE | Conexão válida para envio: BOT com token e webhook configurados, ou USER com sessão MTProto salva. |
DISCONNECTED | A sessão USER caiu ou ficou inválida (rede, logout no Telegram, revogação, etc.) — trate como “precisa reconectar” conforme o produto expuser no painel. |
SUSPENDED | (Raro) bloqueio administrativo ou política do provedor. |
CANCELLED | Instância removida (soft-delete) após DELETE na API ou ação no painel. |
mode em telegram (BOT ou USER) explica por que o fluxo de conexão é diferente — veja Modo BOT e modo USER.
Fluxo — modo BOT
POST /v1/telegram/instancescommode: "BOT"ebotTokenválido.- O backend valida o token, grava credenciais e tenta registrar o webhook do bot.
- O status já nasce
ACTIVE(não há fase de QR no servidor Notifique para BOT).
Fluxo — modo USER
POST /v1/telegram/instancescommode: "USER"eacceptUserTerms: true.- Status inicial
PENDING. - Opção A — QR pela API: faça polling em
GET /v1/telegram/instances/:id/qratéstatusna resposta indicar sucesso (instância ACTIVE no painel/API) ou erro. - Opção B — Sessão manual:
POST /v1/telegram/instances/:id/sessioncom a string exportada do GramJS (alternativa ao QR). - Dashboard: fluxo SSE em
.../qr-login/streamsegue a mesma ideia do QR, com eventos em tempo real no navegador.
PENDING, não adianta enviar mensagem: a instância ainda não tem sessão USER.
Webhooks de conexão (modo USER)
Quando o login USER roda (API ou dashboard), você pode assinar:telegram.instance.connecting— começou a abertura da conexão MTProto.telegram.instance.qrcode— novo linktg://login?...(e opcionalmente imagem base64).telegram.instance.connected— sessão salva; instância pronta para envio.telegram.instance.login_error— falha (timeout, cancelamento, 2FA não suportado no QR, etc.).
Próximos passos
- Modo BOT e modo USER — quando escolher cada um
- Quick Start — exemplos de criação, QR e envio
- Ciclo de vida da mensagem — status após o
POSTde envio
