Tokens
xoxb-token de bot: actúa como el usuario bot de la appxoxp-token de usuario: actúa en nombre de una personaxapp-token de app: Socket Mode (connections:write)- Signing secret: verifica las peticiones HTTP de Slack
Firma de peticiones
- Cadena base: v0:{X-Slack-Request-Timestamp}:{cuerpo en bruto}
- HMAC-SHA256 con el signing secret, compara con X-Slack-Signature (v0=...)
- Rechaza timestamps de más de 5 minutos
- Los reintentos llevan X-Slack-Retry-Num y X-Slack-Retry-Reason
Modos de entrega
- Events API por HTTP: Request URL pública, desafío url_verification al configurar
- Socket Mode: WebSocket desde tu app, sin URL pública; no permitido en apps del Marketplace
- Confirma eventos, comandos e interacciones en 3 segundos
- response_url permite responder más tarde a un comando o interacción
mrkdwn
- *bold* _italic_ ~strike~ `code` ```bloque```
<https://example.com|texto>enlaces<@U123>,<#C123>,<!here>,<!channel>- Escapa &, < y > como & < >
Scopes de bot comunes
chat:writepublicar mensajescommandscomandos slashapp_mentions:read@menciones de la appchannels:history,im:historyleer mensajesusers:read,reactions:write,files:write
Errores comunes
not_in_channelinvita al bot o usa chat:write.publicchannel_not_foundID incorrecto o sin accesomissing_scopeañade el scope y reinstalainvalid_blocksrevisa límites y tipos de camporatelimited/ HTTP 429 respeta Retry-After
Fuente: api.slack.com.
Última revisión con la documentación oficial: