এক্সিকিউট

/osc/commands/execute API ক্যামেরায় নির্দিষ্ট কমান্ড চালায়। আউটপুট একটি কমান্ড অবজেক্ট।

ইনপুট

নাম টাইপ বর্ণনা
name স্ট্রিং আদেশ কার্যকর করতে হবে।
parameters অবজেক্ট কমান্ড সংজ্ঞা স্পেসিফিকেশন অনুযায়ী কমান্ড ইনপুট পরামিতি. উদাহরণের জন্য অনুগ্রহ করে OSC API স্পেসিফিকেশন পড়ুন।

আউটপুট

নাম টাইপ বর্ণনা
name স্ট্রিং আদেশ কার্যকর করতে হবে।
state স্ট্রিং আদেশের অবস্থা। নিম্নলিখিতগুলির মধ্যে একটি হওয়া উচিত:
  • done - সম্পূর্ণ, ফলাফল এই প্রতিক্রিয়াতে ফিরে এসেছে।
  • inProgress - এক্সিকিউশন এখনও চলছে।
  • error - ব্যর্থ, প্রতিক্রিয়াতে ত্রুটি দেখুন।
id স্ট্রিং (ঐচ্ছিক) কমান্ড আইডি। স্ট্যাটাস প্রদানকারী কমান্ডের জন্য এই মানটি প্রয়োজন চলমান . উদাহরণস্বরূপ, camera.takePicture কমান্ডটি সেলাই করার প্রয়োজনের কারণে কয়েক সেকেন্ড সময় নেয়। আরও বিস্তারিত জানার জন্য "স্থিতি" বিভাগটি দেখুন।
results বস্তু (ঐচ্ছিক) কমান্ড ফলাফল. কমান্ড রিটার্নিং স্টেটের জন্য এই মানটি প্রয়োজন যদি কমান্ডটি ফলাফল ফেরত দেবে বলে আশা করা হয়; উদাহরণস্বরূপ, "ফলাফল" : { "AAA": "BBB", ... } উদাহরণের জন্য অনুগ্রহ করে OSC API স্পেসিফিকেশন দেখুন।
error বস্তু (ঐচ্ছিক) কমান্ড ত্রুটি বিবরণ. এই মানটি রাষ্ট্রীয় error; উদাহরণস্বরূপ,
“error”: {
  “code”: “missingParameter”
}
progress বস্তু (ঐচ্ছিক) কমান্ডের অগ্রগতির বিবরণ। এই মানটি প্রবর্তিত অবস্থায় inProgress কমান্ডের জন্য প্রয়োজন; উদাহরণস্বরূপ,
“progress”: {
  “completion”: 0.8
}

ত্রুটি

ভুল সংকেত বর্ণনা
unknownCommand অনুরোধ করা কমান্ড অজানা, যেমন যদি একটি v2 ক্লায়েন্ট (ক্লায়েন্ট সংস্করণ 2 তে সেট করা হয়, বিকল্পগুলি দেখুন ) API স্তর 1 থেকে একটি অবচ্যুত কমান্ডের অনুরোধ করে, অনুরোধটি এই ত্রুটি কোডের সাথে ব্যর্থ হওয়া উচিত।
disabledCommand এক্সিকিউট করা কমান্ডটি বর্তমানে অক্ষম করা আছে, যেমন ক্যামেরা ভিডিও মোড হলে `টেকপিকচার` কমান্ড নিষ্ক্রিয় করা হয়, যখন ক্যামেরা বিলম্ব প্রক্রিয়াকরণ সমর্থন করে না তখন প্রসেসপিকচার কমান্ড নিষ্ক্রিয় করা হয়। এই ত্রুটি কোডটি API স্তর 2 এ যোগ করা হয়েছে।
cameraInExclusiveUse ক্যামেরা ইতিমধ্যেই একচেটিয়া ব্যবহারে রয়েছে, নতুন সেশন শুরু করা যাবে না। এপিআই লেভেল 2-এ এই ত্রুটি কোডটি বাতিল করা হয়েছে।
missingParameter এক বা একাধিক প্রয়োজনীয় পরামিতি নির্দিষ্ট করা হয়নি।
invalidParameterName এক বা একাধিক ইনপুট প্যারামিটার বা বিকল্পের নাম অস্বীকৃত বা অসমর্থিত ছিল।
invalidParameterValue প্যারামিটার বা বিকল্পের নাম স্বীকৃত হয়েছে, কিন্তু এক বা একাধিক মান অবৈধ; উদাহরণস্বরূপ, মান পরিসীমার বাইরে।

উদাহরণ

অনুরোধ (API 1)
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1

{
    "name": "camera.setOptions",
    "parameters": {
        "sessionId": "12ABC3",
        "options": {
            "iso": 200,
            "exposureCompensation": -2
        }
    }
}
অনুরোধ (API 2)
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1

{
    "name": "camera.setOptions",
    "parameters": {
        "options": {
            "iso": 200,
            "exposureCompensation": -2
        }
    }
}
প্রতিক্রিয়া
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff

{
    "name": "camera.setOptions",
    "state": "done"
}
অনুরোধ (API 1)
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1

{
    "name": "camera.takePicture",
    "parameters": {
        "sessionId": "12ABC3"
    }
}
অনুরোধ (API 2)
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1

{
    "name": "camera.takePicture"
}
প্রতিক্রিয়া
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff

{
    "name": "camera.takePicture",
    "state": "inProgress",
    "id": "90ABCD",
    "progress": {
        "completion": 0
    }
}