API · v1 · stabil
CODEMETA OS Developer Center
Konsole öffnen
Module

Telefonie

Das Telefonie-Modul verbindet Codemeta OS mit der hauseigenen PBX. Calls werden mit Tickets verknüpft, Audio kann aufgezeichnet, transkribiert und durch eine KI zusammengefasst werden.

Resources – Calls

ResourcePfadPermission-PräfixSequenz
Phone-Calls/api/v1/phone_callsphone_callCALL-
Call-Notes/api/v1/call_notescall_note

Aufzeichnung, Transkript und KI-Summary liegen als typisierte Felder direkt am phone_call-Datensatz — keine separaten Sub-Resources.

Resources – PBX-Konfiguration

ResourcePfadPermission-Präfix
Extensions/api/v1/pbx_extensionspbx_extension
Queues/api/v1/pbx_queuespbx_queue
Konferenz-Räume/api/v1/pbx_conference_roomspbx_conference_room
Voicemails/api/v1/pbx_voicemailspbx_voicemail
Aufzeichnungen/api/v1/pbx_recordingspbx_recording

Custom-Endpoints (/api/v1/telephony/...)

Über CRUD hinaus gibt es dedizierte Telephony-Endpoints für Live-Steuerung und PBX-Operationen. Auszug:

OperationHinweis
POST /api/v1/telephony/click-to-callOutbound-Call vom UI initiieren
POST /api/v1/telephony/calls/<id>/answerInbound annehmen
POST /api/v1/telephony/calls/<id>/transferWeiterleiten
POST /api/v1/telephony/calls/<id>/holdHalten / Fortsetzen
GET /api/v1/telephony/queuesAktive Queues
POST /api/v1/telephony/queues/<id>/joinAgent betritt Queue
POST /api/v1/telephony/queues/<id>/leaveAgent verlässt Queue

Die vollständige, immer aktuelle Liste finden Sie in der OpenAPI-Spec.

Schemas

Phone-Call

phone_calls4 Permissions

Schema for phone call records including PBX integration data

direction string erforderlich

Call direction

INBOUNDOUTBOUND
callerNumber string erforderlich

Phone number of the caller

calledNumber string erforderlich

Phone number that was called

durationSeconds number erforderlich

Total call duration in seconds

≥ 0
partyId uuid optional

Linked party (customer/contact)

nullable
contactPartyId uuid optional

Linked contact person

nullable
handledById uuid optional

User who handled the call

nullable
rungUserIds uuid[] optional

Users whose phone rang during this call. Populated for inbound PBX calls (Starface CALLFLOW with CALLED_TYPE=USER) so missed calls show up under "my calls" for everyone whose extension rang, not just the (non-existent) handler.

ticketId uuid optional

Linked ticket

nullable
note string optional

Free-text note about the call

nullable
isCallbackRequested boolean erforderlich

Whether a callback was requested

startedAt datetime erforderlich

When the call started (ISO 8601)

endedAt datetime optional

When the call ended (ISO 8601)

nullable
callerName string optional

Caller name from PBX

nullable
calledName string optional

Called party name from PBX

nullable
callerAccountId number optional

PBX account ID of the caller (-1 for external)

nullable
isConnected boolean erforderlich

Whether the call was answered

isInternalCall boolean erforderlich

Whether this was an internal call

isPickup boolean erforderlich

Whether the call was picked up by another user

externalCallUuid string optional

External PBX call UUID (e.g. Starface CALL_UUID)

nullable
source string optional

Source of the call record

manualstarfaceteamsfreeswitch
nullable
teamsCallId string optional

Microsoft Graph call record ID

nullable
teamsCallType string optional

Teams call type: peer-to-peer calling or group meeting

callingmeeting
nullable
teamsMeetingUrl string optional

Teams meeting join URL (for meeting-type calls)

nullable
teamsParticipants object[] optional

Teams call participants

nullable
displayName string erforderlich
userPrincipalName string optional
nullable
microsoftUserId string optional
nullable
internalUserId string optional
nullable
teamsModalities string[] optional

Communication modalities used (audio, video, screen share)

nullable
callFlow object[] optional

Detailed call routing steps from PBX

nullable
index integer erforderlich
calledType string erforderlich
USERGROUPMODULEUNKNOWN
calledName string erforderlich
calledNumber string erforderlich
calledAccountId string optional
nullable
connected boolean erforderlich
forwardType string erforderlich
timeStart number erforderlich
timeEnd number erforderlich
pickup boolean erforderlich
pickupFirstName string optional
nullable
pickupLastName string optional
nullable
pickupAccountId number optional
nullable
pickupTime number optional
nullable
pickupLoginId string optional
nullable
moduleInfo string optional
nullable
agentInfo object[] optional
nullable
accountId string erforderlich
online boolean erforderlich
busy boolean erforderlich
dnd boolean erforderlich
ringing boolean erforderlich
waitTimeMs number optional

Time the caller waited before pickup or abandonment (INBOUND only)

≥ 0nullable
rawWebhookData object optional

Raw webhook payload for future analysis

nullable
bookedAsTimeRecordId uuid optional

Time record ID created from this call (marks call as booked)

nullable
pbxCallId string optional

FreeSWITCH call UUID

nullable
sipTrunkId uuid optional

SIP trunk used

nullable
extensionId uuid optional

Extension that handled the call

nullable
queueId uuid optional

ACD queue if routed through queue

nullable
recordingFileId uuid optional

pbx_recording entity ID

nullable
transcriptText string optional

Call transcript from STT

nullable
aiSummary string optional

AI-generated call summary

nullable
sentimentScore number optional

Sentiment score -1 (negative) to 1 (positive)

-1 – 1nullable

Recording / Transcript / Summary

Aufzeichnungen sind Opt-in pro Call. Sobald eine Aufnahme abgeschlossen ist, verarbeitet die Plattform sie automatisch zu Transkript und KI-Summary — beide Felder werden direkt am phone_call gepflegt.

Verwandt

Suche