ekyna/dpd
Laravel package adding DPD (Dynamic Parcel Distribution) shipping features: API integration for label creation, shipment tracking, pickup/dispatch options, and related helpers/config to connect your app to DPD delivery services.
ekyna/dpd) is a focused PHP component for DPD shipment tracking, API integration, and label generation. It aligns well with Laravel’s modular architecture, allowing for clean separation of concerns (e.g., shipping service logic encapsulated in a dedicated service layer)..env and config files can centralize these.ShipmentCreated, TrackingUpdated) for Laravel’s event system, enabling decoupled workflows (e.g., notifications, analytics).DpdApiException) or if custom handling is needed for Laravel’s logging/exception systems.dispatch()) to handle async operations safely.cache()) for frequent queries.DpdClient::class => fn() => new \Ekyna\Dpd\Client(config('dpd.api_key'))).Dpd) to simplify usage (e.g., Dpd::generateLabel($shipment)).php artisan vendor:publish --tag=dpd-config) to customize API endpoints, timeouts, etc.Http::withToken(config('dpd.api_key'))->post()) as a fallback if the package lacks features.LogDpdRequests).shipments table) with relationships to orders/users.dpd_tracking_numbers).DpdService class that wraps the package and adds Laravel-specific logic (e.g., event dispatching).DpdException).Str::snake()).Dpd class vs. Laravel’s DpdService).composer require ekyna/dpd).ShipmentService.dpd config file for API keys/endpoints.ShipmentTracked) and listeners (e.g., send SMS notifications).DpdFacade for cleaner syntax.composer update should trigger testing.spatie/laravel-dpd if available).config/dpd.php) to avoid hardcoding.Log::channel('dpd')->info()) and error pages to diagnose DPD-related issues.Shipment::chunk(50)->each(fn($shipments) => Dpd::syncStatuses($shipments))).Cache::remember()).Dpd::withRetry(3)) and fallback to manual processes if DPD is unavailable.tracking_number is not null).401 Unauthorized errors and alert the team to regenerate API keys.How can I help you explore Laravel packages today?