One Integration,
Unlimited Validators
A fast-growing e-commerce operation was scaling into new markets, adding carriers, and integrating more systems every quarter. But validation logic — the rules that check whether an address is real, a VAT number is valid, a shipment weight is within limits — was being rebuilt from scratch every single time, in every single system.
// Before: validation everywhere Storefront → own rules Backoffice → own rules Warehouse → own rules Call center → own rules // After: integrate once Storefront → Requestador → ERP Backoffice → Requestador → WMS CSV Import → Requestador → Orders Call center → Requestador → CRM // Add new validators — zero deploys
Validation logic lived everywhere — and it was breaking everything
When a new carrier required a different address format, four teams had to coordinate a release. When a new market launched, developers rebuilt the same postal code checks they'd written twice already. Customers were getting through checkout with bad addresses and finding out at the warehouse. VAT numbers were passing the storefront but failing invoicing. The same broken data, over and over, from different angles.
Duplicate rules across storefront, ERP, warehouse, and backoffice — each slightly different
Address errors slipping through to the warehouse, causing failed deliveries and support backlogs
Carrier rule changes forced coordinated multi-system deployments across teams
Free-text return reasons made analytics meaningless and routing entirely manual
Requestador became the single place where validation lives
Instead of rebuilding rules per system, the team integrated each application once to Requestador. From that point on, adding a new validator — a new carrier's weight limit, a new country's address format — meant configuring a single endpoint. No deployment. No cross-team coordination. Business teams started owning rules that used to require a developer ticket.
How it works
Checkout submits address to the validate_address endpoint. Requestador checks postal code against city, validates phone format, confirms carrier compatibility — and returns structured errors or a normalized result.
Same endpoint reused in backoffice order editing, call center entry, CSV bulk imports. The rules are central — every surface gets identical behavior without any extra code.
Return reasons are mapped through a catalog layer:
"product didn't fit" → SIZE_ISSUE, "arrived damaged" →
DAMAGE_TRANSIT. Analytics and routing automation become
possible overnight.
Validation stopped being a development task
The team stopped rebuilding the same logic. New validators were added in minutes by business teams, not developers. Delivery failures dropped. Support workload dropped. And when a new market launched, integration was a configuration task — not a sprint.