RecordWeb Voice API

The REST Voice API interface is used to store a voice recording, metadata, and STT (speech-to-text) transcription of a call into the FrontStage system.

Supported voice recording formats are mp3 and wav.

Recording metadata and transcription are in JSON format, which is described in more detail below.

Important

DateTime fields must be in ISO-8601 format.

Endpoint

Format: POST protocol://RECORDWEB_SERVICE_URL/Voice/SaveRecord

Parameter format

Call file

  • Type application/json

  • Contains information about the called party, caller, call time, call direction, and file name. All these metadata are required.

  • The ExtraParams structure allows storing additional (optional) metadata in the FrontStage system. It is a generic dictionary structure, where each entry in ExtraParams contains a parameter name and its value.

Call file structure:

{
    Direction: string // směr volání, required
    OriginalName : string, // původní název hl. nahrávky, povinný parametr
    StartTimeUtc : DateTime // čas zahájení hovoru, UTC, povinný parametr
    EndTimeUtc: DateTime,
    RemoteNumber: string,
    LocalNumber: string,
    "ExtraParams": [
        {"AgentName": "Stanislav Novák"},
        {"IssueID": "123456"}
    ]
}

Example of Call file:

{
    "Direction": "Incoming",
    "OriginalName": "200_77766655_rec.mp3",
    "StartTimeUtc": "2024-01-10T9:26:38.544Z",
    "EndTimeUtc": "2024-01-10T9:26:38.544Z",
    "RemoteNumber": "77766655",
    "LocalNumber": "200",
    "ExtraParams": [
        {"AgentName": "Stanislav Novák"},
        {"IssueID": "123456"}
    ]
}

File type File

Binary file of type wav or mp3. Supported MIME types are audio/mpeg, audio/wav, audio/wave.

Transcription file

  • Type application/json.

  • Contains the transcription of the recording created by an SST application.

  • The file contains an array of elements with individual transcription segments of the recording.

  • Each element must contain:

    • A timestamp indicating where in the recording the segment occurs.

    • Transcription text.

    • Channel in which the segment occurs (incoming/outgoing).

Example:

[
    {
    "Timestamp": "2023-08-17T15:26:38.259Z",
    "Text": "Dobrý den",
    "Direction": "out"
    },
    {
    "Timestamp": "2023-08-17T15:26:40.100Z",
    "Text": "Jak vám mohu pomoci",
    "Direction": "out"
    },
    {
    "Timestamp": "2023-08-17T15:26:43.759Z",
    "Text": "Dobrý den",
    "Direction": "in"
    },
    {
    "Timestamp": "2023-08-17T15:26:45.010Z",
    "Text": "Potřeboval bych změnit parametry mojí smlouvy",
    "Direction": "in"
    },
    ...
]