Перед вызовом любых функциональных API необходимо обменять свои учетные данные на токен доступа JWT.
- Конечная точка:
POST https://api.morelogin.com/oauth2/token - Официальная документация: Путь авторизации
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"
}'{
"code": 0,
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIsIn...",
"token_type": "Bearer",
"expires_in": 3600
}
}Используйте access_token, полученный на шаге 1, для запуска определенного шаблона RPA.
- Конечная точка:
POST https://api.morelogin.com/cloudphone/rpa/onceTask/save - Официальная документация: Путь выполнения расписания
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"
}'Авторизация: Получается через конечную точку
/oauth2/token.cloudPhoneId: Находится на панели управления MoreLogin Cloud Phone (числовой идентификатор).
templateId: Находится на рынке шаблонов автоматизации или в личном списке шаблонов.
Это строковый JSON-объект. Необходимо определить ключи в соответствии с требованиями шаблона, а затем экранировать их в виде строки.
Пример определения шаблона:
{
"Video Caption": "string",
"AI Label": "boolean",
"Product Id": "number",
"Get Leads": "boolean",
"Comment": "string"
}Как это сопоставить в вашем запросе:
Чтобы передать значения для указанного выше определения, значение вашего templateParameter должно выглядеть следующим образом:
{
"templateParameter": "{\"Video Caption\": \"My Title\", \"AI Label\": true, \"Product Id\": 12345}"
}| Статус | Возможная причина |
| ---------------- | ------------------------------------------------------------ |
| 401 Unauthorized | Срок действия токена истек или недействительны учетные данные клиента. |
| 400 Bad Request | Недействительный cloudPhoneId или некорректный JSON в templateParameter. |
| 404 Not Found | Идентификатор шаблона не существует. |
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())