CAYIN SDK v2.0

CAYIN SDK v2.0

鎧應數位看板系統提供強大的軟體開發套件(SDK),讓您能藉由HTTP為基礎的API,創造自己的管理工具。以下分為五個主要部分說明:

啟用/停用CAYIN SDK

Files & Folders

登入CMS的管理畫面,然後前往系統 > 服務 > SDK設定頁。
CAYIN SDK提供三種模式:

  1. 停用SDK
  2. 啟用SDK但不使用認證金鑰(authentication key)
  3. 啟用SDK並使用認證金鑰
    • 手動輸入金鑰
    • 點擊隨機由系統產生一個金鑰。(請儲存該金鑰以備後續使用)
注意

認證金鑰為4至64個英文字母與數字組成

回到頂端

CAYIN SDK的使用方式

SDK的使用方式為寄一個HTTP GET或POST要求至SMP或CMS的內部網頁伺服器。您可以使用幾乎任一種現代程式語言來撰寫程式寄送要求。若您希望先測試一下,最簡單的測試方式是開啟一個瀏覽器,然後在地址欄(Address bar)輸入該指令,來寄送一個HTTP GET要求。
以下為指令格式的範例:

http://<ip>/cysdk/?cmd1=value1&cmd2=value2

http://<ip>/cysdk/?cmd1=attribute1:value1;attribute2:value2

注意

上述ip是指SMP或CMS的IP位址(或網域名稱)。

API介面:

  • 支援HTTP GET與POST兩種方法
  • 一個指令可以包含多組屬性
  • 以分號 ‘;’ 做分隔不同屬性
  • 以冒號 ‘:’ 分隔屬性的名稱與屬性的值
  • 以 ‘&’ 符號分隔不同指令
  • 指令先進先執行

範例:以CySDK 指令設定螢幕解析度

http://<ip>/cysdk/?k=0000&dpyOutput=mode:distinct;rotate:left
&dpy1Setting=output:HDMI1;size:1920x1080@60&dpy2Setting=output:auto;size:1024x768

  • 認證: k=0000 (若您選擇不啟動認證功能,則可以忽略此部分。)
  • 指令 1: dpyOutput=mode:distinct;rotate:left
    • 屬性 1: mode:distinct
    • 屬性 2: rotate:left
  • 指令 2: dpy1=output:HDMI1;size:1920x1080@60
    • 屬性 1: output:HDMI1
    • 屬性 2: size:1920x1080@60
  • 指令 3: dpy2=output:auto;size:1024x768
    • 屬性 1: output:auto
    • 屬性 2: size:1024x768

指令執行結果

功能 1~8:

SMP/CMS會回傳HTTP狀態碼給用戶端或呼叫的程式。

  • 成功:傳回狀態碼200 的空白網頁
  • 失敗:傳回狀態碼500 (內部伺服器錯誤)
注意

更多關於HTTP狀態碼的相關資訊,請參閱Wiki網頁:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

功能 9~28:

所有指令的回應皆以json格式置於HTTP Body裡,您可以使用json資源庫來解碼,或進一步處理執行結果。


回到頂端

CAYIN SDK的功能

CAYIN SDK能讓你操控下列功能:

  1. 安全認證 (認證金鑰)
  2. 執行碼 屬性 數值 說明
    k   英文字母與數字
    • 金鑰: 4 - 64 個英文字母與數字
    • 管理介面: 系統->服務->SDK ->認證

    範例

    用金鑰保護CAYIN SDK指令的執行
    http://<ip>/cysdk/?k=0123456789abcdef&play=skin:skin-1
    不用金鑰保護CAYIN SDK指令的執行
    http://<ip>/cysdk/?play=skin:skin-1

  3. 系統控制 (SMP與CMS)
  4. 執行碼 屬性 數值 說明
    sysRestart   0, 1
    0: 無動作
    1: 重新啟動播放器/伺服器

    範例

    重新啟動系統
    http://<ip>/cysdk/?sysRestart=1

  5. 顯示設定 (僅適用SMP)
  6. 執行碼 屬性 數值 說明
    dpyOutput mode single, clone, extended, distinct
     
    model1
    model2
    model3
    model4
    1x1, 2x2, 2x1, 1x2, 3x1, 1x3, 4x1, 1x4 SMP-2100/2200/2300
    延伸模式: 1x2, 2x1
    分開模式: 1x1
    SMP-2210/2310
    延伸模式: 1x3, 3x1, 1x2, 2x1
    分開模式: 1x1, 2x1, 1x2
    SMP-8000/8000QD
    延伸模式: 2x2, 1x4, 4x1, 1x3, 3x1, 1x2, 2x1
    分開模式: 1x1, 2x1, 1x2, 3x1, 1x3

    dpy1

    dpy2
    output Auto, VGA, DVI, HDMI1, HDMI2, DP1, DP2, DP3, DP4

    設定顯示輸出

    VGA, DVI, HDMI (SMP-6000)
    HDMI1 and HDMI2 (SMP-2100, SMP-2200系列, SMP-2300系列)
    DP1 ~ DP4 (SMP-8000系列)

    size WxH[i][@R] 設定螢幕解析度與更新頻率
    W: 寬度
    H: 高度
    i: 交錯式掃描Interlace (選用)
    @R: 更新頻率 (選用)
    例如: 1920x1080@auto
    rotate 0, 1, 2 旋轉螢幕:
    0: 沒有旋轉 (橫式)
    1: 90度順時鐘旋轉 (垂直)
    2: 90度逆時鐘旋轉 (垂直)
    dpyPwSave  

    on

    off
    設定螢幕開關
    on: 開啟螢幕
    off: 關閉螢幕

    範例

    設定顯示畫面為複製模式,顯示器1由HDMI輸出螢幕解析度為1920x1080i的訊號

    http://<ip>/cysdk/?dpyOutput=mode:clone&dpy1=output:HDMI;size:1920x1080i@60;rotate:0

  7. 影音輸入設定 (僅適用SMP)
  8. 執行碼 屬性 數值 說明
    videoIn src internal, 1, 2
    internal: 內建影像擷取卡
    1, 2: 外接USB UVC設備
    std NTSC, PAL 影音標準
    bri 0, 1, …, 100 亮度
    con 0, 1, …, 100 對比
    sat 0, 1, …, 100 飽和度Saturation
    overScan 0, 1, …, 100 過度掃描Over scan

    範例

    設定 Video-in訊號源為內部影音擷取卡,NTSC格式

    http://<ip>/cysdk/?videoIn=src:internal;std:NTSC;bri:50;con:50;sat:50;overScan:0

  9. 聲音設定 (僅適用SMP)
  10. 執行碼 屬性 數值 說明
    sndOutput   analog
    digital
    analog: Stereo out (phone jack或RCA)
    digital: HDMI數位音訊
    sound   0 – 100 僅適用類比輸出(analog output)

    範例

    改變聲音輸出為類比輸出
    http://<ip>/cysdk/?sndOutput=analog

  11. 時間設定 (SMP與CMS)
  12. 執行碼 屬性 數值 說明
    timeSetting date YYYYMMDDhhmmss,
    YYYYMMDD,
    hhmmss
    例如:
    設定日期: 20150209
    設定時間: 101530
    設定日期與時間: 20150209101530
    timezone 城市或地區名 有效的城市名稱請詳見附錄

    範例

    http://<ip>/cysdk/?timeSetting=timezone:Eastern Time
    http://<ip>/cysdk/?timeSetting=timezone:London
    http://<ip>/cysdk/?timeSetting=timezone:Taipei

  13. 播放控制 (僅適用SMP)
  14. 執行碼 屬性 數值 說明
    play skin [Skin Name] 面板(Skin)名
    program [Program Name] 節目(Program)名
    playlist [Playlist Name] 播放清單名
    centralctl 1 中央排程
    display 1, 2 選擇於螢幕1或螢幕2播放
    pbVo1Play
    pbVo2Play
    src file://file
    mms://url
    http://url
    rtb://ip:port
    rtp://ip:port
    src://local-all
    src://video-in
    src://central-schedule
     
    ratio auto (預設), 4:3, 16:9  
    mute 0, 1  
    random 0, 1  
    display 1, 2 於螢幕1或螢幕2設定區塊
    pbIm1Play
    pbIm2Play
    src file://file
    src://local-all
    src://central-schedule
     
    duration 1-999 每一張圖片顯示的時間長度
    sequence forward
    backward
    random
    順序
    scale_fit 0
    1 (預設)
    2
    依顯示區塊縮放
    0: 關閉功能
    1: 依顯示區塊縮放(等比例)
    2: 依顯示區塊縮放(不等比例)
    transition_effect 0
    1
    2
    3
    4

    255
    0: 無效果(預設)
    1: 向右擦去(舊名:從左至右)
    2: 向左擦去(舊名:從右至左)
    3: 向下擦去(舊名:從上至下)
    4: 向上擦去(舊名:從下至上)

    255: 啟用已選擇的效果隨機播放
    請參閱線上手冊查看過場效果的完整清單
    display 1, 2 於螢幕1或螢幕2設定區塊
    pbTk1Play
    pbTk2Play
    src text://file
    http://rss-feed
    rss://url
    src://file
    src://central-schedule
     
    direction 1,2 1: 由左至右
    2: 由右至左
    font [font name]  
    fsize 10 to 800  
    fcolor [font color] 預設文字顏色: 0xFFFFFF
    例如: 0x118A3F
    • 前面“11”代表紅色的意思
    • 中間“8A”代表綠色的意思
    • 最後“3F”代表藍色的意思
    所有數字使用十六進位值
    bcolor [background color] 預設的背景顏色: 0x000000
    例如: 0x118A3F
    • 前面“11”代表紅色的意思
    • 中間“8A”代表綠色的意思
    • 最後“3F”代表藍色的意思
    所有數字使用十六進位值
    seffect 1, 2, 3, 4 文字跑動效果
    1: 靜止
    2: 水平跑動
    3: 由下往上
    4: 由下往上+水平跑動
    speed 1, 2, 3, 4, 5, 6  
    pause 0, 0.5, 1, 1.5, 2, 2.5, 3 暫停
    spacing 0, 0.25, 0.5, 1, 1.25, 1.5 行距
    display 1, 2 於螢幕1或螢幕2設定區塊
    pbHtm1Play
    pbHtm2Play
    pbHtm3Play
    src file://file
    http://url
    https://url
    twitter://user
    weather://id
    central-schedule
     
    template 0, 1, … , 12 Twitter
    title [title] Twitter
    subject [subject] Twitter
    size 250x75
    285x170
    550x320
    760x500
    1000x650
    天氣
    fcolor [foreground color] 天氣
    預設文字顏色: 0xFFFFFF
    例如: 0x118A3F
    • 前面“11”代表紅色的意思
    • 中間“8A”代表綠色的意思
    • 最後“3F”代表藍色的意思
    所有數字使用十六進位值
    bcolor [background color] 天氣
    設的背景顏色: 0x000000
    例如: 0x118A3F
    • 前面“11”代表紅色的意思
    • 中間“8A”代表綠色的意思
    • 最後“3F”代表藍色的意思
    所有數字使用十六進位值
    effect 0, 1 天氣
    units 0, 1 天氣
    0:攝氏(℃)、1:華氏(℉)
    pause 0-9 天氣
    icons 0, 1 天氣
    display 1, 2 於螢幕1或螢幕2設定區塊
    pbAttr scrollbar auto, hide  
    hwaccel 0, 1 0: Opengl、1: Vaapi/Vdpau
    autoUpdate 1-999
    disable
    檢查HTML檔案/遠端URL時間間隔

    範例

    將播放器改為播放面板skin-1
    http://<ip>/cysdk/?play=skin:skin-1;display:1
    設定圖片區塊1播放存放於多媒體檔案夾(Media Folder)裡,指定資料夾裡的指定檔案
    http://<ip>/cysdk/?pbIm1Play=src:file://file1.jpg;src:file://folder/;duration:1
    設定文字跑馬燈區塊1播放RSS
    http://<ip>/cysdk/?pbTk1Play=rss://url;seffect:1
    設定HTML區塊1播放多媒體檔案夾(Media Folder)裡的一個檔案
    http://<ip>/cysdk/?pbHtm1Play=src:file://file1.html
    將Adobe Flash播放器的版本改為9
    http://<ip>/cysdk/?pbAttr=flashver:9

  15. RTB設定 (僅適用CMS)
  16. 執行碼 屬性 數值 說明
    rtb channel 1, 2 輸入埠
    active enable
    disable
     
    port UDP port number 8100, 8102, ..., 8226
    input composite
    s-video
     
    std NTSC, PAL  
    bri 0,1…,100  
    con 0,1…,100  
    sat 0,1…,100  
    format mpeg2, mpeg4  
    bit 256k, 512k, 1M, 2M, 3M,  4M, 5M  
    bocast 1/enable
    0/disable
    1: 啟動
    0: 關閉
    mtcast ip, disable Multicast
    uncast ip, enable, disable Unicast

    範例

    啟動頻道1為MPEG-4@512k bps輸出頻率,以unicast即時影音串流至192.168.1.2
    http://<ip>/cysdk/?rtb=channel:1;active:enable;input:composite;format:mpeg4;bit:512k;uncast:192.168.1.2

  17. 登入/登出指令 (僅適用CMS)
  18. 指令 認證
    (非必要)
    屬性 數值 說明
    login k=your_authencation_key user [User name] 登入為某個特定的使用者
    pass [Password]
    結果 Body 說明

    {
    "result":"0",
    "session":"1038858172"
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&login=user:administrator;pass:admin


    指令 認證
    (非必要)
    屬性 數值 說明
    logout k=your_authencation_key session [Session id] Logout
    結果 Body 說明

    N/A

     

    範例

    http://CMS_IP/cysdk/?k=UXWdFUURPmLbF &logout=session:session-id

    注意

    請使用登入(login)指令來取得交談識別碼 (session id),這個識別碼在後續SDK指令(第10-28項)中將會用到。

  19. 讀取SMP清單 (僅適用CMS)
  20. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get smplist 讀取連接到該台CMS伺服器的SMP播放器清單
    結果 Body 說明
    {
    "result":"string",
    "client":[
    {
    "hostname":"string",
    "model":"string",
    "version":"string",
    "IP":"string",
    "mac":"string",
    "group":"string",
    "cms":"string",
    "connect":"string"
    },
    {client2….}, {client3….}
    ]
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:smplist;
    回應 {
    "Result":"0",
    "client":[
    {
    "hostname":"1F-001",
    "model":"SMP-2100",
    "version":"2.1",
    "group":"groupA",
    "connect":"1",
    "IP":"10.0.0.10",
    "mac":"00:30:18:CD:10:01",
    "cms":"hostname"
    },
    {
    "hostname":"1F-002",
    "model":"SMP-2100",
    "version":"2.1",
    "group":"groupA",
    "connect":"1",
    "IP":"10.0.0.11",
    "mac":"00:30:18:CD:10:02",
    "cms":"hostname"
    },
    {client3….},
    {client4…},
    {client5…}
    ]
    }

  21. 讀取CMS/SMP紀錄檔 (僅適用CMS)
  22. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get log  
    target mac_address

    SMP或CMS的MAC位址

    retrivefrom YYYYMMDDhhmmss 例如: 從日期20170629120000的紀錄檔 (非必要)
    結果 Body 說明

    {
    "result":"string",
    "logs":[
    {
    "time":"string",
    "type":"string",
    "category":"string",
    "msg":"string",
    }
    {log2….}, {log3….}
    ]
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:log;
    target:4C02890A25C7;retrivefrom:20170629120000
    回應 {
    "Result":"0",
    "logs":[
    {
    "time":"Mon Jun 26 15:33:44 2017",
    "type":"INFORMATION",
    "category":"SYSTEM",
    "msg":"[SMP-2100]: SYSTEM: System start up."
    },
    {log2….}, { log3….}
    ]
    }

  23. 讀取SMP硬碟狀態 (例如: CPU使用率等) (僅適用CMS)
  24. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get hwinfo  
    target mac_address SMP或CMS的MAC位址
    結果 Body 說明
    {
    "result":"string",
    "client":{
    "cpu":{"usage": "string", "temp": INT, "fan": INT},
    "mem":{"total": "string", "used": "string", "usage": "string"},
    "disk":{
    "system":["string", "string", "string"],
    "resource":["string", "string", "string"],
    "media":["string", "string", "string"],
    "external": ["string", "string", "string"]
    },
    "sys":{"temp":INT, "fan":INT}
    }
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:hwinfo;
    target:4C02890A25C7
    回應 {
    "result":"0",
    "client":{
    "cpu":{"usage":"0.7%", "temp":-1, "fan":-1},
    "mem":{"total": "3.72GB", "used":"768.14MB", "usage":"20.2%"},
    "disk":{
    "drive":["26.42GB", "522.99MB", "1.9%"],
    "system":["1.91GB", "318.22MB", "16.3%"],
    "resource":["3.81GB", "160.85MB", "4.1%"],
    "media":["20.70GB", "43.92MB","0.2%"],
    "external": ["20.70GB", "43.92MB","0.2%"]
    },
    "sys":{"temp":-1, "fan":-1}
    }
    }

  25. 讀取CMS/SMP修補檔資訊 (僅適用CMS)
  26. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get patchlist  
    target mac_address SMP或CMS的MAC位址
    結果 Body 說明

    {
    "result":"string",
    "patch": [
    "patch1",
    "patch2",
    "patch3"
    ]
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:patchlist;
    target:4C02890A25C7
    回應 {
    "Result":"0",
    "patch":[
    "P17684: Fix a problem causing player not booting due to log locked by system"
    ]
    }

  27. 上傳修補檔至SMP (僅適用CMS)
  28. 指令 認證
    (非必要)
    屬性 數值 說明
    action k=your_authencation_key do upPatch  
    target mac_address SMP或CMS的MAC位址
    group 群組名 上傳修補檔到某個特定群組的播放器
    file smb, http, or ftp URL 修補檔的網址
    結果 Body 說明

    {
    "result":"string",
    "detail": [
    { "hostname":"string",
    "IP":"string",
    "mac":"string",
    "result":"string"},
    {…}
    ]
    }

    結果:
    0: 成功
    其他: 失敗
    注意

    您無法在一個指令裡同時使用target與group屬性。

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:upPatch;
    target:4C02890A25C7;file:smb://account:password@172.16.0.7/temp/P17699.psu

  29. 改變SMP群組 (僅適用CMS)
  30. 指令 認證
    (非必要)
    屬性 數值 說明
    action k=your_authencation_key do chGroup  
    target mac_address SMP的MAC位址
    toGroup 群組名 您想要改變的目標群組
    結果 Body 說明

    {
    "result":"string",
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:chGroup;
    target:4C02890A25C7;toGroup:mygroup

  31. 改變緊急排程並啟動群組 (僅適用CMS)
  32. 指令 認證
    (非必要)
    屬性 數值 說明
    emergency k=your_authencation_key skin 面板名  
    program 節目名  
    playlist 播放清單名  
    playback all, 1, 2, 3, 4 播放ID
    all: 所有播放 (預設)
    1: 播放1
    2: 播放2
    3: 播放3
    4: 播放4
    group 群組名  
    trigger 0, 1 0: 關閉
    1: 啟動
    結果 Body 說明

    {
    "result":"0",
    "cms":[
    {
    "hostname":"string",
    "IP":"string",
    "mac":"string",
    "result":"0"
    },
    {cms-2},
    {cms-3},
    ]
    }

    結果:
    0: 成功
    其他: 失敗
    注意

    您無法同時用面板(Skin)、節目(Program)與播放清單(Playlist)屬性。

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&emergency=skin:skin1;
    playback:all;group:groupA;trigger:1
    回應 {"result":"0",
    "cms":[
    {"hostname":"CMS-40-Hub","IP":"172.16.100.250","mac":"00:90:0B:26:CD:3A",
    "result":"0"},
    {"hostname":"CMS-40-Backup","IP":"172.16.12.59","mac":"00:90:0B:27:CC:FC",
    "result":"0"},
    {"hostname":"CMS-40-site2","IP":"172.16.100.251","mac":"00:0C:29:0F:AA:E2",
    "result":"0"},
    {"hostname":"CMS-40-site1","IP":"172.16.12.186","mac":"00:0C:29:03:1E:4F",
    "result":"0"}
    ]
    }
    注意

    回應包括所有在主伺服器、站台伺服器與備份伺服器的結果。

  33. 讀取群組清單 (僅適用CMS)
  34. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get grouplist 取得CMS伺服器的完整群組清單
    結果 Body 說明

    {
    "result":"0",
    "group": [{
    "name": "string",
    "folder": "string",
    "child": [{
    "name": "string",
    "folder": "string",
    "child": [{
    "name": "string",
    "folder": "string",
    }]
    }]
    },
    {next group}
    ]
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:grouplist
    回應 {
    "result": "0",
    "group": [{
    "name": "A_layer1",
    "folder": "folder_1",
    "child": [{
    "name": "A_layer2",
    "folder": "folder_2",
    "child": [{
    "name": "A_layer3",
    "folder": "folder_3",
    }]
    }]
    }, {
    "name": "B_layer1",
    "folder": "folder_4",
    }]
    }

  35. 修改群組屬性 (僅適用CMS)
  36. 指令 認證
    (非必要)
    屬性 數值 說明
    action k=your_authencation_key do modgroup  
    group 群組名 欲修改的群組
    newgroup 新群組名 改變群組名
    parent 父群組名 改變該群組的父群組名
    top 1 將該群組改至最上層(無父群組)
    結果 Body 說明

    {
    "result":"string"
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:modgroup;
    group:group_a;newgroup:group_c
    回應 {
    "result": "0",
    }
    注意

    Top屬性無法與parent屬性共用。

  37. 取得面板排程 (僅適用CMS)
  38. 取得某一特定群組、目前面板的排程。

    指令 認證
    (非必要)
    屬性 數值 說明
    action k=your_authencation_key get skinlist  
    group 群組名 欲查詢的群組
    結果 Body 說明

    {
    "result":"0",
    "skin": [
    {"name": "string",
    "group": "string",
    "currentSchedule":"sting"}
    ]
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:skinlist;
    group:my_group
    回應 {
    "result": "0",
    "skin": [
    {"name":"skin1", "group": "A_layer3", "currentSchedule":"0"},
    {"name":"skin2", "group": "A_layer3", "currentSchedule":"0"},
    {"name":"skin4", "group": "A_layer2", "currentSchedule":"0"},
    {"name":"skin5", "group": "A_layer1", "currentSchedule":"1"},
    ]
    }

  39. 設定主要CMS (僅適用CMS)
  40. 設定CMS為主伺服器以及相關選項。

    指令 認證
    (非必要)
    屬性 數值 說明
    redundancy k=your_authencation_key mode 1  
    mCode 認證碼 主伺服器與備份伺服器之間的認證碼。
    port 埠號  
    backupIP 備份伺服器IP  
    reverseSync 0, 1 0: 關閉反向同步
    1: 開啟反向同步
    結果 Body 說明

    {
    "result":"0",
    "mode":"1"
    }

    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&&redundancy=mode:1;
    mCode:1234567890;port:40001;backupIP:IP;reverseSync:0
    回應 {
    "result":"0",
    "mode":"1"
    }

  41. 設定備份CMS (僅適用CMS)
  42. 設定CMS為備份服器以及相關選項。

    指令 認證
    (非必要)
    屬性 數值 說明
    redundancy k=your_authencation_key mode 2  
    bCode 認證碼 主伺服器與備份伺服器之間的認證碼。
    connectIp IP位址 主伺服器的IP位址
    updateFirst 0, 1 1: 立即同步
    freqType 0 每幾分鐘與主伺服器同步
    period 分鐘
    結果 Body 說明
    {
    "result":"0",
    "mode":"2"
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&redundancy=mode:2;
    bCode:1234567890;connectIp:192.168.1.8;updateFirst:1;freqType:0;period:5
    回應 {
    "result":"0",
    "mode":"2"
    }

  43. 讀取CMS備援設定 (僅適用CMS)
  44. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get redundancy  
    結果 Body 說明
    {
    "result":"0",
    "self": {
    "hostname": "string",
    "mac": "string",
    "IP": "string",
    "mode": "string"
    },
    "another": {
    "status": "string",
    "hostname": "string",
    "mac": "string",
    "IP": "string",
    "mode": "string"
    }
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:redundancy
    回應 {
    "result":"0",
    "self": {
    "hostname": "cms-main",
    "mac": "00:0C:29:0F:AA:E2",
    "IP": "172.16.12.59",
    "mode": "1"
    },
    "another": {
    "status": "1",
    "hostname": "cms-backup",
    "mac": "00:0C:29:0F:AA:E2",
    "IP": "172.16.12.59",
    "mode": "2"
    }
    }

  45. 讀取CMS緊急排程狀態 (僅適用CMS)
  46. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get emergency  
    結果 Body 說明
    {
    "result":"0",
    "group": [{
    "name": "string",
    "trigger": "string",
    "playback": [
    {
    "enable": "string",
    "type": "string",
    "name": "string",
    "playbackOutput": "string"
    }
    ]
    }
    ]
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:emergency
    回應 {
    "result":"0",
    "group": [{
    "name": "aaaaa",
    "trigger": "1",
    "playback": [
    {"enable": "1", "type": "skin", "name": "Basic-2", "playbackOutput": "1"},
    {"enable": "1", "type": "skin", "name": "Basic-3" , "playbackOutput": "2"},
    {"enable": "0", "type": "playlist", "name": "playlist1", "playbackOutput": "3"},
    {"enable": "0", "type": "program", "name": "program1", "playbackOutput": "4"}
    ]
    }
    ]
    }

  47. 手動設定站台伺服器的緊急排程 (僅適用CMS)
  48. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key trigger 0, 1 0: 關閉
    1: 啟動
    group 群組名  
    playback 1, 2, 3, 4  
    skin 面板名  
    program 節目名  
    playlist 播放清單名  
    manually 0, 1 0: 由主伺服器控制
    1: 由站台伺服器手動觸發
    結果 Body 說明
    {
    "result":"0",
    "cms":[
    {"hostname":"string","IP":"string","mac":"string","result":"0"}
    ]
    }
    結果:
    0: 成功
    其他: 失敗
    注意

    您無法同時用面板(Skin)、節目(Program)與播放清單(Playlist)屬性。

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&emergency=trigger:1;
    group:SMP-8000;playback:1;skin:Basic-2;manually:1
    回應 {
    "result":"0",
    "cms":[
    {"hostname":"station_cms","IP":"172.16.100.250","mac":"00:90:0B:26:CD:3A","result":"0"}
    ]
    }

  49. 新增使用者帳號並設定存取權限 (僅適用CMS)
  50. 指令 認證
    (非必要)
    屬性 數值 說明
    action k=your_authencation_key do addacc  
    acc 使用者名稱 使用者名稱
    pass 密碼 帳號的密碼
    group 群組名 可以指定多個群組名,每個群組名以","分隔。
    r_group 存取權十六進制編碼 (Hex code) 參閱以下表格。使用bit或選擇多屬性。 (例如: 0x01011)
    r_lib
    r_sch
    r_mbyftp
    r_emergsch
    結果 Body 說明
    {
    "result":"0"
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:addacc;
    acc:user_a;pass:12345;group:aaaaa,bbbbb,ccccc;r_group:0x11;r_lib:0x111111;
    r_sch:0x1111111;r_mbyftp:0x1;r_emergsch:0x1
    回應 {
    "result":"0"
    }

    新增帳號存取權的屬性碼

    屬性 功能
    r_group 存取-檔案夾 0x01
    存取-群組 0x10
    r_lib 資源庫-檔案 0x000001
    資源庫-字型 0x000010
    資源庫-時鐘 0x000100
    資源庫-面板 0x001000
    資源庫-節目 0x010000
    資源庫-播放清單 0x100000
    r_sch 排程-播放 0x00000001
    排程-影片 0x00000010
    排程-圖片投影片 0x00000100
    排程-跑馬燈 0x00001000
    排程-HTML 0x00010000
    排程-音量 0x00100000
    排程-面板 0x01000000
    排程-播放清單 0x10000000
    r_mbyftp FTP存取多媒體檔案夾 0x1
    r_emergsch 啟動緊急排程 0x1

  51. 移除帳號 (僅適用CMS)
  52. 指令 認證
    (非必要)
    屬性 數值 說明
    action k=your_authencation_key do rmacc  
    acc 使用者名稱  
    結果 Body 說明
    {
    "result":"0"
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:rmacc;
    acc:user_a
    回應 {
    "result":"0"
    }

  53. 修改帳號屬性 (僅適用CMS)
  54. 指令 認證
    (非必要)
    屬性 數值 說明
    action k=your_authencation_key do modacc  
    acc 使用者名稱  
    pass 密碼 帳號的密碼
    newacc 使用者名稱 改變使用者名稱
    newpass 密碼 改變密碼
    r_group 群組名 可以指定多個群組名,每個群組名以","分隔。
    r_lib 存取權十六進制編碼 (Hex code) 改變存取權。使用bit或選擇多屬性。 (例如: 0x01011)
    r_sch
    r_mbyftp
    r_emergsch
    結果 Body 說明
    {
    "result":"0"
    }
    結果:
    0: 成功
    其他: 失敗

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:modacc;
    acc:user_a;pass:12345;newacc:user_b;newpass:67890;group:aaaaa,bbbbb,ccccc;
    r_group:0x11;r_lib:0x111111;r_sch:0x1111111
    回應 {
    "result":"0"
    }

  55. 讀取面板版型 (僅適用CMS)
  56. 指令 認證
    (非必要)
    屬性 數值 說明
    query k=your_authencation_key get skin  
    skin 面板名  
    group 群組名  
    結果 Body 說明
    {
    "result":"0"
    "skin":[ {
    "name":"string",
    "layout":[
    {
    "w":INT,"h":INT,
    "zones": INT,
    "zone":[
    {"type":"string","loc":{"x":INT,"y":INT,"w":INT,
    "h":INT,"z":INT}},
    {"type":"string","loc":{"x":INT,"y":INT,"w":INT,
    "h":INT,"z":INT}}
    ]
    }
    ]
    }]
    }

    結果:
    0: 成功
    其他: 失敗


    name: 面板名
    w: 面板寬
    h: 面板高
    zones: 區塊的數量
    zone: 區塊資訊
    type: 多媒體類型
    loc: 區塊座標與尺寸

    範例

    查詢 http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:skin;
    skin:Skin-1;group:group_a
    回應 {
    "result":"0"
    "skin":[ {
    "name":"Skin18",
    "layout":[
    {
    "w":1920,"h":1080,
    "zones": 3,
    "zone":[
    {"type":"video","loc":{"x":67,"y":62,"w":609,"h":385,"z":1}},
    {"type":"image","loc":{"x":1037,"y":44,"w":677,"h":484,"z":7}},
    {"type":"html","loc":{"x":2,"y":514,"w":842,"h":492,"z":7}}
    ]
    }
    ]
    }]
    }

  57. Wifi 設定 (僅適用SMP)
  58. 執行碼 屬性 數值 說明
    scan_ssid   0, 1 0: 關閉(連接一般WiFi)
    1: 啟用(連接隱藏ssid的WiFi)

    範例

    http://<ip>/cysdk/?scan_ssid=0
    http://<ip>/cysdk/?scan_ssid=1

  59. 批次啟用或停用所有CMS系統的緊急排程功能。
  60. http://<ip>/cysdk/?emAction=trigger_all
    http://<ip>/cysdk/?emAction=stop_all
    http://<ip>/cysdk/?emAction=trigger&group={group's name}
    http://<ip>/cysdk/?emAction=stop&group={group's name}

  61. 控制COM Port發送指令(僅適用SMP)
  62. 執行碼 屬性 數值 說明
    send_cs dev com1
    com2
    對Web UI裡設定的com1或com2發指令
    cmd 0, 1, 2… 0: 指令1
    1: 指令2
    2: 指令3

    範例

    執行COM Port 1的指令1
    http://<ip>/cysdk/cysdk.cgi?exe=send_cs&dev=com1&cmd=0

回到頂端

附錄A:時區設定的城市清單

(GMT-12:00) Eniwetok, Kwajalein
(GMT-11:00) MidwayIsland, Samoa
(GMT-10:00) Hawaii
(GMT-09:00) Alaska
(GMT-08:00) Pacific Time (US & Canada); Tijuana
(GMT-07:00) Arizona
(GMT-07:00) Mountain Time (US & Canada)
(GMT-06:00) Central Time (US & Canada)
(GMT-06:00) Mexico City, Tegucigalpa
(GMT-06:00) Saskatchewan
(GMT-05:00) Bogota, Lima, Quito
(GMT-05:00) Eastern Time (US & Canada)
(GMT-05:00) Indiana (East)
(GMT-04:00) Atlantic Time (Canada)
(GMT-04:00) Caracas, La Paz
(GMT-04:00) Santiago
(GMT-03:30) Newfoundland
(GMT-03:00) Brasilia
(GMT-03:00) Buenos Aires, Georgetown
(GMT-02:00) Mid-Atlantic
(GMT-01:00) Azores, Cape Verde Is.
(GMT) Casablanca, Monrovia
(GMT) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London
(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
(GMT+01:00) Brussels, Copenhagen, Madrid, Paris, Vilnius
(GMT+01:00) Sarajevo, Skopje, Sofija, Warsaw, Zagreb
(GMT+02:00) Athens, Istanbul, Minsk
(GMT+02:00) Bucharest
(GMT+02:00) Cairo
(GMT+02:00) Harare, Pretoria
(GMT+02:00) Helsinki, Riga, Tallinn
(GMT+02:00) Israel
(GMT+03:00) Baghdad, Kuwait, Riyadh
(GMT+03:00) Moscow, St. Petersburg, Volgograd
(GMT+03:00) Nairobi
(GMT+03:30) Tehran
(GMT+04:00) Abu Dhabi, Muscat
(GMT+04:00) Baku, Tbilisi
(GMT+04:30) Kabul
(GMT+05:00) Eekaterinburg
(GMT+05:00) Islamabad, Karachi, Tashkent
(GMT+05:30) Bombay, Calcutta, Madras, New Delhi
(GMT+06:00) Almaty, Dhaka
(GMT+06:00) Colombo
(GMT+06:30) Myanmar
(GMT+07:00) Bangkok, Hanoi, Jakarta
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
(GMT+08:00) Perth
(GMT+08:00) Singapore
(GMT+08:00) Taipei
(GMT+09:00) Osaka, Sapporo, Tokyo
(GMT+09:00) Seoul
(GMT+09:00) Yakutsk
(GMT+09:30) Adelaide
(GMT+09:30) Darwin
(GMT+10:00) Brisbane
(GMT+10:00) Canberra, Melbourne, Sydney
(GMT+10:00) Guam, Port Moresby
(GMT+10:00) Hobart
(GMT+10:00) Vladivostok
(GMT+11:00) Magadan, Solomon Is., New Caledonia
(GMT+12:00) Auckland, Wellington
(GMT+12:00) Fiji, Kamchatka, Marshall Is.

範例

http://<ip>/cysdk/?timeSetting=timezone:Eastern Time
http://<ip>/cysdk/?timeSetting=timezone:London
http://<ip>/cysdk/?timeSetting=timezone:Taipei


回到頂端

附錄B:SDK結果碼(Result Code)

-1 : 逾時。預設的逾時值為30秒。
 0 : 成功。
 1 : 確認您的帳號與密碼為正確的。
 2 : 無法登出。
 3 : 此session無效。
 4 : 動作指令的關鍵值無效。
 5 : query指令的屬性關鍵字無效。
 6 : query指令的get屬性值無效。
 7 : 無法取得CMSList。
 8 : 無法取得SMPList。
 9 : SMP或CMS的目標物未連線。
10 : 找不到SMP或CMS的目標物。
11 : 無法取得SMP的HWInfo。
12 : 無法取得SMP或CMS的PatchList。
13 : 無法取得SMP或CMS的紀錄檔。 ( 此狀況發生於紀錄檔為空白的時候。)
14 : 目前有其他人正在讀取相同的目標物的紀錄檔。
15 : 動作指令的屬性關鍵字無效。
16 : 動作指令的屬性do的值無效。
17 : 無法改變SMP的群組。
18 : 請輸入修補檔。
19 : 無法下載此修補檔。
20 : 不支援此修補檔的格式,正確的副檔名為.psu。
21 : 此群組無效。
22 : 您不可以同時輸入一個目標與群組。
23 : 請輸入一個目標或群組。
24 : 請稍等一下,修正檔正在上傳。
25 : 無法上傳修正檔。
26 : Query指令的屬性關鍵字無效。
27 : Emergency指令的播放屬性值無效。
28 : Emergency指令的群組屬性值無效,或此帳號無法管理該群組。
29 : 只能選擇一項資源。
30 : 選擇的資源無效。
31 : Emergency指令的trigger屬性無效。
32 : 您的帳號沒有緊急排程的存取權。
33 : 無法啟動緊急排程。
34 : 無法寄送通知。
35 : 此群組無效。
36 : 您無法把群組移至最上層因為該群組底下有子群組。
37 : 此群組名已存在,您無法新增/修改相同的名字。
38 : 群組名無效。名稱應包括英文字母 (a~z or A~Z)、數字 (0-9)、底線 (_)、與連字號 (-)。
39 : 父群組名無效或不存在。
40 : 此群組無效。
41 : 您新增的帳號名無效。名稱應包括英文字母 (a~z)、數字 (0-9)與底線 (_)。
42 : 此帳號已經存在。
43 : 密碼無效。
44 : 部分的群組無效。
45 : 帳號無效。
46 : 無法修改帳號。
47 : 帳號名無效或不存在。
48 : 帳號密碼無效。
49 : 帳號名無效。
50 : 此新帳號已經存在。
51 : 新密碼無效。
52 : 部分群組無效。
53 : 群組不存在或無效。
54 : 該面板不存在於此群組中。

回到頂端