云通訊平臺REST 接口為開發者提供主賬戶信息查詢、創建子賬戶、獲取子賬戶、模板短信、外呼通知、語音驗證碼、IVR外呼、會議管理和座席管理等功能。
當您第一次使用云通訊平臺REST API時,您需要在首頁注冊賬號,我們會給您自動分配一個主賬戶及默認應用,您可以通過默認應用或創建新應用后,調用接口或使用在線功能生成多個子賬戶,子賬戶可以讓您輕松的管理客戶信息以及控制客戶使用情況。欲了解子賬戶更多信息,請參閱創建子賬戶。
由于API是基于REST原則上的,所以它很容易編寫和測試應用程序。您可以使用瀏覽器訪問URL,也可以使用幾乎任何客戶端在任何編程語言與REST API進行交互。
云通訊平臺 REST Web Service 接口
1、Base URL
文檔中所有被引用的地址都有如下Base URL:
https://app.cloopen.com:8883/2013-12-26
注意: 為了確保數據隱私,云通訊平臺的REST API是通過HTTPS方式請求。
2、統一請求包頭
業務URL格式:Base URL與業務URL相拼接為完整請求URL
主帳號鑒權:
/Accounts/{accountSid}/{func}/{funcdes}?sig={SigParameter}
子帳號鑒權:
/SubAccounts/{subAccountSid}/{func}/{funcdes}?sig={SigParameter}
HTTP標準包頭字段(必填):
Accept:application/xml; Content-Type:application/xml;charset=utf-8; Content-Length:256; Authorization:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
屬性說明
屬性 | 類型 | 約束 | 說明 |
---|---|---|---|
accountSid | String | 必選 | 主賬戶Id。由32個英文字母和阿拉伯數字組成的主賬戶唯一標識符 |
subAccountSid | String | 必選 | 子賬戶Id。由32個英文字母和阿拉伯數字組成的子賬戶唯一標識符 |
SigParameter | String | 必選 | 驗證參數,請求URL必須帶有此參數,生成規則詳見下方說明 |
Accept | String | 必選 | 客戶端響應接收數據格式:application/xml、application/json |
Content-Type | String | 必選 | 類型:application/xml;charset=utf-8、application/json;charset=utf-8 |
Authorization | String | 必選 | 驗證信息,生成規則詳見下方說明 |
func | String | 可選 | 業務功能,根據業務的需要添加 |
funcdes | String | 可選 | 業務操作,業務功能的各類具體操作分支 |
說明
1. Base URL后跟驗證級別
? Accounts:主帳號鑒權,云通訊平臺會對請求中的主帳號和主帳號Token進行驗證;
? SubAccounts:子帳號鑒權,云通訊平臺會對請求中的子帳號和子帳號Token進行驗證。
2. SigParameter是REST API 驗證參數
主帳號鑒權:
? URL后必須帶有sig參數,例如:sig=AAABBBCCCDDDEEEFFFGGG。
? 使用MD5加密(主帳號Id + 主帳號授權令牌 +時間戳)。其中主帳號Id和主帳號授權令牌分別對應管理控制臺中的ACCOUNT SID和AUTH TOKEN。
? 時間戳是當前系統時間,格式"yyyyMMddHHmmss"。時間戳有效時間為24小時,如:20140416142030
? SigParameter參數需要大寫
子帳號鑒權:
? URL后必須帶有sig參數,例如:sig=AAABBBCCCDDDEEEFFFGGG。
? 使用MD5加密(子帳號Id + 子帳號授權令牌 +時間戳)。其中子帳號Id和子帳號授權令牌可通過創建子帳號接口得到。
? 時間戳是當前系統時間,格式"yyyyMMddHHmmss"。時間戳有效時間為24小時,如:20140416142030
? SigParameter參數需要大寫
3. Authorization是包頭驗證信息
? 使用Base64編碼(賬戶Id + 冒號 + 時間戳)其中賬戶Id根據url的驗證級別對應主賬戶或子賬戶
? 冒號為英文冒號
? 時間戳是當前系統時間,格式"yyyyMMddHHmmss",需與SigParameter中時間戳相同。
4. func描述業務功能,funcdes描述業務功能的具體操作
例如:/ivr/createconf
3、數據報文格式
云通訊平臺REST接口支持兩種主流的報文格式:XML和JSON。通過請求包頭的字段Content-Type及Accept,即可決定請求包體和響應包體的格式,如:Content-Type:application/xml;charset=utf-8;Accept:application/xml; 表示請求類型格式是XML,要求服務器響應的包體類型也是XML;Content-Type:application/json;charset=utf-8;Accept:application/json; 表示請求類型格式是JSON,要求服務器響應類型也是JSON;
4、關于REST (REpresentational State Transfer)
我們的云通訊平臺REST API設計的方式非常友好,讓你使用起來簡單明了,來源于Wikipedia,REST的支持者認為,Web大范圍的擴展和增長直接導致了REST設計原則的產生,以下為REST設計原則:
1.應用場景和功能都被分為不同的資源
2.每一個資源通過一個全局的資源標識以超鏈接的方式被訪問
3.所有資源通過共享標準的接口實現客戶側和資源之間的場景轉換,資源包括如下兩項:
? 已經被定義好的一套有約束的操作集。
? 一套有約束的內容類別集和可選的命令支持碼。
REST 協議特點:
? 客戶側請求服務器模式
? 狀態無關
? 緩存機制
? 層次結構
REST的客戶端服務器分離理念大大簡化了組件執行,降低了語義間連接的復雜度,改進了性能調整的有效性,增加了服務器組件的可擴展性。分層的結構化系統約束允許在不改變接口的情況下引入中間代理、網關、防火墻等多種接入點,并與之通訊,并且通過可擴展性,以共享內存的方式改進系統性能,有助于信息傳遞。
通過對消息的約束,把REST的中間處理變為一個獨立的自我描述:無狀態交互,使用標準的方法和媒體類型。通過這種方式使語義信息,交互數據,響應信息能夠明確的顯示其使用緩存的能力。