Примеры

В следующих примерах мы предполагаем, что вы уже получили токен с помощью своей учетной записи сервиса :

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

Мы также предполагаем, что вы уже установили ${CLIENT_PROJECT} в качестве идентификатора проекта Google Cloud.

Список текущих клиентов

Следующая команда возвращает всех клиентов, к которым у вызывающего абонента есть доступ:

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 для проверки.

Следующая команда проверяет подлинность и сертификацию 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}\" }"

Теперь у CPI есть возможность установить CBSD, обладающий всеми требуемыми параметрами.

Многоэтапная регистрация CBSD

Существует два способа многоэтапной регистрации CBSD, описанные в следующих двух разделах. Вы можете выполнить многоэтапную регистрацию CBSD с параметрами, ранее подписанными CPI, или с использованием учётной записи CPI.

С параметрами устройства, ранее подписанными CPI

В этом примере показано, как создать конфигурацию неактивного устройства с параметрами установки CBSD, предварительно закодированными CPI, чтобы конфигурацию могли создать даже пользователи, не являющиеся пользователями CPI. Используйте закрытый ключ CPI для кодирования параметров CBSD. Для этого мы используем формат JSON Web Token . Предполагается, что вы указали строку JWT в качестве ${ENCODED_DEVICE} , а идентификатор CPI — в качестве ${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-счетом

Прежде чем пытаться проверить конфигурацию устройства, необходимо проверить подлинность 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} в качестве JSON-представления параметров регистрации CBSD в этом формате .

Затем CBSD должен отправить запрос на регистрацию в SAS для завершения регистрации.