slack-php-api
An auto-generated, up-to-date PHP SDK covering the entire Slack Web API with a full object-oriented client.
Repository Health
Technical Analysis
jolicode/slack-php-api is a complete PHP SDK for Slack’s Web API, generated automatically with JanePHP from Slack’s official API specs so it stays current and covers every endpoint. Where many PHP Slack clients are outdated or partial, this one provides a full object-oriented interface for all endpoints, requests, and responses.
Built on PSR-7 and PSR-18, it lets you plug in any compliant HTTP client and message factory. A simple ClientFactory produces a client whose methods map directly to Slack API operations, returning typed response objects.
What You Get
- A full object-oriented client covering every Slack Web API endpoint
- Auto-generation from official Slack specs so coverage stays up to date
- Typed request parameters and response objects for safer integration
- PSR-7 and PSR-18 foundation, letting you bring any compliant HTTP client
- A simple ClientFactory entry point for quick setup with a token
Common Use Cases
- Sending messages and notifications to Slack channels from a PHP app
- Looking up users, channels, and workspace metadata via the Web API
- Building Slack bots and integrations that call many API endpoints
- Automating workspace administration tasks from server-side PHP
Under The Hood
Architecture - Endpoint code lives under the JoliCode\Slack\Api\ namespace in a generated/ directory produced by JanePHP from Slack’s OpenAPI specs, while hand-written glue (ClientFactory and helpers) sits under JoliCode\Slack\ in src/. The client builds PSR-7 requests and dispatches them through a PSR-18 client discovered via php-http/discovery, decoding responses into typed model objects.
Tech Stack - PHP >=8.1 with ext-curl, jane-php/open-api-runtime, and php-http components (client-common, discovery, multipart-stream-builder). Development pulls in jane-php/open-api-2 for regeneration plus symfony/http-client and nyholm/psr7 for testing.
Code Quality - The generated layer guarantees consistent, spec-aligned coverage, and the repo includes a tests directory run under PHPUnit, a Makefile, and documented versioning/contribution guides, reflecting a mature, well-governed project.
API Design - The public interface is ergonomic: one ClientFactory call yields a client whose method names mirror Slack API operations, and responses are strongly typed objects. Decoupling from a specific HTTP client via PSR standards keeps integration flexible without extra boilerplate.