F7_recording/docs/recording-api.md
F7cloud 0b94d1826e Initial commit: F7cloud Talk Recording Server
- Переименовано Nextcloud на F7cloud
- Добавлены зависимости Firefox ESR и Geckodriver
- Создан скрипт установки с поддержкой параметров HPB
- Добавлена документация и инструкции по установке

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 12:18:51 +00:00

81 lines
2.4 KiB
Markdown

<!--
- SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Nextcloud Talk Recording Server API
* API v1: Base endpoint `/api/v1`
## Get welcome message
* Method: `GET`
* Endpoint: `/welcome`
* Response:
- Status code:
+ `200 OK`
## Requests from the Nextcloud server
* Method: `POST`
* Endpoint: `/room/{token}`
* Header:
| field | type | Description |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| `TALK_RECORDING_BACKEND` | string | The base URL of the Nextcloud server sending the request. |
| `TALK_RECORDING_RANDOM` | string | Random string that needs to be concatenated with request body to generate the checksum using the secret configured for the backend. |
| `TALK_RECORDING_CHECKSUM` | string | The checksum generated with `TALK_RECORDING_RANDOM`. |
* Data:
- Body as a JSON encoded string; format depends on the request type, see below.
* Response:
- Status code:
+ `200 OK`
+ `400 Bad Request`: When the body size exceeds the maximum allowed message size.
+ `400 Bad Request`: When the body data does not match the expected format.
+ `403 Forbidden`: When the request validation failed.
### Start call recording
* Data format:
```json
{
"type": "start",
"start": {
"status": "the-type-of-recording (1 for audio and video, 2 for audio only)",
"owner": "the-user-to-upload-the-resulting-file-as",
"actor": {
"type": "the-type-of-the-actor",
"id": "the-id-of-the-actor",
},
}
}
```
### Stop call recording
* Data format:
```json
{
"type": "stop",
"stop": {
"actor": {
"type": "the-type-of-the-actor",
"id": "the-id-of-the-actor",
},
},
}
```
- `actor` is optional
* Response:
- (Additional) Status code:
+ `404 Not Found`: When there is no recording for the token.