---
title: "Tạo chỗ tải tệp lên"
locale: vi
url: https://tlg.builera.app/docs/reference/rest/files.create_upload
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Tạo chỗ tải tệp lên

Bước 1 để agent gửi tệp mới: khai mục đích (message = gửi tin / album, story = đăng story, photo = ảnh đại diện tài khoản / nhóm / bot, campaign = khối gửi tệp của chiến dịch), accountId (hoặc campaignId), tên tệp, loại, kích cỡ. Trả `uploadUrl` (PUT byte thô kèm `headers`, hiệu lực 2 giờ) rồi gọi files.complete_upload. Tối đa 50 MB (ảnh đại diện 10 MB); 20 tệp chờ + 50 tệp sẵn sàng chưa dùng mỗi kết nối. Nếu không PUT được, đưa người dùng link để tự tải.

Bước 1 để agent gửi tệp mới: khai mục đích (message = gửi tin / album, story = đăng story, photo = ảnh đại diện tài khoản / nhóm / bot, campaign = khối gửi tệp của chiến dịch), accountId (hoặc campaignId), tên tệp, loại, kích cỡ. Trả `uploadUrl` (PUT byte thô kèm `headers`, hiệu lực 2 giờ) rồi gọi files.complete_upload. Tối đa 50 MB (ảnh đại diện 10 MB); 20 tệp chờ + 50 tệp sẵn sàng chưa dùng mỗi kết nối. Nếu không PUT được, đưa người dùng link để tự tải.

## Thông tin

| Tên | Giá trị |
| --- | --- |
| Mã | `files.create_upload` |
| Scope cần | `messages.send` |
| Mức | Ghi |
| Có thể cần xác nhận | Không |
| Kiểu chạy | Trả kết quả ngay |
| Cần `Idempotency-Key` | Không |
| Vai trò thành viên được phép | `owner`, `manager`, `agent` |
| Trong app | Agent (Build 2.1) |

## Trường vào

| Trường | Kiểu | Bắt buộc | Mô tả |
| --- | --- | --- | --- |
| `purpose` | `"message" \| "story" \| "photo" \| "campaign"` | Có |   |
| `accountId` | `uuid` | Không |   |
| `campaignId` | `uuid` | Không |   |
| `fileName` | `chữ` | Có |   |
| `mime` | `chữ` | Có |   |
| `size` | `số nguyên` | Có |   |

## Ví dụ gọi

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/files.create_upload \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"purpose":"message","fileName":"…","mime":"…","size":1}'
```

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

| Trường | Kiểu | Bắt buộc |
| --- | --- | --- |
| `ok` | `true` | Có |
| `uploadId` | `chữ` | Có |
| `uploadUrl` | `chữ` | Có |
| `method` | `"PUT"` | Có |
| `headers` | `đối tượng` | Có |
| `maxBytes` | `số` | Có |
| `completeBefore` | `chữ` | Có |

## Ví dụ trả về

```json
{
  "data": {
    "ok": true,
    "uploadId": "00000000-0000-4000-8000-000000000000",
    "uploadUrl": "text",
    "method": "PUT",
    "headers": {
      "content-type": "text",
      "x-upsert": "text"
    },
    "maxBytes": 1,
    "completeBefore": "text"
  }
}
```

## 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: "files.create_upload"`. Tên tool khi được liệt kê: `files_create_upload`.
