- How do I install shipsaas/laravel-inbox-process in a Laravel app?
- Install it with Composer using composer require shipsaas/laravel-inbox-process, then publish the package configuration and migrations and run your migrations. Set config('inbox.route_path') if you need a custom ingress path. Verify published files and route registration in a staging branch before exposing the endpoint publicly.
- Which Laravel and PHP versions does laravel-inbox-process support?
- The provided release information does not list exact Laravel and PHP version constraints. Check the package composer.json and release notes, then confirm the constraints match your application's Laravel and PHP versions. Test installation in a staging branch before upgrading production.
- Does it support SQLite, MySQL, and PostgreSQL?
- Version 1.1.2 adds SQLite support, and the package is database-backed for inbox persistence. Use SQLite for local development, demos, or low-volume single-host deployments, and use MySQL or PostgreSQL for production workloads with concurrent writes. Validate the package migrations against both SQLite and your target production database.
- How do I secure the inbox endpoint with authorize?
- Implement the authorize method on the package's Laravel Request class to verify signatures, callers, or other ingress credentials. The built-in HTTP layer enforces authorize, but it is only effective when your implementation is correct. Test unsigned, replayed, and unauthorized requests in staging and document the expected responses for clients.
- How do I validate incoming webhook payloads with rules?
- Define payload contract checks in the rules method of the package's Laravel Request class. The ingress layer enforces those rules before your application handles the message. Test malformed, missing-field, and unexpected-type payloads, and keep the rules aligned with each webhook provider's contract.
- Can I change the inbox route path?
- Yes. Set config('inbox.route_path') to the path you want the package to register for ingress. Before changing it, update webhook clients, gateway routes, documentation, and monitoring, and check for collisions with existing /inbox or other application routes.
- Does the package handle duplicate webhook messages and idempotency?
- The package is designed for ordered, unique, reliable handling of webhook requests, but the exact idempotency contract depends on its inbox persistence and your payload identifiers. Test repeated and replayed provider events in staging. Add application-level unique constraints or deduplication keys where your provider can resend events.
- What happens when authorization or validation fails?
- The package enforces authorize and rules at the HTTP layer, but the provided release notes do not specify the exact HTTP status codes or response bodies returned on failure. Test failed authorization and invalid payloads in staging and document the responses your clients will receive. Confirm behavior before exposing the endpoint publicly.
- How should I test the inbox endpoint before production?
- Test valid, invalid, unsigned, replayed, and malformed payloads against a staging deployment. Run the package migrations against SQLite and your production database, then verify route registration, authorization, rules enforcement, and persistence. Add logging and metrics before canarying production.
- Does the package support multi-tenancy, retention, and flushing policies?
- The provided information does not describe built-in multi-tenancy or detailed retention, resolve, and flush semantics. Treat inbox retention, flushing, and tenant isolation as application-owned policies and verify the package schema and behavior before relying on them. Confirm issue tracker activity, security disclosure process, and release cadence for long-term maintenance, and compare it with a durable queue or event bus if you need proven retry semantics.