Exemples

Dans les exemples suivants, nous partons du principe que vous avez déjà obtenu un jeton avec votre compte de service :

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

Nous partons également du principe que vous avez déjà défini ${CLIENT_PROJECT} sur l'ID de projet du projet Google Cloud.

Lister les clients actuels

La commande suivante renvoie tous les clients auxquels l'appelant a accès :

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"

Pour plus de commodité, enregistrez le nom du client renvoyé dans une variable :

CUSTOMER_NAME=customers/...

Créer une configuration d'appareil

Commencez par définir le ${FCCID} et le ${SN} de l'appareil que vous souhaitez créer :

FCCID=f1
SN=sn1

Créez ensuite la configuration de l'appareil à l'aide de la commande suivante :

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

La commande renvoie une configuration d'appareil nouvellement créée. Pour plus de commodité, enregistrez le nom de l'appareil dans une variable :

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

Lister les appareils actuels

La commande suivante liste les appareils existants.

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"

Récupérer un appareil par son nom

La commande suivante récupère les appareils par nom.

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

Mettre à jour un appareil existant

La commande suivante met à jour les appareils existants.

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

Valider votre identité et votre certification CPI

Utilisez l'exemple suivant pour générer la chaîne secrète :

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

Cela renvoie une valeur au format suivant :

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

La chaîne secrète doit ensuite être encodée dans un jeton JWT. Utilisez le format de jeton Web JSON. Nous partons du principe que vous avez défini ${SECRET} sur la chaîne secrète, ${ENCODED_SECRET} sur la chaîne JWT et ${CPI_ID} sur l'ID du CPI à valider.

La commande suivante valide l'identité et la certification du 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}\" }"

Le CPI peut désormais installer une CBSD qui comporte tous les paramètres requis.

Enregistrement de CBSD en plusieurs étapes

Il existe deux façons d'enregistrer un CBSD en plusieurs étapes, décrites dans les deux sections suivantes. Vous pouvez enregistrer un CBSD en plusieurs étapes avec des paramètres précédemment signés par un CPI ou avec un compte CPI.

Avec des paramètres d'appareil précédemment signés par un CPI

Cet exemple montre comment créer une configuration d'appareil inactif avec des paramètres d'installation CBSD précédemment encodés par un CPI, afin que la configuration puisse être créée même par des utilisateurs non CPI. Utilisez la clé privée du CPI pour encoder les paramètres CBSD. Pour ce faire, nous utilisons le format de jeton Web JSON. Nous partons du principe que vous avez défini ${ENCODED_DEVICE} sur la chaîne JWT et ${CPI_ID} sur l'ID du CPI.

La configuration de l'appareil inactif peut ensuite être créée à l'aide de la commande suivante :

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

Le CBSD doit ensuite envoyer une demande d'enregistrement au SAS pour finaliser son enregistrement.

Avec un compte CPI

Tout d'abord, l'identité du CPI doit être validée avant que vous tentiez de valider la configuration d'un appareil. Ensuite, utilisez la commande suivante pour créer une configuration d'appareil inactif :

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

Nous partons du principe que vous avez défini ${DEVICE} comme étant la représentation JSON des paramètres d'enregistrement CBSD dans ce format.

Le CBSD doit ensuite envoyer une demande d'enregistrement au SAS pour finaliser son enregistrement.