akibtanjim/virtual-classroom

Laravel 虚拟教室,使用 Braincert 虚拟教室 API。

v1.0.1 2020-06-06 23:17 UTC

This package is auto-updated.

Last update: 2024-09-07 19:08:21 UTC


README

此包是为 Laravel 构建的,旨在为任何网站集成提供虚拟教室 API。此包使用 BrainCert 虚拟教室 API。更多信息请访问 这里

安装

使用 composer 安装


composer require akibtanjim/virtual-classroom

在 Laravel 5.5 或更高版本中,此包将被自动发现,您可以安全地跳过以下两个步骤。

如果使用 Laravel 5.4 或更低版本,在更新 composer 后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组

providers 部分,添加以下行


  AkibTanjim\VirtualClassRoom\VirtualClassRoomServiceProvider::class,

将别名添加到 aliases 部分 of config/app.php


  'ClassRoom' => AkibTanjim\VirtualClassRoom\Facades\ClassRoom::class,

使用方法

为了方便使用虚拟教室功能,您需要拥有一个 BrainCert 账户。您可以从 这里 注册。

此包需要 BrainCert 账户的 API 密钥。您可以从 这里 找到您的 API 密钥。请将您的域名填写在那里。您还可以从 BrainCert 门户 添加自定义重定向 URL、自定义标志、favicon、主机名等。

在获取您的 API 密钥 后,打开您的 .env 文件并粘贴以下代码

BRAIN_CERT_BASE_URL=https://api.braincert.com
BRAIN_CERT_API_KEY=YOUR_API_KEY

可用方法

  1. 安排课程
  2. 启动课程
  3. 课程列表
  4. 删除课程
  5. 取消课程
  6. 添加定价方案
  7. 定价方案列表
  8. 删除定价方案
  9. 方案支付
  10. 添加折扣
  11. 折扣列表
  12. 删除折扣
  13. 应用折扣券
  14. 录音列表
  15. 获取录音
  16. 删除录音
  17. 更改录音状态
  18. 获取课程使用报告
  19. 获取可用参与者

安排课程

此方法允许安排课程。

ClassRoom::schedule($request)

示例请求


    ClassRoom::schedule([
        "title" => "demo-class",
        "timezone" => 12,
        "date" => "2020-06-07",
        "start_time" => "07:42AM",
        "end_time" => "08:12AM",
    ]); 

示例响应


    {
        "status": "success",
        "data": {
            "status": "ok",
            "method": "addclass",
            "class_id": 397262,
            "title": "demo-class"
        },
        "message": "Class scheduled successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The title field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

启动课程

此方法允许启动课程,并为课程提供一个启动 URL。

ClassRoom::launchClass($request)

示例请求


    ClassRoom::launchClass([
        "class_id" => 123456,
        "user_id" => 2,
        "user_name" => "Student",
        "is_teacher" => 0,
        "lesson_name" => "Lesson-02",
        "course_name" => "Course-02",
        "is_extend" => 1
    ]);

示例响应


    {
        "status": "success",
        "data": {
            "status": "ok",
            "class_id": "396767",
            "method": "getclasslaunch",
            "launchurl": "LAUNCH_URL",
            "encryptedlaunchurl": "ENCRYPTED_LAUNCH_URL"
        },
        "message": "Class launched successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The user name field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

课程列表

此方法允许获取所有课程。

ClassRoom::classList($request)

示例请求


    ClassRoom::classList([
        "published" => 1,
        "start" => 0,
        // "limit" => 5,
        // "search" => "demo"
    ]);

示例响应


     {
        "status": "success",
        "data": {
            "total": 14,
            "classes": [
                    {
                        "isRecordingLayout": "0",
                        "canceled_date": "0000-00-00",
                        "isPrivateChat": "0",
                        "created_by": "0",
                        "instructor_id": "0",
                        "id": "123456",
                        "user_id": "123",
                        "title": "demo-class",
                        "date": "2020-06-07",
                        "start_time": "01:15 PM",
                        "end_time": "01:45 PM",
                        "timezone": "12",
                        "end_date": "0000-00-00",
                        "description": "",
                        "record": "1",
                        "ispaid": "0",
                        "language": "11",
                        "currency": "usd",
                        "status": "Upcoming",
                        "repeat": "0",
                        "virtual_class_type": "html5",
                        "weekdays": "",
                        "seat_attendees": "1",
                        "end_classes_count": "0",
                        "published": "1",
                        "timezone_id": "12",
                        "timezone_country": "Asia/Dhaka",
                        "timezone_label": "Central Asia Standard Time",
                        "difftime": "+06:00",
                        "timezone_title": "(GMT+06:00) Astana, Dhaka",
                        "totalrecords": "0",
                        "duration": 1800,
                        "next_class": 0,
                        "time_to_live_class": null,
                        "next_class_date_time": null,
                        "class_starts_in": 46996,
                        "label": "Central Asia Standard Time",
                        "isVideo": 1,
                        "isRegion": "0",
                        "privacy": "1",
                        "isBoard": "1",
                        "isScreenshare": "1",
                        "isCorporate": "1",
                        "isCancel": "0",
                        "extended_duration": "0",
                        "extended_duration_date": "0000-00-00"
                    },
                    {
                        "isRecordingLayout": "0",
                        "canceled_date": "0000-00-00",
                        "isPrivateChat": "0",
                        "created_by": "0",
                        "instructor_id": "0",
                        "id": "123456",
                        "user_id": "123",
                        "title": "demo-class",
                        "date": "2020-06-07",
                        "start_time": "07:42 AM",
                        "end_time": "08:12 AM",
                        "timezone": "12",
                        "end_date": "0000-00-00",
                        "description": "",
                        "record": "0",
                        "ispaid": "0",
                        "language": "11",
                        "currency": "usd",
                        "status": "Upcoming",
                        "repeat": "0",
                        "virtual_class_type": "html5",
                        "weekdays": "",
                        "seat_attendees": "2",
                        "end_classes_count": "0",
                        "published": "1",
                        "timezone_id": "12",
                        "timezone_country": "Asia/Dhaka",
                        "timezone_label": "Central Asia Standard Time",
                        "difftime": "+06:00",
                        "timezone_title": "(GMT+06:00) Astana, Dhaka",
                        "totalrecords": "0",
                        "duration": 1800,
                        "next_class": 0,
                        "time_to_live_class": null,
                        "next_class_date_time": null,
                        "class_starts_in": 27016,
                        "label": "Central Asia Standard Time",
                        "isVideo": 0,
                        "isRegion": "0",
                        "privacy": "1",
                        "isBoard": "0",
                        "isScreenshare": "1",
                        "isCorporate": "0",
                        "isCancel": "0",
                        "extended_duration": "0",
                        "extended_duration_date": "0000-00-00"
                    }
                ]
        },
        "message": "Class list fetched successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The limit must be an integer."
        ],
        "message": "Invalid Parameter(s)"
    }

删除课程

此方法允许删除课程。

ClassRoom::removeClass($request)

示例请求


    ClassRoom::removeClass([
        "class_id" => 123456,
    ]);

示例响应


    {
        "status": "success",
        "data": {
            "status": "ok",
            "method": "removeclass",
            "class_id": "123456"
        },
        "message": "Class removed successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

取消课程

此方法允许取消或激活课程/周期性课程。

ClassRoom::cancelClass($request)

示例请求


    ClassRoom::cancelClass([
        "class_id" => 123456,
        "is_cancel" => 1
    ]);

示例响应


    {
        "status": "success",
        "data": {
            "status":"ok",
            "method":"cancelclass",
            "class_id":10
        },
        "message": "Class cancelled successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

添加定价方案

此方法允许向课程添加定价方案。

ClassRoom::addScheme($request)

示例请求


    ClassRoom::addScheme([
        'class_id'      => 123456,
        'price'         =>  20,
        'no_of_day'     =>  30,
        'access_type'   =>   1,
        'no_of_max_use' =>   1,
    ]);

示例响应


    {
        "status": "success",
        "data": {
            "status": "ok",
            "method": "addprice",
            "price_id": 14
        },
        "message": "Price Scheme added successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

定价方案列表

此方法允许获取课程的定价方案列表。

ClassRoom::schemeList($request)

示例请求


    ClassRoom::schemeList([
        'class_id'      => 123456
    ]);

示例响应


{
    "status": "success",
    "data": [
        {
            "id": "123",
            "class_id": "123456",
            "scheme_price": "20",
            "scheme_days": "30",
            "lifetime": "0",
            "times": "1",
            "numbertimes": "1",
            "subscription": "0"
        },
        {
            "id": "123",
            "class_id": "123456",
            "scheme_price": "20",
            "scheme_days": "30",
            "lifetime": "0",
            "times": "1",
            "numbertimes": "1",
            "subscription": "0"
        }
    ],
    "message": "Schemes fetched successfully"
}

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

删除定价方案

此方法允许删除课程的定价方案。

ClassRoom::removeScheme($request)

示例请求


    ClassRoom::removeScheme([
        'price_id'      => 123456
    ]);

示例响应


{
    "status": "success",
    "data": [
       "status":"ok",
       "method":"removeprice",
       "price_id":"34"
    ],
    "message": "Scheme removed successfully"
}

错误响应


    {
        "status": "fail",
        "errors": [
            "The price id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

方案支付

此方法允许支付课程方案。

ClassRoom::payment($request)

示例请求


    ClassRoom::payment([
        'price_id'      => 123,
        'class_id'      => 123456,
        'card_number'   => '4242 4242 4242 4242',
        'card_exp_month' => '01',
        'card_exp_year' => '2017',
        'card_cvc'      => '141',
        'student_email' => 'yourname@domain.com',
        'cancel_url'    => base64_encode('YOUR_CANCEL_URL'),
        'return_url'    => base64_encode('YOUR_RETURN_URL')
    ]);

示例响应


{
    "status": "success",
    "data": {
        "status":"ok",
        "method":"apiclasspayment",
        "charge_id": "ch_1BL9Ae2eZvKYlo2CWz1xDYF1"
    },
    "message": "Payment processed successfully"
}

错误响应


    {
        "status": "fail",
        "errors": [
            "The price id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

添加折扣

此方法允许向课程添加折扣。

ClassRoom::addDiscount($request)

示例请求


    ClassRoom::addDiscount([
        'class_id'      => 123456,
        'discount'      => 5,
        'start_date'    => '2020-06-06',
        // 'end_date'      => '2020-06-06',
        'discount_type' => 0,
        // 'discount_code' => 'abcd',
        // 'discount_limit'=> 5,
    ]);

示例响应


    {
        "status": "success",
        "data": {
            "status": "ok",
            "method": "addDiscount",
            "Discount id": 123
        },
        "message": "Discount added successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

折扣列表

此方法允许获取课程的折扣列表。

ClassRoom::discountList($request)

示例请求


    ClassRoom::discountList([
        'class_id'      => 123456,
    ]);

示例响应


    {
        "status": "success",
        "data": [
            {
               "id":"37",
               "class_id":"598",
               "discount_code":"100code",
               "is_use_discount_code":"1",
               "discount_limit":"55",
               "is_no_limit":"0",
               "discount_type":"fixed_amount",
               "special_price":"100",
               "start_date":"2014-09-01 00:00:00",
               "end_date":"0000-00-00 00:00:00",
               "is_never_expire":"1"
            }
        ],
        "message": "Discount list fetched successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

删除折扣

此方法允许从课程中删除折扣。

ClassRoom::removeDiscount($request)

示例请求


    ClassRoom::discountList([
        'class_id'      => 123456,
    ]);

示例响应


    {
        "status": "success",
        "data": {
           "status":"ok",
           "method":"removediscount",
           "discount_id":"40"
        },
        "message": "Discount removed successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The discount id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

应用折扣券

此方法允许将折扣应用于课程。

ClassRoom::applyCoupon($request)

示例请求


    ClassRoom::applyCoupon([
        'class_id'      => 123456,
        'discount_code' => 'abcd'
    ]);

示例响应


    {
        "status": "success",
        "data": {
           "error":"0",
           "discount_id":"88"
           "discount_value":"2"
           "discount_type":"percentage"
        },
        "message": "Discount coupon applied successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

录音列表

此方法允许获取课程的所有录音。

ClassRoom::recordingList($request)

示例请求


    ClassRoom::recordingList([
        'class_id'  => 123456,
        // 'search'    => 'demo'
    ]);

示例响应


    {
        "status": "success",
        "data": [
            {
              "id":"6",
              "classroom_id":"52",
              "user_id":"0",
              "name":"video1369233387010_650002050.webm",
              "fname":"",
              "status":"1",
              "date_recorded":"1969-12-31"
            },
            {
              "id":"8",
              "classroom_id":"52",
              "user_id":"0",
              "name":"video1369231601092_104397168.webm",
              "fname":"","status":"0",
              "date_recorded":"1969-12-31"
            }
        ],
        "message": "Recording list fetched successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

获取录音

此方法允许获取课程的具体录音。

ClassRoom::getRecording($request)

示例请求


    ClassRoom::getRecording([
        'record_id'  => 114,
    ]);

示例响应


    {
        "status": "success",
        "data": [
            {
              "id":"114",
              "classroom_id":"483",
              "user_id":"43",
              "name":"20143142521video_483_480325_ready.webm",
              "fname":"",
                    "status":"1",
              "date_recorded":"2014-04-28",
              "record_url":"https:\/\/dm0d88zfsyhg8.cloudfront.net\/20143142521video_483_480325_ready.webm?Expires=1411640160&Signature=WmXk3GV3DMZ7xFHpn9~oRxAG5vbjtTMN~399bZhbF7UPAKJ-xJnKXGPENJffbq5fnsDydb3jAK7vA0O2l5pcz-MPkjqWz13Fg6hPGiT4Vo57gyVe3H9kBWtEAjmZrPaiMMgSweqslx5f9Ytq7D59tez3~qG3pfwW0r59iI8gKHI_&Key-Pair-Id=APKAINGTP6O5WANPM7YQ"
            }
        ],
        "message": "Recording fetched successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The record id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

删除录音

此方法允许删除课程的具体录音。

ClassRoom::removeRecording($request)

示例请求


    ClassRoom::removeRecording([
        'record_id'  => 123456,
    ]);

示例响应


    {
        "status": "success",
        "data": {
            "status": "ok",
            "method": "removeclassrecording",
            "record_id": "1234"
        },
        "message": "Recording removed successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The record id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

更改录音状态

此方法允许更改课程录音的状态。

ClassRoom::changeRecordingStatus($request)

示例请求


    ClassRoom::changeRecordingStatus([
        'record_id'  => 123456,
    ]);

示例响应


    {
        "status": "success",
        "data": {
           "status":"ok",
           "method":"changestatusrecording",
           "record_id":"20"
        },
        "message": "Recording status changed successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The record id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

获取课程使用报告

此方法用于获取与会者的总时长和总生产率百分比。如果您传递一个特定的用户ID,它将返回用户特定的数据

ClassRoom::changeRecordingStatus($request)

示例请求


    ClassRoom::classUsageReport([
        'class_id'  => 123456,
        'user_id'   => 1,
        'is_teacher' => 1
    ]);

示例响应


    {
        "status": "success",
        "data": [
           {
              "classId":"1973",
              "userId":"1254",
              "duration":"00:08:55",
              "percentage":"9.91%",
              "attendance":"Yes",
              "session":
              [
                  {
                    "time_in":"Jun 14, 2017 03:01:21 AM",
                    "time_out":"Jun 14, 2017 02:54:49 AM"
                   },
                   {
                    "time_in":"Jun 14, 2017 02:55:02 AM",
                    "time_out":"Jun 14, 2017 03:01:21 AM"
                  },
                  {
                    "time_in":"Jun 14, 2017 03:45:08 AM",
                    "time_out":"Jun 14, 2017 03:46:58 AM"
                  }
              ]      
            }
        ],
        "message": "Class usage report fetched successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

获取可用参与者

此方法用于在直播课程启动时显示可用座位列表。通过查询与会者数量,这非常有用,可以分配新与会者到直播课程。

ClassRoom::getAttendees($request)

示例请求


    ClassRoom::getAttendees([
        'class_id'  => 123456
    ]);

示例响应


    {
        "status": "success",
        "data": {
            "status": "ok",
            "method": "availableAttendees",
            "class_id": "123456",
            "remaning_attendees": 2
        },
        "message": "Available attendees list fetched successfully"
    }

错误响应


    {
        "status": "fail",
        "errors": [
            "The class id field is required."
        ],
        "message": "Invalid Parameter(s)"
    }

时区列表

查看完整列表

    28=>(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London
    30=>(GMT) Monrovia, Reykjavik
    72=>(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
    53=>(GMT+01:00) Brussels, Copenhagen, Madrid, Paris
    14=>(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb
    71=>(GMT+01:00) West Central Africa
    83=>(GMT+02:00) Amman
    84=>(GMT+02:00) Beirut
    24=>(GMT+02:00) Cairo
    61=>(GMT+02:00) Harare, Pretoria
    27=>(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
    35=>(GMT+02:00) Jerusalem
    21=>(GMT+02:00) Minsk
    86=>(GMT+02:00) Windhoek
    31=>(GMT+03:00) Athens, Istanbul, Minsk
    2=>(GMT+03:00) Baghdad
    49=>(GMT+03:00) Kuwait, Riyadh
    54=>(GMT+03:00) Moscow, St. Petersburg, Volgograd
    19=>(GMT+03:00) Nairobi
    87=>(GMT+03:00) Tbilisi
    34=>(GMT+03:30) Tehran
    1=>(GMT+04:00) Abu Dhabi, Muscat
    88=>(GMT+04:00) Baku
    9=>(GMT+04:00) Baku, Tbilisi, Yerevan
    89=>(GMT+04:00) Port Louis
    47=>(GMT+04:30) Kabul
    25=>(GMT+05:00) Ekaterinburg
    90=>(GMT+05:00) Islamabad, Karachi
    73=>(GMT+05:00) Islamabad, Karachi, Tashkent
    33=>(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
    62=>(GMT+05:30) Sri Jayawardenepura
    91=>(GMT+05:45) Kathmandu
    42=>(GMT+06:00) Almaty, Novosibirsk
    12=>(GMT+06:00) Astana, Dhaka
    41=>(GMT+06:30) Rangoon
    59=>(GMT+07:00) Bangkok, Hanoi, Jakarta
    50=>(GMT+07:00) Krasnoyarsk
    17=>(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
    46=>(GMT+08:00) Irkutsk, Ulaan Bataar
    60=>(GMT+08:00) Kuala Lumpur, Singapore
    70=>(GMT+08:00) Perth
    63=>(GMT+08:00) Taipei
    65=>(GMT+09:00) Osaka, Sapporo, Tokyo
    77=>(GMT+09:00) Seoul
    75=>(GMT+09:00) Yakutsk
    10=>(GMT+09:30) Adelaide
    4=>(GMT+09:30) Darwin
    20=>(GMT+10:00) Brisbane
    5=>(GMT+10:00) Canberra, Melbourne, Sydney
    74=>(GMT+10:00) Guam, Port Moresby
    64=>(GMT+10:00) Hobart
    69=>(GMT+10:00) Vladivostok
    15=>(GMT+11:00) Magadan, Solomon Is., New Caledonia
    44=>(GMT+12:00) Auckland, Wellington
    26=>(GMT+12:00) Fiji, Kamchatka, Marshall Is.
    6=>(GMT-01:00) Azores
    8=>(GMT-01:00) Cape Verde Is.
    39=>(GMT-02:00) Mid-Atlantic
    22=>(GMT-03:00) Brasilia
    94=>(GMT-03:00) Buenos Aires
    55=>(GMT-03:00) Buenos Aires, Georgetown
    29=>(GMT-03:00) Greenland
    95=>(GMT-03:00) Montevideo
    45=>(GMT-03:30) Newfoundland
    3=>(GMT-04:00) Atlantic Time (Canada)
    57=>(GMT-04:00) Georgetown, La Paz, San Juan
    96=>(GMT-04:00) Manaus
    51=>(GMT-04:00) Santiago
    76=>(GMT-04:30) Caracas
    56=>(GMT-05:00) Bogota, Lima, Quito
    23=>(GMT-05:00) Eastern Time (US & Canada)
    67=>(GMT-05:00) Indiana (East)
    11=>(GMT-06:00) Central America
    16=>(GMT-06:00) Central Time (US & Canada)
    37=>(GMT-06:00) Guadalajara, Mexico City, Monterrey
    7=>(GMT-06:00) Saskatchewan
    68=>(GMT-07:00) Arizona
    38=>(GMT-07:00) Chihuahua, La Paz, Mazatlan
    40=>(GMT-07:00) Mountain Time (US & Canada)
    52=>(GMT-08:00) Pacific Time (US & Canada)
    104=>(GMT-08:00) Tijuana, Baja California
    48=>(GMT-09:00) Alaska
    32=>(GMT-10:00) Hawaii
    58=>(GMT-11:00) Midway Island, Samoa
    18=>(GMT-12:00) International Date Line West
    105=>(GMT-4:00) Eastern Daylight Time (US & Canada)
    13=>GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague


支持货币列表

查看完整列表

    AUD 
    CAD 
    EUR 
    GBP 
    NZD 
    USD


重复列表

查看完整列表

    1 =>Daily (all 7 days)
    2=>6 Days(Mon-Sat)
    3=>5 Days(Mon-Fri)
    4=>Weekly
    5=>Once every month
    6=>On selected days


工作日列表

查看完整列表

    1=> Sunday
    2=> Monday
    3=> Tuesday
    4=> Wednesday
    5=> Thursday
    6=> Friday
    7=> Saturday


界面语言列表

查看完整列表

    1 =>arabic
    2 =>bosnian
    3 =>bulgarian
    4 =>catalan
    5 =>chinese-simplified
    6 =>chinese-traditional
    7 =>croatian
    8 =>czech
    9 =>danish
    10 =>dutch
    11 =>english
    12 =>estonian
    13 =>finnish
    14 =>french
    15 =>german
    16 =>greek
    17 =>haitian-creole
    18 =>hebrew
    19 =>hindi
    20 =>hmong-daw
    21 =>hungarian
    22 =>indonesian
    23 =>italian
    24 =>japanese
    25 =>kiswahili
    26 =>klingon
    27 =>korean
    28 =>lithuanian
    29 =>malayalam
    30 =>malay
    31 =>maltese
    32 =>norwegian-bokma
    33 =>persian
    34 =>polish
    35 =>portuguese
    36 =>romanian
    37 =>russian
    38 =>serbian
    39 =>slovak
    40 =>slovenian
    41 =>spanish
    42 =>swedish
    43 =>tamil
    44 =>telugu
    45 =>thai
    46 =>turkish
    47 =>ukrainian
    48 =>urdu
    49 =>vietnamese
    50 =>welsh


数据中心区域列表

查看完整列表

    0 => Intelligent routing to nearest location
    1 => US East (Dallas, TX)  
    2 => US West (Los Angeles, CA)  
    3 => US East (New York)  
    4 => Europe (Frankfurt, Germany)  
    5 => Europe (London)  
    6 => Asia Pacific (Bangalore, India)  
    7 => Asia Pacific (Singapore)  
    8 => US East (Miami, FL)  
    9 => Europe (Milan, Italy)  
    10 => Asia Pacific (Tokyo, Japan)  
    11 => Middle East (Dubai, UAE)  
    12 => Australia (Sydney)  
    13 => Europe (Paris, France)  
    14 => Asia Pacific (Hong Kong, China)
    15 => Europe (Amsterdam, Netherlands)



作者