Quata Maps
Documentation

Quata Maps guide

Everything you need — for people creating and sharing addresses, and for developers integrating the API and the embeddable picker.

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 city
  • 00432 — 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. 1 Open the Create page and search for a place, or tap directly on the map.
  2. 2 Fine-tune the pin so it sits on the exact doorway or entrance — zoom in for precision.
  3. 3 Add a friendly name and category (home, shop, office, market stall…), then confirm.
  4. 4 We check for nearby duplicates so the same spot never gets two codes, then mint your permanent QDA.
The address book lets you save addresses as Home, Work or Business and reuse them across the Quata ecosystem (QuataPay, QuataFood and more).

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.

Using the QR & public page

Each QDA gets a public page at /address/{qda} and a downloadable QR code. Anyone who scans the QR or opens the link sees the map, verification badge, coordinates, Plus Code, geohash, and one-tap navigation links to Google Maps, OpenStreetMap and Apple Maps.

Print the QR on packaging, shopfronts or invoices. Scanning it opens turn-by-turn directions straight to the door.

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 Bearer JWT from POST /v1/auth/login.
  • Server-to-server integrations authenticate with a service API key via a BFF proxy.

Key endpoints

MethodPathPurpose
POST/v1/searchForward geocode (search places)
POST/v1/reverse-geocodeCoordinates → place
POST/v1/addressesCreate / dedup a QDA
GET/v1/addresses/{qda}Fetch a single address
GET/v1/public/addresses/{qda}Public address payload
GET/v1/addresses/{qda}/qr.pngQR image (PNG)
POST/v1/auth/loginAdmin 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 component
  • MapPicker — 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);
      }}
    />
  );
}
The picker styles itself with two CSS variables — --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.

Ready to try it?

Create your first address in under a minute.