maillotf/ikentoo-bridge-bundle
A bridge bundle that connects your PHP application to the iKentoo point-of-sale platform. It wires up credentials, service clients, and configuration so you can query POS data, sync orders, and build integrations without boilerplate. Install, configure, and start talking to iKentoo.
composer require maillotf/ikentoo-bridge-bundle. Note this pulls in Symfony components, so check for conflicts with your Laravel version before committing.config/ikentoo.php publish step, and no facade. Expect to wire it up by hand.ServiceProvider (or bind it lazily):// app/Providers/IkentooServiceProvider.php
public function register(): void
{
$this->app->singleton(IkentooService::class, function () {
return new IkentooService([
'protocol' => config('services.ikentoo.protocol', 'https'),
'host' => config('services.ikentoo.host'),
'port' => config('services.ikentoo.port', '443'),
'token' => config('services.ikentoo.token'),
]);
});
}
config/services.php (env-backed), not in a YAML file. The README's framework.yaml/services.yaml snippets are Symfony-only and will not load in Laravel.public function test(IkentooService $is)
{
$from = new \DateTime('2020-01-09');
$to = new \DateTime('2020-10-09');
return response()->json(
$is->financial->getReceiptTransactionsRange("101163659689986", $from, $to, ['staff'], 1000)
);
}
IkentooService class and its public properties (financial, orderAndPayment, …). Those are your real API surface — the README only documents two methods.financial->… and orderAndPayment->… calls don't leak into controllers. This is also where you'll add caching, retries, and logging.IkentooService in constructors and let the container resolve your singleton binding. This keeps you swappable in tests.getReceiptTransactionsRange with a large date window and limit = 1000 is a slow, paginated HTTP call. Dispatch to a job and persist results rather than calling it in a request cycle.loadMenu) change infrequently — Cache::remember() them keyed by menu ID and invalidate on a schedule."101163659689986"). Keep them as strings end to end; never cast to int (32-bit overflow on some PHP builds, and precision loss in JSON).JsonResource before returning from controllers, so a package update doesn't reshape your public API.IkentooService per token, rather than a global singleton.loadMenu(...) is missing a trailing semicolon, and $is->financial->… relies on magic/typed sub-services the docs never enumerate. Read the source for the actual method signatures.127.0.0.1:80). Validate config at boot and fail fast if token/host are blank.composer require may pull Symfony HTTP client/config components. Check composer why for conflicts and pin versions if your app already ships Symfony packages.IkentooService with your own class implementing the same calls, and bind that. Avoid editing vendor code, since a patch release will overwrite it.How can I help you explore Laravel packages today?