How paulprk/whatsapi-rest-php works
WhatsApi is a Slim 4 REST API for user accounts, authentication, two-person chats, and messages. Clients send JSON requests; the registered endpoint handlers validate inputs, enforce access rules, and use PDO-backed MySQL operations to return JSON results. The main workflow is authenticated users sending messages, which may create a chat, then listing chats or retrieving chat history; users can also manage profiles and admins can delete users or messages. The README documents additional endpoint behavior not fully visible in the sampled excerpts, so those capabilities are included without inferring finer internal call sequences.
Main entry points: db.php PDO connection · index.php HTTP application · middleware.php Token middleware · auth.php Login and logout
Components 10
API runtime
- HTTP application
slim/index.php - Input validation
slim/validaciones.php
Identity and users
- Login and logout
slim/auth.php - Token middleware
slim/middleware.php - User accounts
slim/users.php
Chats and messages
- Chat operations
slim/chats.php - Message deletion
slim/mensajes.php
Persistence
- PDO connection
slim/db.php - MySQL data
Other components
- API client
Connections 19
- API client → HTTP application: sends requests
README.md - HTTP application → Login and logout: registers routes
slim/index.php - HTTP application → User accounts: registers routes
slim/index.php - HTTP application → Chat operations: registers routes
slim/index.php - HTTP application → Message deletion: registers routes
slim/index.php - Login and logout → Token middleware: protects logout
slim/auth.php - User accounts → Token middleware: protects routes
slim/users.php - Chat operations → Token middleware: protects routes
slim/chats.php - Message deletion → Token middleware: protects deletion
slim/mensajes.php - Login and logout → PDO connection: reads and updates
slim/auth.php - Token middleware → PDO connection: checks and renews
slim/middleware.php - User accounts → PDO connection: queries accounts
slim/users.php - Chat operations → PDO connection: queries chat data
slim/chats.php - Message deletion → PDO connection: deletes messages
slim/mensajes.php - Login and logout → Input validation: validates login
slim/auth.php - User accounts → Input validation: validates fields
slim/users.php - Chat operations → Input validation: validates chat inputs
slim/chats.php - Message deletion → Input validation: parses message ID
slim/mensajes.php - PDO connection → MySQL data: connects to
slim/db.php