What is a QDA?
A Quata Digital Address (QDA) is a short, permanent code for an exact point on the map — for example BA-UPS-00432. The format is CITY-AREA-NUMBER:
BA— the city (e.g. Bamenda)UPS— the area or neighbourhood within that city00432— a unique number for the exact spot
Unlike street addresses, a QDA points to a precise location, never changes, and works even where formal street names don't exist. It travels well: on a receipt, a delivery slip, a WhatsApp message, or a QR sticker on a door.
Creating an address
- 1 Open the Create page and search for a place, or tap directly on the map.
- 2 Fine-tune the pin so it sits on the exact doorway or entrance — zoom in for precision.
- 3 Add a friendly name and category (home, shop, office, market stall…), then confirm.
- 4 We check for nearby duplicates so the same spot never gets two codes, then mint your permanent QDA.
Verification & trust
Every address carries a verification status and a confidence score. As an address is used and confirmed, it moves up the trust ladder:
pending
Just created, not yet reviewed.
verified
Reviewed and confirmed by an operator.
trusted
High confidence from repeated successful use.
retired
No longer active (merged or replaced).
The badge on each public page tells couriers and customers, at a glance, how reliable an address is.
Developer guide
Integrate Quata Maps
API base & authentication
The browser calls the API directly. Point your client at the public base URL:
NEXT_PUBLIC_API_BASE=https://apimaps.quatadigital.com- Public endpoints (search, reverse-geocode, create, get, public page) need no API key.
- Admin endpoints use a
BearerJWT fromPOST /v1/auth/login. - Server-to-server integrations authenticate with a service API key via a BFF proxy.
Key endpoints
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/search | Forward geocode (search places) |
| POST | /v1/reverse-geocode | Coordinates → place |
| POST | /v1/addresses | Create / dedup a QDA |
| GET | /v1/addresses/{qda} | Fetch a single address |
| GET | /v1/public/addresses/{qda} | Public address payload |
| GET | /v1/addresses/{qda}/qr.png | QR image (PNG) |
| POST | /v1/auth/login | Admin login → JWT |
Client-kit drop-in
The embeddable <AddressPicker /> is the fastest way to add address creation to any React app. It ships as three files plus three env vars.
1. The three files
maps-client.ts— the transport (createQuataMapsClient(base))AddressPicker/— the UI componentMapPicker— the Leaflet map (loaded client-side)
2. The three env vars
NEXT_PUBLIC_API_BASE=https://apimaps.quatadigital.com
NEXT_PUBLIC_MAPS_SOURCE_PRODUCT=your-app
NEXT_PUBLIC_MAPS_USER_REF=your-app:user:{id}3. Drop it in
import { useMemo } from "react";
import {
AddressPicker,
createQuataMapsClient,
type PickerResult,
} from "@/components/AddressPicker";
export function Checkout() {
const client = useMemo(
() => createQuataMapsClient(process.env.NEXT_PUBLIC_API_BASE!),
[],
);
return (
<AddressPicker
client={client}
sourceProduct="your-app"
userRef="your-app:user:42"
onSelect={(r: PickerResult) => {
console.log(r.qda_code, r.address, r.label);
}}
/>
);
}--brand and --brand-accent. Set them in your global stylesheet to match your product's colours.curl example
Create an address with a single request — no key required:
curl -X POST https://apimaps.quatadigital.com/v1/addresses \
-H "Content-Type: application/json" \
-d '{
"latitude": 4.0511,
"longitude": 9.7679,
"city_code": "DLA",
"friendly_name": "Akwa Shop",
"category": "shop",
"source_product": "curl-demo"
}'The response includes the minted qda_code, plus_code, geohash, public_url and qr_url.