---
title: "Cúp máy"
locale: vi
url: https://tlg.builera.app/docs/reference/rest/calls.hangup
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Cúp máy

Kết thúc cuộc gọi ở bất kỳ trạng thái nào. Luôn được phép (kể cả khi tài khoản bị hạn chế), không tính hạn mức. Cuộc gọi chưa tới máy chạy thì huỷ luôn (ended: cancelled).

Kết thúc cuộc gọi ở bất kỳ trạng thái nào. Luôn được phép (kể cả khi tài khoản bị hạn chế), không tính hạn mức. Cuộc gọi chưa tới máy chạy thì huỷ luôn (ended: cancelled).

## Thông tin

| Tên | Giá trị |
| --- | --- |
| Mã | `calls.hangup` |
| Scope cần | `calls` |
| Mức | Ghi |
| Có thể cần xác nhận | Không |
| Kiểu chạy | Xếp việc cho máy chạy |
| Cần `Idempotency-Key` | Có |
| Vai trò thành viên được phép | `owner`, `manager`, `agent` |
| Cần máy chạy từ bản | `1.0.44` |
| Trong app | Khung cuộc gọi → Cúp máy |

## Trường vào

| Trường | Kiểu | Bắt buộc | Mô tả |
| --- | --- | --- | --- |
| `callId` | `uuid` | Có |   |

## Ví dụ gọi

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/calls.hangup \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <mã riêng mỗi việc>" \
  -d '{"callId":"00000000-0000-0000-0000-000000000000"}'
```

## Trường ra (`data`)

| Trường | Kiểu | Bắt buộc |
| --- | --- | --- |
| `ok` | `true` | Có |
| `callId` | `chữ` | Có |
| `state` | `"active" \| "ended" \| "preparing" \| "requesting" \| "ringing" \| "exchanging_keys" \| "connecting"` | Có |
| `jobId` | `null` | Có |

## Ví dụ trả về

```json
{
  "data": {
    "ok": true,
    "callId": "00000000-0000-4000-8000-000000000000",
    "state": "active",
    "jobId": null
  }
}
```

## Dùng qua MCP

Không có tên sẵn trong profile nào: gọi `tools_describe` rồi `tools_run` với `code: "calls.hangup"`. Tên tool khi được liệt kê: `calls_hangup`.
