TelAPI (0.9.17-patch1)

Download OpenAPI specification:

TelAPI receives provider webhooks under /api/v1/webhooks and exposes a health probe at /health.

Health

GET /health — minimal probe (Redis); detail via OpenTelemetry

Service health

Returns 200 when required dependencies (Redis) are reachable; otherwise 503. Minimal body — monitor detail via OpenTelemetry.

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Aggregated SIP trunk health

Returns per-trunk health for all voice servers from Redis heartbeats plus DB fallback. Requires an internal API token with the read:trunk_health permission.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
  • "generatedAt": "2019-08-24T14:15:22Z",
  • "count": 0,
  • "servers": [
    ]
}

Webhooks

Webhook receivers

Receive TOBi chatbot callback

Receives message callbacks from a TOBi chatbot and forwards them to TelPhi. Call/trace correlation is loaded from the Redis callback session written by TelPhi. Each callback must include the per-conversation callback token in the token header. A ?token= query echo is legacy only and is not sufficient by itself. Legacy trace/call query params are ignored when a Redis callback session exists.

path Parameters
channelId
required
string

The channel ID this callback belongs to (TOBi conversation ID)

query Parameters
token
string

Optional legacy auth token echo from Vodafone callback URLs. Prefer the token header.

traceId
string
parentSpanId
string
callId
string
header Parameters
token
required
string
Example: <token>

Required. Per-conversation TOBi callback token. Vodafone must send this as the literal token header value (not Bearer, not only a query parameter).

Request Body schema: application/json
required

TOBi callback payload sent by Vodafone (SendMessageResponse). TelAPI requires conversation.identifier.id so the callback can be correlated to the TOBi channel.

object
object

Sender identity of the callback (bot user). Accepted for TOBi API compatibility; currently not used by Delphi.

object
object

Legacy provider metadata. Vodafone recommends channelData instead, but TelAPI forwards metadata when present.

expectAnotherBotMessage
boolean

Top-level AudioCodes continuation hint. true means another bot message is expected; false means this response completes the bot turn.

object

Session parameters at the body root. Only expectAnotherBotMessage is evaluated here; dynamic call-configuration changes (DTMF, STT/TTS, barge-in, …) must be sent as a config custom event instead.

Array of objects

Outgoing channel data returned by TOBi on callbacks (Vodafone OutgoingChannelData). This is bot-to-platform context such as scenario flags or routing hints.

Do not confuse this with Delphi inbound channel-data forwarding configured in TelWeb (Flow Builder → channelDataRules and application metadata attributes), which maps carrier SIP INVITE headers into channelData on create-conversation requests sent to TOBi. Internal Delphi headers (X-Trace-ID, X-Span-ID, X-VGW-IpTelpro, X-Delphi-*, etc.) are stripped before header forwarding. Callback channelData travels in the opposite direction. The case-insensitive sensitiveInfoOnStorage key updates sticky per-call storage protection; when duplicate keys are present the last entry is authoritative. A config custom event in the same callback overrides channelData. Other entries remain available on the TelPhi Redis stream.

object

NLU analysis (intents, entities, sentiment) from the bot. Delphi does not interpret this data; it is forwarded unmodified on the internal message stream for downstream consumers.

eventName
string

SeeTest alias for a top-level control event name (hangup, transfer). Prefer messages[].content.event.custom.

name
string

Canonical top-level control event name. Same meaning as eventName.

object

SeeTest alias for the control-event value (headers, reasons). Merged into the hangup/transfer command.

object

Canonical top-level control-event value. Same meaning as input.

handoverReason
string

Optional hangup/transfer reason when the control event is sent at the body root. Blank or omitted uses the Flow Designer default.

hangupReason
string

Alias for handoverReason on a top-level hangup event.

Array of objects

BYE headers when the hangup event is sent at the body root.

Array of objects or objects

Managed callback actions array. Each item is { name, value } or { eventName, input }.

Responses

Request samples

Content type
application/json
Example

Spoken or written bot content only. TelAPI extracts text from messages and forwards it to TelPhi.

{
  • "conversation": {
    },
  • "messages": {
    },
  • "channelData": [
    ],
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "received": true,
  • "streamId": "1778022191343-0"
}