Amostras

Nos exemplos a seguir, supomos que você já contenha um token com sua conta de serviço:

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

Suponha também que você já tenha definido ${CLIENT_PROJECT} como o ID do projeto do Google Cloud.

Listar clientes atuais

O comando a seguir retorna todos os clientes a que o autor da chamada tem acesso:

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"

Por conveniência, salve o nome do cliente que foi retornado em uma variável:

CUSTOMER_NAME=customers/...

Criar uma nova configuração de dispositivo

Primeiro, defina o ${FCCID} e o ${SN} do dispositivo que você quer criar:

FCCID=f1
SN=sn1

Em seguida, crie a configuração do dispositivo com o seguinte comando:

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\"}}"

O comando retorna uma configuração do dispositivo recém-criada. Por conveniência, salve o nome do dispositivo em uma variável:

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

Listar dispositivos atuais

O comando a seguir lista os dispositivos atuais.

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"

Recuperar dispositivo por nome

O comando a seguir recupera dispositivos por nome.

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}"

Atualizar dispositivo atual

O comando a seguir atualiza os dispositivos atuais.

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}" \

Validar sua identidade e certificação CPI

Use o exemplo a seguir para gerar a string secreta:

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 "{}"

Isso retorna um valor com o seguinte formato:

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

A string do secret precisa ser codificada em um JWT. Use o formato JSON Web Token. Presumimos que você defina ${SECRET} como a string secreta, ${ENCODED_SECRET} como a string JWT e ${CPI_ID} como o ID do CPI a ser validado.

O comando a seguir valida a identidade e a certificação do 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}\" }"

Agora o CPI pode instalar um CBSD com todos os parâmetros obrigatórios.

Registro CBSD em várias etapas

Existem duas maneiras de realizar o registro CBSD em várias etapas abordados nas duas seções a seguir. Você pode realizar o registro CBSD em várias etapas com parâmetros assinados anteriormente por um CPI ou com uma conta de CPI.

Com parâmetros de dispositivo assinados anteriormente por um CPI

Este exemplo mostra como criar uma configuração de dispositivo inativa com parâmetros de instalação do CBSD codificados anteriormente por um CPI. Assim, a configuração pode ser criada até por usuários sem CPI. Use a chave privada CPI' para codificar os parâmetros CBSD. Usamos o formato JSON Web Token para fazer isso. Presumimos que você tenha definido ${ENCODED_DEVICE} como a string JWT e ${CPI_ID} como o ID do CPI.

A configuração do dispositivo inativo pode ser criada com o seguinte comando:

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}\" }"

O CBSD precisa enviar uma solicitação de registro ao SAS para concluir o registro.

Com uma conta de CPI

Primeiro, a identidade do CPI precisa ser validada antes de você tentar validar uma configuração do dispositivo. Em seguida, use o seguinte comando para criar uma configuração de dispositivo inativa:

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}"

Presumimos que você tenha definido ${DEVICE} como a representação JSON dos parâmetros de registro CBSD neste formato.

O CBSD precisa enviar uma solicitação de registro ao SAS para concluir o registro.