- What is gepur-it/one-c-client used for in a Laravel application?
- It is a PHP/Laravel client for integrating an application with 1C:Enterprise through its HTTP/OData services. It wraps authentication, request building, and response parsing so you can query catalogs, documents, and registers without writing raw cURL calls. In Laravel it provides a service provider and facade with config-driven credentials.
- How do I install and configure the 1C client in a Laravel app?
- Install it with Composer as gepur-it/one-c-client and configure the 1C endpoint and credentials through the package configuration. Register or use the package's Laravel service provider and facade to access the fluent client. Because documentation is README-level, verify the exact config keys and supported Laravel versions in the repository before wiring it into an app.
- Which 1C:Enterprise protocol does this package support?
- The package is described as a client for 1C HTTP/OData/REST endpoints, with query helpers for OData options such as $filter and $select. The technical assessment warns that you should confirm whether your 1C deployment publishes OData, an HTTP service, or CommerceML before scoping work. It is a transport and adapter layer, not a full 1C ERP domain model or data mapper.
- Does gepur-it/one-c-client support Laravel 10 and Laravel 11?
- The v5.2.0 release note says tests were fixed and PHP 8 support was updated, but it does not declare specific Laravel versions. Do not infer Laravel 10 or 11 support from the PHP 8 note alone. Run composer why-not against your application and test the package in a branch before adopting it.
- How do the $filter, $select, $expand, $top, and $skip query helpers work?
- The client advertises fluent query helpers for common OData query options including $filter, $select, $expand, $top, and $skip. These let you build 1C OData requests without manually concatenating query strings. Check the README for exact method names and expected value formats because documentation is limited.
- Can I replace the HTTP transport for testing or use my own PSR-18 client?
- Yes, the package is described as PSR-18 and PSR-17 compatible, so the transport can be swapped for testing or replaced with a custom HTTP client. That is useful for mocking 1C responses and avoiding live ERP calls in tests. Confirm how the Laravel service provider binds the transport in your version.
- How does the package handle 1C authentication and API errors?
- The overview says it wraps authentication and maps typed request and response handling to clear exceptions. That gives you a cleaner Laravel-facing API than hand-written cURL calls. Specific auth schemes, retry behavior, timeouts, and error mapping are not established in the provided docs, so verify them against your 1C endpoint.
- Is this package production-ready for 1C synchronization?
- Treat it cautiously: it is MIT-licensed and Composer-installable, but the technical assessment cites one star, almost no dependents, and a dormant history until the v5.2.0 PHP 8 and test update. It is best treated as a reference implementation or a spike candidate before it becomes a trusted dependency. If you adopt it, plan for a fork or vendor fallback and add integration tests against your own 1C deployment.
- Does it handle 1C encoding issues such as Windows-1251?
- Encoding support is not established in the provided overview or release notes, and the technical assessment flags 1C's frequent Windows-1251 and UTF-8 mix as unverified. You should test real catalog, document, and register payloads through the client. If encoding is wrong, handle conversion in your transport or response layer before mapping data.
- What should I check before choosing this over a custom 1C client?
- First confirm the package targets the same 1C publication method you use, and that composer why-not resolves cleanly on your PHP and Laravel versions. Then inspect the v5.2.0 test suite, CI status, auth, pagination, encoding, retry, and timeout coverage. If those checks fail, keep the thin-wrapper idea but vendor or fork the package, or implement a small PSR-18 client yourself.