Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Budbee Bundle Laravel Package

setono/budbee-bundle

Symfony bundle from Setono that adds Budbee home delivery to your e-commerce checkout, letting customers select Budbee shipping options and handling the related delivery data. Easy to install, though it has seen little community adoption so far.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. setono/budbee-bundle is a Symfony bundle, not a Laravel package. It ships a Bundle class, DI extension, service definitions, and likely config-tree validation typical of Symfony bundles. In a Laravel codebase it cannot be installed and consumed as-is — Laravel's service container, facades, and provider model are conceptually adjacent but contractually incompatible. The actual integration surface is more likely the underlying Budbee PHP SDK (budbee/client or similar) that this bundle wraps; the bundle is thin glue for auto-wiring, configuration, and possibly Sylius integration (Setono is a Sylius-focused agency, and a sibling setono/sylius-budbee-plugin likely exists).

Integration feasibility. For a Symfony application: high — composer require setono/budbee-bundle, enable in bundles.php, configure Budbee API credentials and environment (sandbox/production), inject the Budbee client service. For a Laravel application: low as a package install, moderate as a code-adaptation effort. The realistic path is to depend on the upstream Budbee PHP SDK directly and write a Laravel-native adapter (service provider, config file, queued jobs, HTTP client binding, event/webhook handling).

Technical risk.

  • Adoption risk (high): 0 stars, 0 dependents, single-vendor maintenance. No evidence of production usage in the wild.
  • Maintainer concentration (high): Setono is a small agency; bus factor is effectively 1–2 people. The project is a commercial convenience layer, not a community-driven OSS project.
  • Upstream API risk (high): Budbee merged with Instabox in 2022 to form Instabee. API surface and commercial terms are controlled by a single carrier; changes can be announced with short notice and no community fork will blunt the impact.
  • Framework coupling (medium): Symfony bundle semantics constrain upgrades — a Symfony major bump can invalidate the bundle without any Budbee API change.
  • Staleness (medium): Last release 2024-03-06; check Symfony version constraints and the pinned SDK version before assuming compatibility with current Symfony 7.x.
  • Licensing (low): MIT — no legal friction, but no warranty or SLA either.

Key questions.

  1. Which Budbee PHP SDK version is pinned, and is the bundle a thin wrapper or does it add business logic?
  2. Which Budbee API capabilities are covered — shipment creation, label generation, tracking, webhooks, returns, pickup-point selection?
  3. Symfony version matrix and PHP version floor; is Symfony 7 supported?
  4. Is Sylius support in scope (separate plugin) or bundled here?
  5. What is the Budbee/Instabee API stability and deprecation policy, and is there a sandbox environment?
  6. What is the auth model (API key, OAuth, HMAC webhooks) and where are secrets expected to live?
  7. Is there any test suite, CI, or static analysis — or is this a code-only release?

Integration Approach

Stack fit. If the target application is Laravel, this bundle does not fit; the correct dependency is the underlying Budbee SDK, with a Laravel wrapper written in-house. If the target is Symfony (or Sylius), the bundle is the intended integration and fits the conventional pattern. If the target is a heterogeneous estate (Laravel commerce + Symfony services), the cleanest architecture is a small Symfony or framework-agnostic shipping service that owns the Budbee SDK and exposes a narrow internal API to Laravel consumers.

Migration path (Laravel).

  1. Identify and pin the upstream Budbee SDK (inspect the bundle's composer.json require section).
  2. Author a BudbeeServiceProvider binding a configured client singleton; mirror the bundle's config keys (api_key, api_secret, test_mode/base_uri) in config/services.php and .env.
  3. Wrap calls in queued jobs (CreateBudbeeShipment, FetchBudbeeTracking) so carrier latency never blocks checkout or order placement.
  4. Map Budbee domain concepts onto existing models (Shipment, TrackingEvent, PickupPoint) rather than leaking SDK DTOs into the domain.
  5. Register webhook routes and verify signatures in middleware.

Migration path (Symfony/Sylius). Conventional: enable bundle, configure credentials per environment, register the Budbee service in the checkout/shipping flow, and — if Sylius — install the corresponding Sylius plugin for shipping-method and label integration.

Compatibility. Verify composer.json constraints against the host's PHP and Symfony/Laravel versions before committing. If the bundle pins Symfony ^5.4|^6.0 and the host is on Symfony 7, expect to fork or pin. On the Laravel side, confirm the SDK's Guzzle/PSR-18 requirements do not conflict with Laravel's HTTP client stack (usually fine, but check).

Sequencing.

  1. Spike: install SDK in sandbox, exercise shipment creation and tracking against Budbee's test environment.
  2. Decide build-vs-fork: thin Symfony bundle vs Laravel adapter vs standalone service.
  3. Build adapter + domain mapping + queues.
  4. Add webhook ingestion and idempotency keys.
  5. Integrate into checkout (pickup-point selection) and post-purchase (tracking page, notifications).
  6. Load/soak test against sandbox rate limits.

Operational Impact

Maintenance. Low ongoing cost if the adapter is small and the SDK is stable; high tail risk if the SDK is tightly pinned. Budget for periodic dependency bumps — since the bundle is single-maintainer, you are implicitly on the hook for patching it yourself when Symfony or the Budbee API moves. Track the upstream repo's commit activity; a dormant repo with a live commercial API is a classic "works until it silently doesn't" pattern.

Support. No community support forum, no documented issue triage SLA. Commercial support is realistically obtainable only by engaging Setono directly (a paid engagement), or by leaning on Budbee/Instabee's own carrier support for API issues. Neither is a substitute for in-house ownership of the integration code. Expect no Stack Overflow coverage.

Scaling. The integration is I/O-bound and dominated by Budbee's API and rate limits, not by the bundle's code. Scale by queuing outbound calls, caching pickup-point lookups (they change infrequently), and batching label generation. Webhook-driven tracking updates scale better than polling; if the bundle exposes webhooks, prefer them. Watch for order-creation bursts (e.g., promotions) that could hit per-account rate ceilings — design a token-bucket limiter at the adapter layer.

Failure modes.

  • Carrier API outage / 5xx: blocking checkout if calls are synchronous — mitigate with queues and a circuit breaker.
  • Credential rotation or sandbox/production mix-up: common misconfiguration; enforce environment-scoped config and fail fast at boot.
  • Schema drift in SDK/API: silent field renames break label generation; pin versions and add contract tests against sandbox.
  • Webhook loss or duplicate delivery: require idempotent handlers keyed on shipment ID.
  • Framework upgrade breakage: Symfony major bump invalidates the bundle before the carrier changes anything.
  • Abandonment: maintainer stops releasing; you fork, which is feasible at this size but must be planned for.
  • Instabee consolidation: Budbee branding/API endpoints may be folded into Instabee; expect at least one disruptive migration within the planning horizon.

Ramp-up. For a Symfony/Sylius team: days, mostly spent on Budbee domain semantics (pickup points, delivery windows, label formats) rather than the bundle. For a Laravel team: 1–3 weeks for a competent engineer to build and harden the adapter, plus sandbox certification time with Budbee. Onboarding cost is dominated by carrier-specific knowledge (webhook payloads, error taxonomy, label edge cases), not by the package itself — which is, in part, why writing the thin adapter yourself is often cheaper than trying to port a Symfony bundle.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console