# Für deine Website

> Bau Terminbuchung, Support-Formular und Fehlermelder in deine Website ein: mit einer Zeile HTML, als React-Komponente, als iframe oder über die REST-API. Auf dieser Seite findest du alles, was du dafür brauchst.

- Seite: https://www.ciro-noise.de/entwickler
- English version: https://www.ciro-noise.de/en/developers.md

## Schnellstart in drei Schritten

- **Einbettung anlegen**: Melde dich an und öffne Organisation › Einbettungen. Wähle, was du einbetten willst: Terminbuchung, Support-Formular oder Fehlermelder. CIRO NOISE erzeugt dafür einen öffentlichen Schlüssel.
- **Domain eintragen**: Trag die Domains ein, auf denen der Schlüssel funktionieren soll, zum Beispiel https://meine-firma.de. Solange die Liste leer ist, funktioniert er überall. Das ist praktisch zum Ausprobieren. Bevor deine Seite live geht, trägst du deine Domains ein.
- **Schnipsel einfügen**: Kopier den Schnipsel aus CIRO NOISE oder von dieser Seite und setz deinen Schlüssel ein. Das Beispiel unten bettet eine Terminbuchung fest in die Seite ein.

## Terminbuchung

Besucher sehen die freien Zeiten einer Terminart, wählen einen Termin und beantworten deine Fragen. Die Buchung landet in CIRO NOISE: Der Besucher bekommt eine Bestätigung mit Kalendereintrag, die zuständige Person in deinem Team einen Hinweis. Den Schlüssel legst du je Terminart an.

## Support-Formular

Kundinnen schreiben dir direkt von deiner Seite aus. Jede Anfrage landet in der Funktion Anfragen, die Kundin bekommt eine Eingangsbestätigung mit Link zum Verlauf, dein Team eine Benachrichtigung.

## Fehlermelder

Lass die Nutzer deiner Anwendung Fehler und Verbesserungen melden, ohne dass sie ein Ticket-System kennen müssen. Jede Meldung wird eine Aufgabe auf dem Board, das du beim Schlüssel einträgst. Seite, Browser und Fenstergröße gehen automatisch mit, auf Wunsch auch ein Bildschirmfoto.

## Ereignisse und JavaScript-API

Was im Rahmen passiert, meldet der Lader als Ereignis an deine Seite. Damit kannst du zum Beispiel auf eine Danke-Seite weiterleiten oder selbst messen. Über window.CiroEmbed steuerst du den Lader direkt.

## REST-Referenz

Zwei versionierte Endpunkte unter /api/v1, mit CORS für jeden Browser. Den Schlüssel schickst du immer im Header mit, nie im Body.

## Sicherheit und Grenzen

- **Erlaubte Domains**: Steht eine Liste am Schlüssel, nimmt CIRO NOISE nur Aufrufe von diesen Domains an. Verglichen wird der vollständige Origin, nicht nur sein Anfang. Eine leere Liste erlaubt jede Domain.
- **Widerrufen**: Ein widerrufener Schlüssel hört sofort auf zu arbeiten, auf jeder Seite. Leg danach einen neuen an und tausch ihn aus.
- **Ratengrenzen**: Support:  Anfragen je Stunde und Adresse,  je Schlüssel. Fehlermelder:  je Stunde und Adresse,  je Schlüssel. Buchungen:  je Stunde und Organisation.
- **Nur über HTTPS**: Der Rahmen lässt sich auf jeder HTTPS-Seite einbetten, zum Entwickeln zusätzlich auf localhost und 127.0.0.1.
- **Abgeschotteter Rahmen**: Das iframe läuft in einer Sandbox ohne allow-top-navigation: Es kann deine Seite nicht wegnavigieren und sieht weder ihre Cookies noch ihre Daten.
- **Stabile Adresse**: /ciro-embed/v1.js bleibt, wie sie ist. Ändert sich das Verhalten, kommt v2.js daneben, damit deine Einbindung nicht über Nacht bricht.

## Wenn es nicht klappt

- **Die API antwortet mit 401**: Prüf zuerst, ob der Schlüssel zur Art passt: Ein Terminbuchungs-Schlüssel kann keine Anfrage anlegen. Prüf dann, ob er widerrufen ist und ob deine Domain mit https:// und ohne Pfad in der Liste steht.
- **Das Widget bleibt leer**: Setz das Skript unter das Ziel-Element oder lade es mit async. Baukästen, die Abschnitte nachträglich einfügen, erkennt der Lader von selbst.
- **Das iframe schneidet ab**: Ohne Lader kennt das iframe seine Höhe nicht. Nimm den Lader oder die React-Komponente, oder erhöh height im iframe.
- **Im lokalen Test erscheint nichts**: Lokal geht nur localhost oder 127.0.0.1 über http. Andere Adressen brauchen HTTPS.

## CIRO NOISE auf einen Blick

- CIRO NOISE ist ein Arbeitsplatz für kleine Unternehmen und Teams bis etwa 50 Personen: Wiki, Aufgaben, Kundenanfragen, Finanzen mit Angeboten und Rechnungen, Kunden (CRM), Meetings, Wissen mit KI, Social Media, Passwort-Tresor und Zeiterfassung hinter einem Login.
- Preis: Die ersten 2 Plätze sind kostenlos, mit allen Funktionen. Jeder weitere Platz kostet 25 € im Monat zzgl. USt. Keine Kreditkarte für den Start.
- Datenschutz: Server und KI laufen in EU-Rechenzentren, Inhalte trainieren keine KI-Modelle, Rechte gelten je Person und Funktion.
- KI-Anbindung: Claude und andere KI-Assistenten verbinden sich über MCP, den offenen Standard für KI-Werkzeuge, mit genau den Rechten der Person.
- Anbieter: CIRO GmbH, Eching. Kontakt: hello@ciro.gmbh, Telefon +49 89 24 88 31 22.
