Download OpenAPI specification:
TelAPI receives provider webhooks under /api/v1/webhooks and exposes a health probe at /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.
{- "generatedAt": "2019-08-24T14:15:22Z",
- "count": 0,
- "servers": [
- {
- "serverId": "string",
- "group": "string",
- "ip": "string",
- "lastHeartbeat": 0,
- "source": "redis",
- "trunks": [
- {
- "trunkId": "string",
- "trunkName": "string",
- "status": "available",
- "reason": "string",
- "rttMs": 0,
- "lastCheckedAt": "2019-08-24T14:15:22Z"
}
]
}
]
}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.
| channelId required | string The channel ID this callback belongs to (TOBi conversation ID) |
| token | string Optional legacy auth token echo from Vodafone callback URLs. Prefer the token header. |
| traceId | string |
| parentSpanId | string |
| callId | string |
| token required | string Example: <token> Required. Per-conversation TOBi callback token. Vodafone must send this as the literal |
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 ( |
| 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 |
Spoken or written bot content only. TelAPI extracts text from messages and forwards it to TelPhi.
{- "conversation": {
- "identifier": {
- "id": "tobi-conversation-123",
- "name": "Customer conversation"
}
}, - "messages": {
- "timestamp": "2026-05-06T10:15:30.000Z",
- "message": [
- {
- "messageId": 1,
- "sequence": 1,
- "content": {
- "textMessage": {
- "textPlain": "How can I help you today?"
}
}
}
]
}, - "channelData": [
- {
- "key": "scenarioTriggered",
- "value": "General inquiry"
}
], - "metadata": {
- "locale": "de-DE"
}
}{- "received": true,
- "streamId": "1778022191343-0"
}