- What is bernhardk/laravel-dpd used for?
- It is a Laravel integration for DPD parcel shipping based on Michiel Meertens' DPD Webservice package. It helps Laravel applications create shipments, generate labels, print documents, and track packages through DPD APIs. It follows standard Laravel package conventions with a service provider, facade, and publishable configuration.
- How do I install and configure laravel-dpd in a Laravel app?
- Install it with Composer, then publish the package configuration using the standard Laravel vendor publish command. Supply your DPD credentials such as delis ID, password, depot, and product or service codes through the config or environment-specific secrets. Call the package from your order or shipment workflow after confirming the DPD endpoint and credential setup.
- Which Laravel and PHP versions does laravel-dpd support?
- The provided package context does not list exact Laravel or PHP version constraints. Check the package composer.json and README before installing, especially if your application runs an older Laravel release. If your version is not supported, you may need a fork or compatibility shim.
- Does laravel-dpd support DPD Germany or other DPD country franchises?
- The available context does not confirm which DPD country entities or API versions are supported. DPD franchises can differ in endpoints, credentials, and service codes, so verify this with the package source or maintainer before committing. You should also confirm your DPD contract covers the depot and country flows you need.
- Does laravel-dpd support PDF or ZPL labels, returns, batch shipments, and DPD Predict?
- The overview mentions label generation and document printing but does not document specific label formats such as PDF or ZPL, returns, batch shipments, or DPD Predict services. Inspect the package source and tests, or ask the maintainer, to confirm these workflows. Your DPD contract must also permit the services and label formats you plan to use.
- How should I store DPD credentials when using laravel-dpd?
- Use the package's publishable configuration to inject credentials rather than hard-coding them in application code. Store DPD delis ID, password, depot, and service settings in environment variables or a secrets manager. Review how the package handles authentication and whether any tokens or generated documents need secure storage.
- Does laravel-dpd handle tracking by polling or webhooks?
- The overview says the package supports tracking packages through DPD APIs, but the available context does not specify whether tracking is polling-based, webhook-based, or both. Check the package source and DPD API documentation before designing your synchronization job. Build idempotency and retry handling into your tracking workflow regardless of the mechanism.
- Is laravel-dpd safe to use in production?
- It is MIT licensed and forkable, but it has very low adoption, zero dependents, and a single maintainer, so bus-factor and abandonment risk are real. Test coverage, static analysis, and security posture are not documented in the provided context. Use a thin shipping-provider abstraction, run a parallel pilot, and keep manual DPD portal fallback paths available.
- Can I test laravel-dpd without a DPD business account?
- No, effective end-to-end testing requires a DPD contract, depot assignment, and sandbox credentials. The package cannot be fully evaluated without DPD sandbox access and label or printer setup. Start with authentication and a single domestic shipment in the DPD sandbox before mapping full order workflows.
- How does laravel-dpd compare with a custom DPD SOAP integration or another carrier package?
- The package wraps DPD webservices in Laravel conventions, which can reduce boilerplate compared with a custom SOAP integration. However, it is based on another DPD webservice library and likely inherits SOAP/XML portability and API drift risks. Treat it as one shipping provider behind your own abstraction, and compare it with other carrier packages or a maintained in-house client before locking in.