Exemplos de código da API

Esta página contém exemplos de código para a API Portal do Google Spectrum Access System (SAS).

Antes de começar

Para os exemplos a seguir, siga os seguintes pré-requisitos:

Listar os clientes atuais

  1. 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"
    
  2. Salve o nome do cliente retornado como uma variável:

    CUSTOMER_NAME=customers/...
    

Criar uma nova configuração de dispositivo

  1. Defina o ${FCCID} e o ${SN} do dispositivo que você quer criar:

    FCCID=f1
    SN=sn1
    
  2. Crie a configuração do dispositivo:

    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 de dispositivo recém-criada.

  3. Salve o nome do dispositivo como uma variável:

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

Listar 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 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 um dispositivo

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 de Instalador profissional certificado (CPI, na sigla em inglês)

  1. Gere 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 "{}"
    

    O resultado será assim:

     {
      "secret": "<generated secret>"
     }
    
  2. Use o formato JSON Web Token para codificar a string secreta em um JWT.

  3. Defina o seguinte:

    1. ${SECRET} para a string secreta
    2. ${ENCODED_SECRET} para a string JWT
    3. ${CPI_ID} para o ID do CPI
  4. Valide 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 dispositivo de serviço de rádio de banda larga dos cidadãos (CBSD, na sigla em inglês) com todos os parâmetros necessários.

Registro multietapa da CBSD

É possível realizar o registro em várias etapas do CBSD com parâmetros de dispositivo assinados anteriormente por um CPI ou com uma conta de CPI.

Parâmetros do dispositivo assinados anteriormente por um CPI

Este exemplo mostra como criar uma configuração de dispositivo inativo com parâmetros de instalação do CBSD codificados anteriormente por um CPI. Como resultado, os usuários que não têm CPI também podem criar a configuração.

  1. Use a chave privada do CPI para codificar os parâmetros do CBSD. Recomendamos que você use o formato JSON Web Token.
  2. Defina ${ENCODED_DEVICE} como a string JWT e ${CPI_ID} como o ID do CPI.
  3. Crie a configuração do dispositivo inativo:

    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 para a SAS para concluir o registro.

Conta do CPI

A identidade do CPI precisa ser validada antes de você validar uma configuração do dispositivo. Depois disso, use o comando abaixo para criar uma configuração de dispositivo inativo:

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

Substitua ${DEVICE} pela representação JSON dos parâmetros de registro do CSDB. Para mais informações sobre o formato, consulte Recurso REST: customers.devices.

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

A seguir