Bouw voort op grammatica- en Shenute AI-API's
De grammatica-API biedt een alleen-lezen, geversioneerde dataset voor lessen, begrippen, voorbeelden, oefeningen, voetnoten en bronnen, terwijl /api/shenute Shenute AI-interacties levert met providerkeuze en OCR-context voor afbeeldingen.
Begin hier
De meeste integraties starten best bij de API-index, waar de beschikbare resourcefamilies en de huidige datasetversie worden uitgelegd.
Typische workflow
- Roep /api/v1/grammar aan om de huidige endpoints en datasetversie te ontdekken.
- Gebruik /api/v1/grammar/lessons voor de index van gepubliceerde lessen.
- Laad /api/v1/grammar/lessons/[slug] voor volledige lespayloads.
- Gebruik /api/openapi.json om clients te genereren of het schema in tooling te importeren.
- Verstuur POST /api/shenute voor Shenute AI-antwoorden (standaardprovider: openrouter).
- Stuur OCR-requests voor afbeeldingen naar POST /api/ocr zodat Coptic Compass ze doorstuurt naar OCR_SERVICE_URL.
Belangrijke endpoints
Ontwikkelaars
/api/v1/grammar
Ontdekkingsindex voor de publieke grammatica-API.
/api/v1/grammar/lessons?status=published
Index van gepubliceerde lessen voor publieke integraties.
/api/v1/grammar/manifest
Manifest met datasetmetadata en aantallen.
/api/openapi.json
Machineleesbaar OpenAPI-document.
/api/shenute
Shenute AI-endpoint met providerkeuze en fallback-afhandeling.
/api/ocr
OCR-proxyendpoint dat afbeelding-uploads doorstuurt naar OCR_SERVICE_URL.
Integratienotities
- Responses zijn alleen-lezen en bevatten schemaVersion, datasetVersion en generatedAt.
- De publieke dataset bevat alleen gepubliceerde lessen en de bijbehorende begrippen, voorbeelden, oefeningen, voetnoten en bronnen.
- De lesson-filter accepteert zowel een slug als een canonieke les-id.
- Voor browser-apps op een andere origin is een backendproxy de veiligste standaardoptie.
- Shenute AI ondersteunt providers: openrouter, gemini en hf.
- Bij upload van afbeeldingen of cameracaptures draait OCR eerst; de geëxtraheerde tekst wordt toegevoegd onder [Image OCR Context] vóór de call naar /api/shenute.
- Stel OCR_SERVICE_URL in en optioneel OCR_UPLOAD_FIELD als uw OCR-backend een vaste multipart-veldnaam vereist.
- Het endpoint /api/ocr proxyt multipart OCR-uploads en geeft het upstream OCR-resultaat terug aan de client.
Voorbeeldrequest
Een minimale server-side fetch-aanroep die de titels van gepubliceerde lessen ophaalt.
const response = await fetch(
"https://www.copticcompass.com/api/v1/grammar/lessons",
);
const payload = await response.json();
const lessonTitles = payload.data.map((lesson) => lesson.title.en);Verwante bronnen
Swagger UI
Interactieve referentie om alle endpoints te verkennen.
OpenAPI JSON
Importeer in Postman, SDK-generators of interne tooling.
API-index
Lees de huidige mogelijkheden en voorbeeldroutes.
Grammatica-overzicht
Bekijk de publieke inhoud die de API ontsluit.
Shenute AI
Referentie-UI met providerkeuze en OCR-ondersteunde afbeeldings- en cameraberichten.
OCR-proxyendpoint
Verstuur multipart OCR-requests zonder uw upstream OCR-service-URL te publiceren.
Voorbeeld Shenute AI-request
Een minimale POST-request naar /api/shenute met OpenRouter als provider.
const response = await fetch("https://www.copticcompass.com/api/shenute", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
inferenceProvider: "openrouter",
messages: [
{
id: "u1",
role: "user",
parts: [{ type: "text", text: "Vertaal deze Koptische zin." }],
},
],
}),
});
const streamOfText = await response.text();OCR-integratienotities
Clients kunnen /api/ocr aanroepen; Coptic Compass stuurt door naar OCR_SERVICE_URL en geeft de upstream OCR-response terug.
# .env.local
OCR_SERVICE_URL=https://your-ocr-service/upload
# Optioneel voor strikte OCR-backends:
OCR_UPLOAD_FIELD=file
curl -X POST "https://www.copticcompass.com/api/ocr?lang=cop" -F "file=@/pad/naar/koptische-afbeelding.jpg"
# OCR-proxyflow
# 1) client POST naar /api/ocr
# 2) server stuurt door naar OCR_SERVICE_URL
# 3) upstream OCR-response terug naar client