venturedrake/laravel-neto
Laravel Neto is a Laravel package for integrating with the Neto (Maropost Commerce Cloud) e-commerce API. It provides a convenient client to retrieve and manage products, orders, customers, and inventory from your Laravel application, with configurable credentials and a simple, expressive interface.
get, find, create, update, cancel, status, tracking), items, and customers (including findByEmail) — so it can replace a bespoke API wrapper for a first integration or migration off Neto.request() / get() for arbitrary Neto actions means the roadmap is not bounded by resource coverage — you can commit to less-common Neto endpoints (e.g., vouchers, content, warehouses, RMA) without waiting on package releases, reducing vendor lock-in to this package.Adopt when:
ConfigurationException, RequestException, ResponseException, NotFoundException) rather than parsing HTTP status codes by hand — a real win for error-handling UX and retry logic.request()/get() escape hatch means low risk of being blocked by missing endpoints.Look elsewhere or wait when:
request().create/update/cancel carry idempotency risk; confirm whether retries are scoped to safe/idempotent GETs or applied blindly.For executives: This is a small, focused integration library for Maropost Commerce Cloud (Neto) that lets our engineering team connect orders, items, and customers to our Laravel platform without building an API client from scratch. It handles the unglamorous-but-essential parts — authentication, timeouts, retries, structured error handling, and safe logging that doesn't leak credentials — which is where these integrations usually break in production. Expect to save engineering weeks versus a bespoke wrapper, and to keep the door open to any Neto endpoint via a generic escape hatch. The caveat is maturity: it's an initial pre-release with no stability guarantees, so we should pilot it on a non-critical path and pin the version before depending on it for order fulfilment.
For engineering: Single Neto client with header auth, configurable timeout, transient-failure retries, and optional logging with a masked API key. Typed resources for Orders (get, find, create, update, cancel, status, tracking), Items and Customers (get, find, create, update, plus findByEmail), and request()/get() for anything else. Errors are surfaced as four typed exceptions, so you can distinguish configuration mistakes, transport failures, bad responses, and 404s instead of checking status codes. Constraint: PHP 8.3–8.5 and Laravel 12–13 only. Open questions to resolve before we commit: pagination and large-result handling, rate-limit/backoff behaviour, idempotency of retries on mutating calls, and whether webhook-style order events are reachable through the generic request method.
Recommended next step: timeboxed spike — wire it to a sandbox Neto store, integrate order status/tracking reads, validate retry and logging behaviour under simulated 5xx and timeout conditions, and decide on version pinning plus a fork-or-fallback plan if the package stalls.
How can I help you explore Laravel packages today?