falafy
PT
Baixar grátis

API pública v1 · @falafy/bot

OAuth2 e “entrar com o Falafy”

Fluxo de código de autorização padrão (RFC 6749) com PKCE S256, obrigatório para apps sem segredo.

Escopos

  • identify: nome, nome de usuário e avatar (GET /api/v1/users/@me).
  • email: inclui o e-mail no /users/@me.
  • servers: lista dos servidores da pessoa (GET /api/v1/users/@me/servers).
  • bot: adiciona o bot a um servidor escolhido na tela de autorização.
  • applications.commands: com bot, instala os comandos no servidor; sem bot, é uma instalação de usuário (o bot pode mandar DM para quem autorizou).

Fluxo

// 1) mande a pessoa para:
https://falafy.com.br/app/oauth2/authorize?client_id=APP_ID&scope=identify%20email
  &redirect_uri=https%3A%2F%2Fseu.site%2Fcallback&response_type=code&state=XYZ
  &code_challenge=BASE64URL(SHA256(verifier))&code_challenge_method=S256

// 2) no callback, troque o code (form-urlencoded):
POST https://falafy.com.br/api/oauth2/token
grant_type=authorization_code&code=CODE&redirect_uri=https%3A%2F%2Fseu.site%2Fcallback
&client_id=APP_ID&code_verifier=VERIFIER        (ou client_secret=... em servidores)

// 3) use o token:
GET https://falafy.com.br/api/v1/users/@me
Authorization: Bearer fo_at_...

Cadastre as URIs de redirecionamento exatas no portal. O state volta igual no redirecionamento: confira para evitar CSRF. Códigos valem 10 minutos e uma vez só.

Tokens

A resposta segue o padrão: access_token (1 hora), refresh_token (30 dias), token_type: "Bearer", expires_in e scope. Renove com grant_type=refresh_token: o refresh antigo deixa de valer (rotação). Revogue com POST /api/oauth2/token/revoke (token, client_id); isso encerra toda a autorização. GET /api/v1/oauth2/@me mostra app, escopos e validade.

Instalar bots

O link do portal (/app/oauth2/authorize?client_id=...&scope=bot%20applications.commands&permissions=...) mostra a tela de consentimento com a escolha do servidor e das permissões. Só entram as permissões que a pessoa que instala também tem, e Administrador nunca é concedido. Bots privados só podem ser instalados pelo dono. Com “Exigir autorização OAuth2 completa”, informe também redirect_uri e response_type=code.