Aller au contenu principal

    Firmen-Location per API buchen

    Eine API für Agenten: Drei Aufrufe genügen, um von einem Satz in natürlicher Sprache zu Anfragen an Locations zu gelangen. Inklusive MCP-Server, signierter Webhooks und OpenAPI-3.1-Spezifikation.

    Ihr API-Schlüssel

    Kann man eine Location für ein Firmenevent per API buchen?

    Ja. Die BookAfterwork-API bildet den gesamten Ablauf ab: Briefing-Analyse, Location-Empfehlungen mit deterministischem Score, Versand der Anfragen, Empfang und Vergleich der Angebote, Bestätigung. Bearer-Schlüssel, Idempotenz, signierte Webhooks und MCP-Server für KI-Agenten. Kostenlos für Unternehmen, ohne Abonnement.

    • 3 Aufrufe für ein vollständiges Briefing
    • MCP-Server in 2 Klicks
    • HMAC-signierte Webhooks
    • OpenAPI 3.1

    Schnellstart

    Senden Sie den Header Authorization: Bearer (oder x-api-key) mit einem Schlüssel bak_test_ oder bak_live_.

    # 1. Briefing analysieren
    curl -X POST https://bookafterwork.com/api/v1/ai/parse-request \
      -H "Authorization: Bearer $BAK_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"text":"Afterwork 35 personnes à Lyon le 12 mars, 40€ par personne"}'
    
    # 2. Locations empfehlen
    curl -X POST https://bookafterwork.com/api/v1/ai/recommend \
      -H "Authorization: Bearer $BAK_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"requestId":"<id>","limit":6}'
    
    # 3. Anfragen senden
    curl -X POST https://bookafterwork.com/api/v1/requests/<id>/dispatch \
      -H "Authorization: Bearer $BAK_API_KEY" \
      -H "Idempotency-Key: dispatch-<id>-1" \
      -H "Content-Type: application/json" \
      -d '{"venueIds":["<venue-1>","<venue-2>"]}'

    Wichtigste Endpunkte

    POST
    /api/v1/ai/parse-requestWandelt einen Satz in ein strukturiertes Briefing um (Stadt, Datum, Teilnehmer, Budget).
    GET
    /api/v1/venues/searchGefilterte Location-Suche: Stadt, Kapazität, Ausstattung, Atmosphäre.
    POST
    /api/v1/ai/recommendRanking der Locations mit erklärtem Score (Ort, Kapazität, Budget, Verfügbarkeit, Reaktionszeit).
    POST
    /api/v1/requestsErstellt eine Eventanfrage.
    POST
    /api/v1/requests/{id}/dispatchSendet die Anfrage an die ausgewählten Locations.
    GET
    /api/v1/requests/{id}/quotesRuft die erhaltenen Angebote ab.
    POST
    /api/v1/ai/compare-quotesVergleicht Angebote (Gesamt, Preis/Pers., bestes Preis-Leistungs-Verhältnis).
    POST
    /api/v1/bookingsBestätigt die Buchung.

    MCP-Server in zwei Klicks

    Fügen Sie die folgende URL in Ihren MCP-kompatiblen Client ein, autorisieren Sie den Zugriff über OAuth 2.1, und Ihr Agent erhält vier Tools: Location-Suche, Städteliste, Erstellung einer Eventanfrage und Anfragenverfolgung.

    https://bookafterwork.com/.well-known/mcp.json

    Details zu Tools, Schemas und Konfiguration: Leitfaden zum Event-MCP-Server.

    Beispiel: Slack-Befehl in 20 Zeilen

    Ihre Teams tippen einen Satz in Slack, die API liefert drei verfügbare Locations mit Preis pro Person.

    // Slack-Befehl: /afterwork 35 Pers. Lyon 12. März 40€
    export default async function handler(req, res) {
      const brief = await fetch("https://bookafterwork.com/api/v1/ai/parse-request", {
        method: "POST",
        headers: {
          Authorization: `Bearer ${process.env.BAK_API_KEY}`,
          "Content-Type": "application/json",
        },
        body: JSON.stringify({ text: req.body.text }),
      }).then((r) => r.json());
    
      const reco = await fetch("https://bookafterwork.com/api/v1/ai/recommend", {
        method: "POST",
        headers: {
          Authorization: `Bearer ${process.env.BAK_API_KEY}`,
          "Content-Type": "application/json",
        },
        body: JSON.stringify({ requestId: brief.requestId, limit: 3 }),
      }).then((r) => r.json());
    
      res.json({
        response_type: "in_channel",
        text: reco.recommendations
          .map((v) => `${v.name} — ${v.capacity} pers. — ${v.price_per_person}€/pers`)
          .join("\n"),
      });
    }

    Komplette Anleitung: Slack-Event-Integration.

    Kontingente & Sicherheit

    SHA-256-gehashte Schlüssel, Scopes pro Schlüssel, Ablauf und Widerruf, Kontingente pro Schlüssel und IP, vollständiges Nutzungsprotokoll, Bot-Schutz auf öffentlichen Routen.

    Idempotenz

    Header Idempotency-Key bei allen Schreibvorgängen: Eine Wiederholung liefert die ursprüngliche Antwort, ohne doppelte Anfrage oder Buchung.

    Webhooks

    HMAC-SHA-256-Signatur, Wiederholungen nach 1, 5, 30, 120 und 720 Minuten, einsehbarer Zustellverlauf.

    Häufige Fragen

    Wie erhalte ich einen BookAfterwork-API-Schlüssel?

    Erstellen Sie ein kostenloses Konto und generieren Sie Ihren Testschlüssel (bak_test_) mit einem Klick auf dieser Seite — er ist sofort aktiv. Der Produktionsschlüssel (bak_live_) wird nach Prüfung Ihres Anwendungsfalls über die Kontaktseite ausgegeben. Schlüssel werden SHA-256-gehasht gespeichert und können jederzeit widerrufen oder rotiert werden.

    Kann ein KI-Agent vollständig selbst buchen?

    Ja. Der gesamte Ablauf ist verfügbar: Analyse des Briefings in natürlicher Sprache, Location-Empfehlungen mit deterministischem Score, Versand der Anfragen, Empfang der Angebote, Vergleich und Buchungsbestätigung. Die KI dient nur dem Verständnis der Anfrage: Preise, Kapazitäten und Verfügbarkeiten stammen immer aus der Datenbank und von den Locations selbst.

    Ist die API MCP-kompatibel?

    Ja. Der MCP-Server ist unter /.well-known/mcp.json mit OAuth 2.1 deklariert und bietet vier Tools: Location-Suche, Städteliste, Erstellung einer Eventanfrage und Verfolgung Ihrer Anfragen. Er lässt sich in zwei Klicks in einen kompatiblen Client einbinden (Claude, ChatGPT, interne Agenten).

    Wie werden Idempotenz und Webhooks gehandhabt?

    Jeder Schreibvorgang akzeptiert einen Idempotency-Key-Header: Eine Wiederholung liefert die erste Antwort. Webhooks sind signiert (HMAC SHA-256) und werden nach 1, 5, 30, 120 und dann 720 Minuten erneut gesendet.