Files
tilbudgivern/docs/api/CUSTOMER_SEARCH_INTEGRATION.md
T

40 lines
1.3 KiB
Markdown

# Kundesøgning mod Ordrestyring
## Formål
Kundesøgningen lader projektflowet finde en kunde i den lokalt synkroniserede Ordrestyring-database og udfylde projektets kundedata.
## Backend
Routes ligger i `backend/unified-server.js`:
| Endpoint | Funktion |
|---|---|
| `GET /api/customers/search?q=<tekst>` | Søger i kundenummer, navn, adresse, postnummer, by, mail og telefon |
| `GET /api/customers/:customerNumber` | Henter én kunde med tilgængelige metadata |
| `POST /api/sync/customers` | Opdaterer den lokale kundekopi fra Ordrestyring |
Søgeteksten skal være mindst to tegn. Resultater begrænses til 50 og prioriterer matches, der starter med søgeteksten.
## Frontend
`frontend/src/components/CustomerSearch.js` håndterer:
- 300 ms debounce;
- loading- og fejlstatus;
- dropdown placeret via portal;
- markering af mulige dubletter før valg;
- valg og rydning af kunde;
- manuel kundesynkronisering.
Komponenten modtager `apiBaseUrl`, `onCustomerSelect` og `selectedCustomer`.
## Lokal kontrol
```bash
curl "http://localhost:4032/api/customers/search?q=Test"
curl "http://localhost:4032/api/customers/TEST_CUSTOMER_NUMBER"
```
Kontrollér både succes, søgetekst under to tegn, ingen resultater og databasefejl. Brug aldrig rigtige kundenavne, adresser, mails eller telefonnumre i dokumentation eller testfixtures.