Outbound-API

Ausgehende Anrufe per HTTP starten, aus n8n, Make, Zapier oder deinem Server. Endpunkt, Anmeldung, Anfrage, Antwort, Idempotenz und Grenzen.

Mit der Outbound-API startest du einen Anruf deines Agenten mit einer einzigen HTTP-Anfrage. Du übergibst Zielnummer, Absendernummer und Kontextdaten, bhomy schickt den Agenten los, und er führt das Gespräch mit den Werten aus deinem Kontext.

Auf einen Blick

PunktWert
EndpunktPOST https://app.bhomy.ai/api/v1/outbound
AnmeldungAuthorization: Bearer bhomy_live_sk_…
FormatJSON, Content-Type: application/json
Antwort bei Erfolg202 Accepted
Grenze60 Anfragen in 60 Sekunden, je Schlüssel und je IP-Adresse
Voraussetzungbestätigte Identität, Absendernummer mit Agent

API-Schlüssel anlegen

  1. Öffne im Dashboard API Key und klicke auf Neuer Schlüssel.
  2. Gib einen Namen ein, etwa „Make.com Terminerinnerung“.
  3. Kopiere den Schlüssel und speichere ihn sicher. Er wird nur dieses eine Mal angezeigt.

Die Anfrage

FeldPflichtInhalt
toNumberjaZielnummer im Format E.164 mit Pluszeichen, etwa +491701234567
fromNumberjadeine Absendernummer, importiert oder per SIP verbunden, mit zugewiesenem Agenten
contextneinObjekt mit Werten für Begrüßung und Prompt

Der Agent wird über die Absendernummer bestimmt. Eine Agent-ID gibst du nicht an.

curl -X POST https://app.bhomy.ai/api/v1/outbound \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f9c2b1e-7a3d-4c55-9a0e-2d6f8b1c3e77" \
  -d '{
    "toNumber": "+491701234567",
    "fromNumber": "+494012345678",
    "context": {
      "kundenname": "Max Mustermann",
      "termin": "15. Januar"
    }
  }'

Leerzeichen, Bindestriche und Klammern in Nummern sind erlaubt, ebenso ein (0) nach der Ländervorwahl. Eine Nummer ohne Pluszeichen weist die API ab, statt ein Land zu raten.

Kontext im Gespräch nutzen

Jedes Feld aus context steht als Variable bereit. Im Prompt oder in der Begrüßung schreibst du es mit doppelten geschweiften Klammern:

Hallo {{kundenname}}, hier ist die Assistenz der Firma Sommer. Ich rufe wegen
Ihres Termins am {{termin}} an.

Ein Feld, das im context fehlt, entfernt bhomy aus dem Text. Halte die Werte flach und so, wie man sie spricht.

Die Antwort

Bei Erfolg antwortet die API mit 202. Der Agent wählt danach, das Ergebnis des Gesprächs steht später im Anrufverlauf und geht an deine Automationen.

{
  "success": true,
  "callId": "call_8f2a1c",
  "roomName": "outbound_call_8f2a1c",
  "status": "queued",
  "dispatchId": "AD_x7Kp2",
  "message": "Calling +491701234567"
}

Bei einem Fehler steht in error ein fester Code, auf den deine Integration reagieren kann, und in message eine Erklärung. Alle Codes mit Lösung: Fehlercodes der API.

Idempotenz: jeder Anruf genau einmal

Automatisierungswerkzeuge wiederholen Anfragen, wenn eine Antwort ausbleibt. Damit dabei niemand zweimal angerufen wird, schickst du einen Header Idempotency-Key mit, einen neuen Wert je Anruf, etwa eine UUID oder die ID der Zeile in deiner Tabelle.

SituationAntwort
Gleicher Schlüssel, gleiche Anfragedie Antwort der ersten Anfrage, mit dem Header Idempotent-Replayed: true. Es wird nicht erneut gewählt
Gleicher Schlüssel, andere Anfrage422 mit idempotency_key_reused
Die erste Anfrage läuft noch409 mit idempotency_request_in_progress und Retry-After
Ungültiger Schlüssel: leer, länger als 255 Zeichen oder nicht ASCII400 mit invalid_idempotency_key

Ohne den Header startet jede Anfrage einen neuen Anruf.

Grenzen

GrenzeAntwort, wenn erreicht
60 Anfragen in 60 Sekunden, je Schlüssel und je IP-Adresse429 mit rate_limit_exceeded und Retry-After
gleichzeitige Anrufe deines Tarifs429 mit concurrent_limit_reached und Retry-After
Ziele einer importierten Nummer: deutsche Festnetz- und Mobilfunknummern422 mit imported_number_destination

Warte bei 429 die Sekunden aus Retry-After ab, bevor du es erneut versuchst.

Beispiele für Automatisierungswerkzeuge

WerkzeugBausteinAnleitung
n8nHTTP Requestn8n
MakeHTTP › Make a requestMake
ZapierWebhooks by Zapier › Custom RequestZapier

Ergebnisse zurückbekommen

Die API meldet nur, ob der Auftrag angenommen wurde. Wie das Gespräch ausging, bekommst du nach dem Anruf über das CRM Ticket im Reiter Tools › Automation: mit callId, Zusammenfassung, Transkript und erfassten Daten. Über die callId ordnest du das Ergebnis deinem Auftrag zu.