Download the PHP package phpinnacle/porta without Composer
On this page you can find all versions of the php package phpinnacle/porta. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phpinnacle/porta
More information about phpinnacle/porta
Files in phpinnacle/porta
Package porta
Short Description Webhook integration management for Laravel Filament.
License MIT
Homepage https://github.com/phpinnacle/porta
Informations about the package porta
Porta for Filament
Porta receives JSON webhooks through integrations managed in Filament. Each integration controls authentication, response behavior, and payload transforms before an accepted webhook is dispatched to an application-defined handler through Laravel's queue.
Features
- Filament resource for configuring and testing webhook integrations.
- Header, query-string, or unauthenticated webhook endpoints.
- JSONPath-based mapping, dropping, moving, casting, trimming, date conversion, renaming, and insertion.
- Configurable empty, identity-only, or webhook-detail responses and HTTP status codes.
- Queued processing with persisted status, error details, retry actions, and delivery history.
- Handler registry for routing transformed payloads into application code.
- Optional tenancy and policy-backed integration management.
Requirements
- PHP 8.4 or later
- Laravel 13
- Filament 5
- A queue worker when using an asynchronous queue connection
Installation
Publish the configuration when the navigation or tenancy defaults need to change:
Registering handlers
Register the plugin and every accepted webhook type in the target panel:
The invoker receives the transformed payload. Handler types are stable identifiers: an integration selects one type, and the queued job resolves that type from the registry when processing begins.
Receiving webhooks
Create an integration in Filament, select a registered handler, and configure its authentication, response, and transforms. The edit page shows the generated endpoint:
Porta stores the raw body and request headers, then dispatches ProcessWebhook after the surrounding database transaction commits. Rolled-back creation does not dispatch a job; retries follow the same commit boundary. Run the application's queue worker so scheduled webhooks can reach their handlers:
Only JSON payloads are currently supported. Transforms run in their configured order before the handler is invoked. A JSON payload containing {"test":"test"} exercises endpoint authentication and returns immediately without creating a webhook record.
Integration access is controlled by IntegrationPolicy. Webhook records may contain credentials or personal data from request headers and bodies, so restrict the Filament resource, logs, and database access and define an appropriate retention policy.
Development
Run the repository checks from the monorepo root:
Changelog and license
See MIT License.
All versions of porta with dependencies
filament/filament Version ^5.0
galbar/jsonpath Version ^3.0
phiki/phiki Version ^2.1
phpinnacle/common Version ^1.0
phpinnacle/intl Version ^1.0
phpinnacle/tempo Version ^1.0
spatie/laravel-package-tools Version ^1.92