AiHummer
Dansk
Log indKonto
v1.2.x
{ }Swagger

Indgående & integrationsudløsere

v1.2.x · opdateret 2026-07-27

Ud over den OpenAI-kompatible API accepterer AiHummer indgående beskeder fra connectorer og automatiseringsplatforme, og udsender en server-side begivenhedsstrøm du kan abonnere på. Disse endpoints er, hvordan eksterne systemer leverer arbejde til gatewayen, og hvordan brugerflader forbliver aktive.

Indkommende endepunkter

Indgående endepunkter er, hvordan kanalforbindelser og brugerdefinerede integrationer afleverer en besked til turn-motoren. De er sikret af en HMAC delt hemmelighed sendt ind i X-AIHummer-Inbound-Secret overskrift (den AIHUMMER_INBOUND_SECRET indstillingskatalognøgle — konfigureret i administrationsbrugerfladen under Administration → Indstillinger eller med aihummer settings set, ikke i gateway.env).

Metode & sti Formål
POST /v1/inbound/telegram Indgående payloads fra Native Telegram
POST /v1/inbound/generic Generisk indgående for email→webhook, cron og brugerdefinerede apps
POST /v1/inbound/binding/status Rapporter kanalbindingsstatus

Den generisk endpoint er den enkleste måde at føre enhver kilde ind i AiHummer. Send en lille JSON-body med kanalnavnet, en stabil ekstern identifikator og meddelelsesteksten:

curl https://your-aihummer.example/v1/inbound/generic \
  -H "X-AIHummer-Inbound-Secret: $AIHUMMER_INBOUND_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "email",
    "external_id": "ticket-4821",
    "text": "A customer asks whether order #4821 has shipped."
  }'

[!NOTE] Den generiske indgående dispatcher har brug for et standardarbejdsområde. Indstil AIHUMMER_DEFAULT_WORKSPACE_ID så indgående beskeder kan dirigeres.

[!WARNING] Indgående endepunkter er ikke beskyttet af en ah- API-nøgle — de er afhængige af X-AIHummer-Inbound-Secret HMAC. Hold den hemmelighed ude af klient-side kode og drej det, hvis det lækker.

Integrationstriggere (Zapier / Make)

POST /v1/integrations/trigger er indgangspunktet for lavkode-automatiseringsplatforme såsom Zapier og Lave. Slutpunktet er deaktiveret som standard: indtil AIHUMMER_INBOUND_TRIGGER_SECRET indstilling er konfigureret, svarer den med 501 Not Implemented. Dette er en separat hemmelig, adskilt fra AIHUMMER_INBOUND_SECRET; ligesom hver indstilling-katalog nøgle sættes den i administrationsgrænsefladen (Management → Settings) eller med aihummer settings set.

Når det er konfigureret, accepterer slutpunktet enten en X-AIHummer-Signature HMAC eller en bærertoken af formen Authorization: Bearer <the AIHUMMER_INBOUND_TRIGGER_SECRET value>.

curl https://your-aihummer.example/v1/integrations/trigger \
  -H "Authorization: Bearer $AIHUMMER_INBOUND_TRIGGER_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "zapier",
    "external_id": "lead-99",
    "text": "New lead captured from the contact form."
  }'

Backend til Admin Sessions

Disse to ruter er det interne transportlag, der er bevaret til siden Admin Sessions. De er ikke en understøttet kanal, som kunder kan indlejre.

Metode og sti Formål
POST /v1/web/session Åbn eller tilknyt en Admin Sessions-samtale igen
GET /v1/web/stream Stream samtalens svar via SSE

Begivenhedsstrøm

GET /v1/events/stream er en genoptagelig Server-Sent Events-feed af gateway-begivenheder. Endepunktet har to faste krav:

  1. Den ?workspace_id=<id> parameter er obligatorisk — uden det anmodningen afvises med 400. En lejerbeskytter verificerer, at arbejdsområdet tilhører opkalderens lejer; en anden persons workspace_id afkast 403.
  2. Godkendelse kræves — en admin-session (cookie) eller en ah- API indtast en Authorization: Bearer header. Uden den er svaret 401.

Giv en ?since= markør til at genoptage fra, hvor en tidligere forbindelse stoppede, så en genforbindelse aldrig mister begivenheder.

# Subscribe from the beginning
curl -N -H "Authorization: Bearer ah-..." \
  "https://your-aihummer.example/v1/events/stream?workspace_id=<id>"

# Resume after a known cursor
curl -N -H "Authorization: Bearer ah-..." \
  "https://your-aihummer.example/v1/events/stream?workspace_id=<id>&since=<cursor>"

[!TIP] Behandl værdien, som hver begivenhed bærer, som den næste since markør. Tænd genforbind, afspil fra den cursor for at garantere mindst-en-gang levering til din forbruger.

Hvor til næste