baks-dev/ozon-support
BaksDev Ozon Support is a PHP 8.4+ module for integrating Ozon technical support into your application. Install via Composer and add the Ozon Support profile type using the provided console command. Includes tests for the ozon-support group.
Read this before running composer require. baks-dev/ozon-support is not a Laravel package. It is a satellite module of the BaksDev ecosystem — Symfony-style console tooling (bin/console), a baks: command namespace, a PHP 8.4 floor, and almost certainly Doctrine entities behind it. There is no ServiceProvider, no config/ozon-support.php, no facade, no publishable assets. Laravel's package discovery has nothing to discover.
So "getting started" splits into two honest paths.
Path A — evaluate the package itself (half a day, disposable):
php -v must be 8.4+. Laravel 11/12 run fine there; a legacy Laravel 9/10 image likely does not.composer require baks-dev/ozon-support.vendor/baks-dev/ozon-support/composer.json immediately. That single file answers the questions the README does not: which baks-dev/* packages are hard requires, whether it pulls Doctrine, and whether it declares a Symfony bundle class.baks:users-profile-type:ozon-support and the migration/schema it writes. That is the entire functional surface of this package.php bin/console baks:users-profile-type:ozon-support and diff the schema. Otherwise stop here — you have now read the whole module.Path B — the realistic Laravel first use case. Take the concept, not the dependency. The package registers an "Ozon Support" profile type so users/agents/tickets can be typed and segmented. In Laravel that is a backed enum plus a column plus a cast:
enum ProfileType: string {
case OzonSupport = 'ozon_support';
}
First real use case: a support agent or account can be filtered as Ozon-facing, so ticket routing, SLA reports, and admin lists can scope to it. Ship that in a migration and a model cast in an hour, with zero new dependencies.
Pattern 1 — Spike-then-decide (recommended default). Timebox the package to a branch: install, run the profile-type command in a BaksDev-capable environment, capture the resulting schema in a written note. Decide from evidence, not from the README. Most Laravel teams will end this spike by closing the branch.
Pattern 2 — Port the concept. If the spike confirms the capability is "label users as Ozon support," reimplement locally: enum + $table->string('profile_type')->index() + cast + a query scope + a factory state + a seeder. This gives you the same leverage with no vendor coupling and no PHP 8.4 gate.
Pattern 3 — Wrap, don't leak (if you adopt). If you genuinely must consume the vendor code, bind it behind your own interface so domain code never references baks-dev namespaces:
// app/Contracts/OzonSupportProfiles.php
interface OzonSupportProfiles { public function typeKey(): string; }
// app/Providers/AppServiceProvider.php
$this->app->bind(OzonSupportProfiles::class, BaksOzonSupportAdapter::class);
Removal then becomes a one-class change instead of a grep across the codebase.
Pattern 4 — Bridging into Artisan (usually a mistake). Running the Symfony command inside Laravel means a custom Artisan command wrapping the Symfony command class, plus Doctrine alongside Eloquent for the schema it touches. Two ORMs on one database is a maintenance tax with no payoff here. Only consider it if the package turns out to own data you cannot reimplement.
Day-to-day workflow tips once the concept is in place:
User::ozonSupport()) so reports and admin filters stay declarative.->ozonSupport()) so tests are readable and seeding is repeatable.Version discipline if adopted: pin the exact version, commit composer.lock, and diff source on every bump. Floating ^7.x against releases whose notes are just the version string repeated is not a defensible posture.
php artisan vendor:publish is misplaced.baks:users-profile-type:ozon-support is not an Artisan command. It requires the BaksDev users subsystem and Symfony's console kernel. In a vanilla Laravel app it simply does not exist.7.4.16 shipping with a 2026 date suggests lockstep monorepo versioning rather than semver for this module. Budget coordinated bumps across the whole baks-dev/* cohort, not a single-package upgrade.composer.json before you assume Eloquent interop.vendor/bin/phpunit --group=ozon-support (not bin/phpunit) is a tagged group in their suite. It is not wired into your pipeline, and there is no visible CI badge. Treat it as evidence of unit coverage, not of integration verification — nothing here is tested against a live Ozon surface.composer why baks-dev/ozon-support to see who dragged it in, composer show -a baks-dev/ozon-support for declared requirements, and a straight read of vendor/ — for a module this size, the source is the documentation.How can I help you explore Laravel packages today?