コンテンツへスキップ
Last updated

HTTP経由でテンプレートを呼び出す

1. 認証(OAuth2トークン)の取得

機能APIを呼び出す前に、認証情報をJWTアクセストークンと交換する必要があります。

  • エンドポイント: POST https://api.morelogin.com/oauth2/token
  • 公式ドキュメント: 認証パス

リクエスト(cURL)

curl -i -X POST \
  https://api.morelogin.com/oauth2/token \
  -H 'Content-Type: application/json' \
  -d '{
    "client_id": 1672940217990530,
    "client_secret": "your_client_secret",
    "grant_type": "client_credentials"
  }'
```### 回答例

```json
{
    "code": 0,
    "data": {
        "access_token": "eyJhbGciOiJIUzI1NiIsIn...",
        "token_type": "Bearer",
        "expires_in": 3600
    }
}

2. クラウド電話テンプレートの実行

ステップ1で取得したaccess_tokenを使用して、特定のRPAテンプレートをトリガーします。

リクエスト (cURL)

curl -i -X POST \
  https://api.morelogin.com/cloudphone/rpa/onceTask/save \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "cloudPhoneId": 16783319661123,
    "scheduleName": "test_automation",
    "templateId": 1678347487160256,
    "templateParameter": "{\"Video Caption\": \"Hello World\", \"AI Label\": true}",
    "description": "schedule description"
  }'

3. パラメータの詳細

IDの取得方法

  • Authorization: /oauth2/token エンドポイント経由で取得します。

  • cloudPhoneId: MoreLogin Cloud Phoneダッシュボード(数値ID)に表示されます。

  • templateId: オートメーションテンプレートマーケットまたは個人テンプレートリストに表示されます。

templateParameterの理解

これは文字列化されたJSONオブジェクトです。テンプレートの要件に基づいてキーを定義し、文字列としてエスケープする必要があります。

テンプレート定義例:

{
    "Video Caption": "string",
    "AI Label": "boolean",
    "Product Id": "number",
    "Get Leads": "boolean",
    "Comment": "string"
}

リクエストでのマッピング方法:

上記の定義に値を渡すには、テンプレートパラメータの値を以下のように記述してください。

{
    "templateParameter": "{\"Video Caption\": \"My Title\", \"AI Label\": true, \"Product Id\": 12345}"
}
```---

## 4. エラー処理

| ステータス | 考えられる原因 |

| ---------------- | ------------------------------------------------------------ |

| 401 Unauthorized | トークンの有効期限切れ、またはクライアント認証情報が無効です。 |

| 400 Bad Request | cloudPhoneId が無効、または templateParameter の JSON 形式が不正です。 |

| 404 Not Found | templateId が存在しません。 |

---

## Python クイックスタート


```python
import requests
import json

def run_morelogin_task():
    # 1. Auth
    auth_res = requests.post(
        "https://api.morelogin.com/oauth2/token",
        json={
            "client_id": 1672940217990530,
            "client_secret": "your_secret",
            "grant_type": "client_credentials"
        }
    )
    token = auth_res.json()['data']['access_token']

    # 2. Execute
    task_payload = {
        "cloudPhoneId": 16783319661123,
        "templateId": 1678347487160256,
        "templateParameter": json.dumps({
            "Video Caption": "My Post",
            "AI Label": True
        })
    }
    
    headers = {"Authorization": f"Bearer {token}"}
    response = requests.post(
        "https://api.morelogin.com/cloudphone/rpa/onceTask/save",
        json=task_payload,
        headers=headers
    )
    return response.json()

print(run_morelogin_task())