Centra connector Available

Address validation & geocoding for Centra storefronts.

React components that drop into your Centra-backed checkout, validate addresses against Acuris's 240+ country coverage, and emit Centra-shaped objects ready for your cart mutation. Open-source under MIT.

Quick start

Three lines to install. Ten minutes to live.

# 1. install the React package into your Centra storefront npm install @acuris-geo/centra-checkout // 2. drop the components into your address step import { AcurisAddressInput, AcurisAddressValidator } from "@acuris-geo/centra-checkout"; <AcurisAddressInput endpoints={ENDPOINTS} country="deu" value={addr} onChange={setAddr} />

What it does

The pieces you actually drop in.

<AcurisAddressInput>

Controlled input with debounced typeahead. Suggestions come from Acuris's /suggest endpoint, proxied through your own backend route so the API key never reaches the browser.

<AcurisAddressValidator>

Render-prop wrapper that validates the user's address on submit or blur. Exposes status, result, error, plus form props you can spread onto any form.

useAcurisValidation / useAcurisSuggest

Headless React hooks for teams that want to roll their own UI but still benefit from the abort-on-stale-keystroke transport layer.

Centra-shaped output

Validate results come back with Acuris's standardized object — flat fields like street / house_number / postcode ready to hand to Centra's cart mutation, no boilerplate.

SSR-safe, unstyled by default

Works under Next.js (pages + app router) and other React SSR frameworks. Ships with no CSS assumptions — bring your own design system.

Native fetch, zero runtime deps

Peer-depends on React 18 or 19. No axios, no node-fetch, no polyfills. Works on Node 18+ and modern edge runtimes (Vercel, Cloudflare Workers).

Architecture

Two trust boundaries. One straight line.

   Browser                       Your backend                   Acuris
   ─────────                     ─────────                      ─────────

   <AcurisAddressInput>   ──►    /api/acuris/suggest   ──►   GET  /suggest
   <AcurisAddressValidator> ─►   /api/acuris/validate  ──►   POST /validate
                                 (acuris-av-sdk +            (api.acuris-geo.com)
                                  ACURIS_API_KEY)

The React components never call api.acuris-geo.com directly. They call your backend, which uses @acuris-geo/av-sdk to forward the request with the API key attached. The merchant's storefront stays in Centra-native vocabulary throughout. Full details in the architecture doc.

See it run

A working Next.js storefront, deployed.

acuris-centra-demo.vercel.app

Minimal Next.js demo with the connector wired against a Next.js API proxy. Try a German address — type "Hammanstr", pick "Hammanstr. 1, 67549 Worms", hit Validate. Expect a rooftop match with confidence 1.00.

Open demo →

Got a Centra storefront?

Get an Acuris API key on the free Dev bundle (1,000 address validations + 1,000 geocoding lookups, plus email and phone credits), and the connector is open-source under MIT. ~10 minutes from npm install to live in checkout.

Get an API key →