# 一度のスケジュールを作成する

スケジュールされたタスクとしてクラウド電話を保存します。
テンプレートパラメータ パラメータ仕様
1. **パラメータソース**
パラメータキーは、以下のAPIから返される`parameter`フィールドから抽出する必要があります。

- マーケットテンプレートページの取得
- 個人用テンプレートページの取得

1. **データ構造**

- パラメータはJSONオブジェクト形式で送信してください：`{"key1": "value1", "key2": "value2"}`
- 最終的なパラメータ値は、使用前にビジネスロジックに従って逆シリアル化する必要があります。

1. **共通型パラメータ**
以下のパラメータ型については、対応する形式で値を直接渡してください。

- 文字列：`{"name": "John"}`
- 小数点数／数値：`{"amount": 100.50}`
- ブール値：`{"enabled": true}`

1. **メディア型パラメータ**
画像（pic）や動画（video）などのメディアパラメータについては、基本情報に加えて、固定キー`"__Extra__"`を含める必要があります。例のフォーマット：


```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. **パラメータ設定例**
以下の例は、マーケットテンプレートを使用してプランを保存する際に、`templateParameter` パラメータを設定する方法を示しています。

- **ステップ 1: テンプレートパラメータの取得**
マーケットテンプレート API を呼び出します。
`GET /api/cloudphone/rpa/template/market/page`
レスポンスから `parameter` フィールドを抽出します。例:


```json
"parameter": "{\"videoDownloadUrl\":{\"type\":\"video\",\"extra\":{\"name\":\"Select"ビデオ\",\"タイプ\":\"ビデオ\",\"必須\":true,\"デフォルト値\":{\"有効\":false},\"インデックス\":1,\"サイズ制限\":{\"値\":200,\"単位\":\"MB\"},\"フォーマットタイプ\":[\"mp4\",\"mov\"]}},\"ビデオ説明\":{\"タイプ\":\"文字列\",\"追加\":{\"名前\":\"ビデオキャプション\",\"タイプ\":\"文字列\",\"必須\":false,\"charValid\":{\"有効\":true,\"値\":1000},\"複数行\":{\"有効\":true,\"値\":3},\"デフォルト値\":{\"有効\":false},\"インデックス\":2}},\"カバーURL\":{\"タイプ\":\"画像\",\"追加\":{\"名前\":\"カバー"画像\",\"タイプ\":\"画像\",\"必須\":false,\"デフォルト値\":{\"有効\":false},\"インデックス\":3,\"サイズ制限\":{\"値\":5,\"単位\":\"MB\"},\"フォーマットタイプ\":[\"jpg\",\"png\",\"jpeg\"]}},\"AIGC を有効にする\":{\"タイプ\":\"ブール値\",\"追加\":{\"名前\":\"AI ラベル\",\"タイプ\":\"ブール値\",\"必須\":false,\"デフォルト値\":{\"有効\":false},\"インデックス\":4}},\"製品 ID\":{\"タイプ\":\"文字列\",\"追加\":{\"名前\":\"製品ID\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":50},\"placeholder\":\"商品IDは数字のみをサポートし、最大50文字までです。",\"defaultValue\":{\"enabled\":false},\"index\":5}},\"productTitle\":{\"type\":\"string\",\"extra\":{\"name\":\"商品タイトル\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":30},\"defaultValue\":{\"enabled\":false},\"index\":6}},\"getLeads\":{\"type\":\"boolean\",\"extra\":{\"name\":\"Getリード\",\"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}}}"
```
- **ステップ2：パラメータJSONの構築**
パラメータの要件に従ってJSONオブジェクトを構築します。


```json
{
"__Extra__": {

"videoDownloadUrl": {

"name": "video_name.mp4",

"size": 204800000

}

},

"videoDownloadUrl": "morelogin://cloudfile?ids=1,2"
}
```
- **ステップ3：JSON文字列のエスケープ**
JSONオブジェクトをエスケープされた文字列形式に変換します。


```json
"{\"__Extra__\": {\"videoDownloadUrl\": {\"name\": \"video_name.mp4\",\"size\": 204800000}},\"videoDownloadUrl\": \"morelogin://cloudfile?ids=1,2\"}"
```
- **ステップ4：API呼び出し**
エスケープされた文字列を、ターゲットAPIの`templateParameter`パラメータの値として渡します。

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

## Request fields (application/json):

  - `cloudPhoneId` (integer, required)
    クラウド電話ID

  - `scheduleName` (string, required)
    スケジュール名

  - `templateId` (integer, required)
    テンプレートID、個人用テンプレートまたは市場用テンプレートID

  - `templateParameter` (string)
    テンプレートパラメータは、個人用テンプレートまたはマーケットテンプレートで定義されます。テンプレート内のパラメータは次のように定義されます:{"Test":{"extra":{"type":"string","required":true,"multiline":{"enabled":false},"name":"Test","index":1},"type":"string"}} パラメータを要求すると、渡されるパラメータは{"Test":"xxxx"}です。

  - `description` (string)
    スケジュール説明

## Response 200 fields (application/json):

  - `code` (integer, required)
    応答コード。0は成功、>0は失敗を示す。

  - `msg` (string, required)
    エラーメッセージ

  - `requestId` (string, required)
    トレースIDをリクエスト

  - `data` (integer, required)
    スケジュールID

