# Microservice Importer Intern import-tjänst (`importer-api`) för [recipe-app](../recipe-app). Den hanterar URL-skrapning, OCR, PDF-parsning och AI-kvittoparsning utan databas. Tjänsten körs som Docker-tjänst på det interna `recipe-internal`-nätverket och exponeras inte externt. ## Dokumentstatus (2026-05-10) Det här dokumentet är skrivet för systemadministratörer och utvecklare som driftar eller vidareutvecklar importtjänsten. För arkitektur, drift och tekniska detaljer, se [TEKNISK_BESKRIVNING.md](TEKNISK_BESKRIVNING.md). För roadmap och prioriteringar, se [next_steps_MSImporter.md](next_steps_MSImporter.md). ## Vad tjänsten gör - Tar emot URL:er, filer och markdown för importflöden - Skrapar receptsidor och extraherar `imageUrl` när det finns - Kör OCR för bilder och skannade dokument - Tolkar kvitton via Mistral AI - Returnerar strukturerad data till recipe-app utan att lagra någon session eller databaspost ## Flöden - `POST /api/quick-import` för URL-skrapning, bild-OCR och PDF-import - `POST /api/recipes/parse-markdown` för markdown till strukturerat recept - `POST /api/receipt-import/parse` för kvittobild eller PDF till `ParsedReceiptItem[]` - `GET /api/health` för Docker healthcheck ## Viktigt - Inga absoluta Windows-sökvägar ska användas i kod eller scripts - Tjänsten är stateless - Ingen databas är konfigurerad i tjänsten - Host-port 3001 används av `wetty` på servern och får därför inte exponeras av importtjänsten ## Kort faktadel - Runtime: Node.js 22-alpine - Ramverk: NestJS 10 + TypeScript 5 - OCR: `tesseract.js` - PDF: `pdf-parse` med `pdfjs-dist/legacy` fallback - AI: `@mistralai/mistralai` - Upload: `multer` - Alpine-paket: `tesseract-ocr`, `tesseract-ocr-data-swe`, `tesseract-ocr-data-eng` ## Support - Git repo: Gitea på `192.168.50.2:2222/nilsjohan/microservice-importer`