# Tạo lịch trình một lần

Lưu ảnh chụp màn hình đám mây sau khi đã lên lịch tác vụ
Thông số kỹ thuật tham số templateParameter
1. **Nguồn tham số**
Các khóa tham số phải được trích xuất từ trường `parameter` được trả về bởi các API sau:

- Lấy các trang mẫu thị trường
- Lấy các trang mẫu cá nhân

1. **Cấu trúc dữ liệu**

- Gửi tham số ở định dạng đối tượng JSON: `{"key1": "value1", "key2": "value2"}`
- Giá trị tham số cuối cùng phải được giải mã theo logic nghiệp vụ trước khi sử dụng

1. **Các loại tham số phổ biến**
Đối với các loại tham số sau, hãy truyền trực tiếp các giá trị ở định dạng tương ứng:

- chuỗi: `{"name": "John"}`
- số thập phân / số: `{"amount": 100.50}`
- boolean: `{"enabled": true}`

1. **Tham số loại phương tiện**
Đối với các tham số phương tiện như hình ảnh (pic) hoặc video (video), ngoài thông tin cơ bản, phải bao gồm một khóa cố định `"__Extra__"`. Ví dụ định dạng:


```json
{

"__Extra__": {

"pic": {

"name": "pic_name",

"size": 204800

},

"video": {

"name": "video_name",

"size": 204800000

}

},

"pic": "https://get.morelogin.com/prod/cloudPhoneTaskVideo/1556061681934880/1c62314c7e2b4d298abe8d5452d7c050/test.png",

"video": "morelogin://cloudfile?ids=1,2"
}
```
1. **Ví dụ cấu hình tham số**
Ví dụ sau đây minh họa cách cấu hình tham số `templateParameter` khi lưu gói cước bằng cách sử dụng mẫu thị trường:

- **Bước 1: Truy xuất tham số mẫu**
Gọi API mẫu thị trường:

`GET /api/cloudphone/rpa/template/market/page`
Trích xuất trường `parameter` từ phản hồi, ví dụ:

```json

"parameter": "{\"videoDownloadUrl\":{\"type\":\"video\",\"extra\":{\"name\":\"Select Video\",\"type\":\"video\",\"required\":true,\"defaultValue\":{\"enabled\":false},\"index\":1,\"sizeLimit\":{\"value\":200,\"unit\":\"MB\"},\"formatType\":[\"mp4\",\"mov\"]}},\"videoDescription\":{\"type\":\"string\",\"extra\":{\"name\":\"Video Caption\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":1000},\"multiline\":{\"enabled\":true,\"value\":3},\"defaultValue\":{\"enabled\":false},\"index\":2}},\"coverUrl\":{\"type\":\"image\",\"extra\":{\"name\":\"Cover Image\",\"type\":\"image\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":3,\"sizeLimit\":{\"value\":5,\"unit\":\"MB\"},\"formatType\":[\"jpg\",\"png\",\"jpeg\"]}},\"enableAIGC\":{\"type\":\"boolean\",\"extra\":{\"name\":\"AI Label\",\"type\":\"boolean\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":4}},\"productId\":{\"type\":\"string\",\"extra\":{\"name\":\"Product ID\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":50},\"placeholder\":\"Product ID only supports digits, with a maximum of 50 ký tự.\",\"giá trị mặc định\":{\"đã bật\":false},\"chỉ mục\":5}},\"tiêu đề sản phẩm\":{\"loại\":\"chuỗi\",\"thêm\":{\"tên\":\"Tiêu đề sản phẩm\",\"loại\":\"chuỗi\",\"bắt buộc\":false,\"ký tự hợp lệ\":{\"đã bật\":true,\"giá trị\":30},\"giá trị mặc định\":{\"đã bật\":false},\"chỉ mục\":6}},\"lấy khách hàng tiềm năng\":{\"loại\":\"boolean\",\"thêm\":{\"tên\":\"Lấy Khách hàng tiềm năng\",\"type\":\"boolean\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":7}},\"comment\":{\"type\":\"string\",\"extra\":{\"name\":\"Comment\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":200},\"multiline\":{\"enabled\":true,\"value\":3},\"defaultValue\":{\"enabled\":false},\"index\":8}}}"
```
- **Bước 2: Xây dựng JSON tham số**
Xây dựng đối tượng JSON theo yêu cầu của tham số:


```json

{
"__Extra__": {

"videoDownloadUrl": {

"name": "video_name.mp4",

"size": 204800000

}
},

"videoDownloadUrl": "morelogin://cloudfile?ids=1,2"
}
```
- **Bước 3: Mã hóa chuỗi JSON**
Chuyển đổi đối tượng JSON thành định dạng chuỗi đã được mã hóa:


```json
"{\"__Extra__\": {\"videoDownloadUrl\": {\"name\": \"video_name.mp4\",\"size\": 204800000}},\"videoDownloadUrl\": \"morelogin://cloudfile?ids=1,2\"}"
```
- **Bước 4: Gọi API**
Truyền chuỗi đã được mã hóa làm giá trị của tham số `templateParameter` cho API mục tiêu.

Endpoint: POST /cloudphone/rpa/onceTask/save
Version: 1.0.0

## Request fields (application/json):

  - `cloudPhoneId` (integer, required)
    ID điện thoại đám mây

  - `scheduleName` (string, required)
    Tên lịch trình

  - `templateId` (integer, required)
    Mã định danh mẫu, mã định danh mẫu cá nhân hoặc mẫu thị trường.

  - `templateParameter` (string)
    Các tham số mẫu được định nghĩa trong các mẫu cá nhân hoặc mẫu thị trường. Các tham số trong mẫu được định nghĩa như sau: {"Test": {"extra": {"type": "string","required": true,"multiline": {"enabled": false},"name": "Test","index": 1},"type": "string"}} Khi yêu cầu tham số, tham số được truyền là: {"Test": "xxxx"}

  - `description` (string)
    Mô tả lịch trình

## Response 200 fields (application/json):

  - `code` (integer, required)
    Mã phản hồi, 0 biểu thị thành công, >0 biểu thị thất bại

  - `msg` (string, required)
    Thông báo lỗi

  - `requestId` (string, required)
    ID theo dõi yêu cầu

  - `data` (integer, required)
    ID lịch trình

