範例

在以下範例中,我們假設已使用服務帳戶取得權杖

TOKEN=$(gcloud auth print-access-token)

並假設你已將 ${CLIENT_PROJECT} 設為 Google Cloud 專案的專案 ID。

列出現有客戶

下列指令會傳回呼叫者可存取的所有客戶:

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \"https://sasportal.googleapis.com/v1alpha1/customers"

為方便起見,請將傳回的客戶名稱儲存在變數中:

CUSTOMER_NAME=customers/...

建立新的裝置設定

首先,請針對您要建立的裝置設定 ${FCCID}${SN}

FCCID=f1
SN=sn1

然後使用下列指令建立裝置設定:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices" \
  -d "{ \"fcc_id\": \"$FCCID\", \"serial_number\": \"$SN\", \"preloaded_config\": { \"call_sign\": \"cs1\", \"category\": \"DEVICE_CATEGORY_A\"}}"

這個指令會傳回新建立的裝置設定。為了方便起見,請將裝置名稱儲存在變數中:

DEVICE_NAME=customers/.../devices/...

列出目前的裝置

下列指令會列出現有裝置。

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices"

依名稱擷取裝置

下列指令會依名稱擷取裝置。

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}"

更新現有裝置

下列指令會更新現有裝置。

curl -X PATCH -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}" \

驗證您的 CPI 身分和認證

請使用下列範例來產生密鑰字串:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:generateSecret" \
  -d "{}"

系統會傳回採用以下格式的值:

{
  "secret": "<generated secret>"
}

接著,密鑰字串必須編碼至 JWT。請使用 JSON Web Token 格式。我們假設您已將 ${SECRET} 設為密鑰字串、${ENCODED_SECRET} 設為 JWT 字串,以及將 ${CPI_ID} 設為 CPI 的驗證 ID。

下列指令會驗證 CPI 的身分和認證。

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:validate" \
  -d "{ \"installer_id\": \"${CPI_ID}\", \"secret\": \"${SECRET}\", \"encoded_secret\": \"${ENCODED_SECRET}\" }"

單次安裝出價功能現在可以安裝包含所有必要參數的 CBSD。

多步驟 CBSD 註冊

以下兩節將介紹如何執行多步驟 CBSD 註冊功能。您可以使用先前 CC 或 CPI 帳戶簽署的參數,執行多步驟 CBSD 註冊。

使用先前由單次安裝出價所簽署的裝置參數

本範例說明如何透過先前由 CPI 編碼的 CBSD 安裝參數建立非使用中的裝置設定,以便非 CPI 使用者也能建立設定。 使用 CPI' 私密金鑰對 CBSD 參數進行編碼。我們會採用 JSON Web Token 格式進行這項操作。我們假設您將 ${ENCODED_DEVICE} 設為 JWT 字串,並將 ${CPI_ID} 設為 CPI 的 ID。

接著,您可以使用下列指令建立非使用中的裝置設定:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices:createSigned" \
  -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"

接著,CBSD 必須向 SAS 傳送註冊要求,才能完成註冊。

使用單次安裝出價帳戶

首先,CPI 的身分必須先經過驗證,才能驗證裝置設定。完成上述操作後,請使用下列指令建立未使用的裝置設定:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}:signDevice" \
  -d "${DEVICE}"

我們假設您將 ${DEVICE} 設為這個格式的 CBSD 註冊參數的 JSON 表示法。

接著,CBSD 必須向 SAS 傳送註冊要求,才能完成註冊。