Настройки устройства
Изменяет настройки конкретного устройства. Все поля опциональны — передавайте только те, которые хотите изменить. Непереданные поля остаются без изменений.
Метод: PATCH
Эндпоинт: /api/ext/v1/devices/{id}/settings
Требуемое разрешение: devices:settings
Параметры пути
| Параметр | Тип | Описание |
|---|---|---|
id | string (UUID) | ID устройства |
Тело запроса
Все поля необязательны. Передайте только те, которые нужно изменить.
json
{
"can_send_sms": true,
"selected_sim": -1,
"notify_low_battery": true,
"forward_incoming_sms": false,
"record_calls": false,
"name_custom": "Офисный телефон"
}| Поле | Тип | Описание |
|---|---|---|
can_send_sms | boolean | Разрешить/запретить отправку SMS через это устройство |
selected_sim | integer | Выбор SIM-карты для отправки (см. таблицу ниже) |
notify_low_battery | boolean | Уведомлять о низком заряде батареи |
forward_incoming_sms | boolean | Передавать входящие SMS в панель управления |
record_calls | boolean | Разрешить устройству записывать разговоры и загружать аудиофайлы |
name_custom | string | Своё название устройства (до 100 символов). Пустая строка сбрасывает на системное имя |
Значения selected_sim
| Значение | Описание |
|---|---|
-2 | Использовать системную SIM по умолчанию (настройка Android) |
-1 | Случайная из доступных SIM-карт |
0 | Первый слот SIM-карты |
1 | Второй слот SIM-карты |
2 | Третий слот SIM-карты |
Ответ — 200 OK
Возвращает полный объект устройства с обновлёнными настройками (такой же формат, как в списке устройств).
json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "android",
"name": "Samsung Galaxy A54",
"name_custom": "Офисный телефон",
"is_online": true,
"is_charging": false,
"battery_level": 72,
"can_send_sms": true,
"selected_sim": -1,
"notify_low_battery": true,
"forward_incoming_sms": false,
"record_calls": false,
"sim_cards": [
{ "index": 0, "name_operator": "МТС" },
{ "index": 1, "name_operator": "Билайн" }
],
"created_at": "2024-01-10T08:00:00Z",
"updated_at": "2024-01-15T12:00:00Z"
}Примеры
Только изменить имя устройства
bash
curl -X PATCH \
"https://api.gosms.ru/api/ext/v1/devices/550e8400-e29b-41d4-a716-446655440000/settings" \
-H "Authorization: Bearer ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"name_custom": "Склад #2"}'Включить запись разговоров
bash
curl -X PATCH \
"https://api.gosms.ru/api/ext/v1/devices/550e8400-e29b-41d4-a716-446655440000/settings" \
-H "Authorization: Bearer ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"record_calls": true}'Отключить SMS-отправку
bash
curl -X PATCH \
"https://api.gosms.ru/api/ext/v1/devices/550e8400-e29b-41d4-a716-446655440000/settings" \
-H "Authorization: Bearer ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"can_send_sms": false}'Python — частичное обновление
python
import requests
def update_device(device_id: str, **fields):
"""Обновляет только переданные поля настроек устройства."""
response = requests.patch(
f"https://api.gosms.ru/api/ext/v1/devices/{device_id}/settings",
headers={"Authorization": "Bearer ВАШ_КЛЮЧ"},
json=fields,
)
response.raise_for_status()
return response.json()
# Включить запись разговоров
update_device("550e8400-...", record_calls=True)
# Назначить SIM и дать имя
update_device("550e8400-...", selected_sim=0, name_custom="МТС — офис")
# Включить пересылку входящих SMS
update_device("550e8400-...", forward_incoming_sms=True)JavaScript
javascript
async function updateDevice(deviceId, fields) {
const response = await fetch(
`https://api.gosms.ru/api/ext/v1/devices/${deviceId}/settings`,
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer ВАШ_КЛЮЧ',
'Content-Type': 'application/json',
},
body: JSON.stringify(fields),
}
);
if (!response.ok) throw new Error((await response.json()).error.message);
return response.json();
}
// Включить запись разговоров
await updateDevice('550e8400-...', { record_calls: true });
// Отключить SMS на время
await updateDevice('550e8400-...', { can_send_sms: false });Ошибки
| Статус | Причина |
|---|---|
400 Bad Request | Неверный формат UUID или невалидные поля |
403 Forbidden | Нет разрешения devices:settings |
404 Not Found | Устройство не найдено |