Κωδικοί QR προετοιμασίας (provisioning)

Δημιουργήστε έναν κωδικό QR που εγγράφει μια νέα ή επαναφερμένη στις εργοστασιακές ρυθμίσεις συσκευή Android στην εταιρεία σας με μια συγκεκριμένη πολιτική.

Πώς λειτουργεί

Κάθε αίτημα δημιουργεί ένα νέο διακριτικό εγγραφής για την πολιτική και επιστρέφει έναν κωδικό QR που το περιέχει. Ο κωδικός παύει να λειτουργεί 24 ώρες μετά τη δημιουργία του· η απόκριση παρέχει την ακριβή ώρα στο expiresAt. Δημιουργήστε έναν κωδικό όταν κάποιος πρόκειται να ρυθμίσει συσκευές, και δημιουργήστε έναν νέο αντί να επαναχρησιμοποιήσετε έναν παλαιότερο.

Για να χρησιμοποιήσετε τον κωδικό, πατήστε στην οθόνη υποδοχής του οδηγού ρύθμισης της συσκευής έξι φορές, συνδεθείτε σε Wi-Fi εάν σας ζητηθεί, και σαρώστε τον. Μια συσκευή μπορεί να εγγραφεί με αυτόν τον τρόπο μόνο όταν είναι καινούργια ή έχει επαναφερθεί στις εργοστασιακές ρυθμίσεις.

Οι πολιτικές αποκλειστικά για VR δεν μπορούν να προετοιμαστούν με κωδικό QR: οι συσκευές τους προετοιμάζονται με το Nomid Ops μέσω USB.

Απαιτήσεις

  • Ένα κλειδί API με το δικαίωμα PROVISIONING, σε συνδυασμό με το POLICIES_READ. Μόνο ένας χρήστης της πύλης στον οποίο επιτρέπεται να προετοιμάζει συσκευές και έχει πρόσβαση σε όλες τις πολιτικές μπορεί να δημιουργήσει ένα κλειδί με το PROVISIONING.
  • Η εταιρεία πρέπει να έχει ολοκληρώσει την εγγραφή της στο Android Enterprise.
  • Οι πελάτες MCP που συνδέονται με το Sign in with Nomid αντί για κλειδί API χρειάζονται το εύρος mcp:provisioning, και η ρύθμιση προετοιμασίας (provisioning) της εταιρείας στην ενότητα πρόσβασης εκπροσώπου AI στην πύλη πρέπει να είναι ενεργοποιημένη.

Τελικό σημείο

Η διαδρομή είναι σχετική με τη βασική διεύθυνση URL του API και απαιτεί την κεφαλίδα X-API-Key. Ένα επιτυχές αίτημα επιστρέφει 201 Created.

ΜέθοδοςEndpointΠεριγραφή
POST/policies/{policyId}/provisioning-qr-codesΔημιουργήστε έναν κωδικό QR προετοιμασίας για μια πολιτική, με ένα νέο διακριτικό εγγραφής

Σώμα αιτήματος

Κάθε πεδίο είναι προαιρετικό: στείλτε ένα κενό αντικείμενο JSON για έναν κωδικό χωρίς Wi-Fi και με την προεπιλεγμένη προσωπική χρήση. Ένα άγνωστο πεδίο επιστρέφει 400.

ΠεδίοΤιμέςΠεριγραφή
personalUsageUNSPECIFIED, ALLOWED, DISALLOWED, USERLESSΠώς χρησιμοποιείται η συσκευή: ALLOWED για προφίλ εργασίας σε συσκευή προσωπικής ιδιοκτησίας, DISALLOWED για πλήρως διαχειριζόμενη συσκευή εταιρικής ιδιοκτησίας, USERLESS για αποκλειστική συσκευή χωρίς λογαριασμό χρήστη. Το UNSPECIFIED είναι η προεπιλογή όταν παραλείπεται.
wifiSsidΈνα δίκτυο Wi-Fi στο οποίο συνδέεται η συσκευή κατά τη ρύθμιση. Έως 32 byte σε UTF-8. Τα κενά διαστήματα γύρω από αυτό διατηρούνται ως μέρος του ονόματος.
wifiPasswordΟ κωδικός πρόσβασης του wifiSsid, έως 63 byte σε UTF-8. Ένας κωδικός πρόσβασης WPA έχει τουλάχιστον 8 byte. Ένα κλειδί WEP αποτελείται από 5 ή 13 χαρακτήρες ASCII ή 10 ή 26 δεκαεξαδικά ψηφία. Δεν επιστρέφεται ποτέ.
wifiSecurityNONE, WPA, WEPΗ ασφάλεια του wifiSsid. Η προεπιλογή είναι WPA όταν δίνεται κωδικός πρόσβασης και NONE διαφορετικά. Το NONE δεν δέχεται κωδικό πρόσβασης, ενώ τα WPA και WEP απαιτούν έναν.
wifiHiddenΤο αν το wifiSsid είναι κρυφό δίκτυο. Η προεπιλογή είναι false.

Τα wifiPassword, wifiSecurity και wifiHidden απαιτούν το wifiSsid.

Απόκριση

ΠεδίοΠεριγραφή
policyIdΤο όνομα διαδρομής της πολιτικής, το policyId με το οποίο εγγράφονται οι συσκευές.
policyNameΤο όνομα εμφάνισης της πολιτικής.
personalUsageΗ λειτουργία προσωπικής χρήσης του διακριτικού εγγραφής.
expiresAtΠότε ο κωδικός QR σταματά να εγγράφει συσκευές.
wifiSsidΤο δίκτυο Wi-Fi στο οποίο συνδέεται η συσκευή κατά τη ρύθμιση. Παραλείπεται όταν δεν έχει οριστεί κανένα.
imageΗ εικόνα του κωδικού QR: mimeType (image/png) και data, τα byte της εικόνας σε base64.
portalUrlΈνας σύνδεσμος προς την πολιτική στην πύλη Nomid.

Παράδειγμα

Δημιουργήστε έναν κωδικό για μια πλήρως διαχειριζόμενη συσκευή που συνδέεται σε δίκτυο WPA κατά τη ρύθμιση. Το jq δημιουργεί το σώμα από μια μεταβλητή περιβάλλοντος, ώστε να γίνεται σωστά διαφυγή του κωδικού πρόσβασης και να μην καταλήγει στο ιστορικό του shell σας.

curl -X POST "https://api.nomid.tech/emm/api/v1/policies/p7k2m9qa4xz/provisioning-qr-codes" \
  -H "X-API-Key: $NOMID_API_KEY" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --arg password "$WIFI_PASSWORD" \
    '{personalUsage: "DISALLOWED", wifiSsid: "Warehouse", wifiPassword: $password}')"
HTTP/1.1 201 Created

{
  "policyId": "p7k2m9qa4xz",
  "policyName": "Warehouse scanners",
  "personalUsage": "DISALLOWED",
  "expiresAt": "2026-10-11T14:30:00Z",
  "wifiSsid": "Warehouse",
  "image": {
    "mimeType": "image/png",
    "data": "iVBORw0KGgoAAAANSUhEUgAA..."
  },
  "portalUrl": "https://portal.nomid.tech/#/acme/acme/policy/p7k2m9qa4xz"
}

Αποκωδικοποιήστε το πεδίο data από base64 για να λάβετε το PNG. Τα δεδομένα εικόνας έχουν συντομευτεί εδώ.

Σφάλμα: Πολιτική μόνο για VR

HTTP/1.1 409 Conflict
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Conflict",
  "status": 409,
  "detail": "Policy q4vr8headset is a VR-only policy: its devices are provisioned with Nomid Ops over USB, not with a QR code.",
  "instance": "/emm/api/v1/policies/q4vr8headset/provisioning-qr-codes",
  "code": "unsupported",
  "retryable": false
}

Σφάλματα

Μόλις επικυρωθεί το κλειδί API, τα σφάλματα χρησιμοποιούν το application/problem+json με δύο επιπλέον πεδία: code, ένα σταθερό αναγνωριστικό για διακλάδωση, και retryable, το οποίο δηλώνει εάν το ίδιο αίτημα μπορεί να σταλεί ξανά. Ένα σώμα που δεν μπορεί να διαβαστεί αποτελεί εξαίρεση, η οποία περιγράφεται στη γραμμή 400. Ένα κλειδί που λείπει ή δεν είναι έγκυρο λαμβάνει την κοινόχρηστη απόκριση 401, ένα μικρό αντικείμενο JSON με error, message και status. Το εργαλείο MCP επιστρέφει τον ίδιο κωδικό και μήνυμα ως σφάλμα εργαλείου.

ΚατάστασηΚωδικόςΣημασία
400invalid_argumentsΜια επιλογή δεν είναι έγκυρη: μια άγνωστη τιμή personalUsage ή wifiSecurity, ένα πεδίο Wi-Fi χωρίς wifiSsid, ή ένα όνομα, κωδικός πρόσβασης ή ασφάλεια Wi-Fi που δεν συμμορφώνεται με τους παραπάνω κανόνες. Η λεπτομέρεια αναφέρει ποιο. Ένα σώμα που δεν είναι έγκυρο JSON, ή που περιέχει ένα άγνωστο πεδίο, επιστρέφει επίσης 400, ως λεπτομέρειες προβλήματος χωρίς code ή retryable.
401-Το κλειδί API λείπει, δεν είναι έγκυρο, έχει λήξει ή έχει ανακληθεί.
403forbiddenΤο κλειδί δεν διαθέτει PROVISIONING ή POLICIES_READ.
404not_foundΔεν υπάρχει πολιτική με αυτό το policyId στην εταιρεία του κλειδιού.
409unsupportedΗ πολιτική δεν μπορεί να διαμορφώσει συσκευές με κωδικό QR: είναι πολιτική μόνο για VR ή η εταιρεία δεν έχει ολοκληρώσει την εγγραφή της στο Android Enterprise.
422refusedΗ πολιτική διαγράφηκε.
429rate_limitedΠάρα πολλά αιτήματα εγγραφής για αυτό το κλειδί. Η κεφαλίδα Retry-After και οι λεπτομέρειες παρέχουν τα δευτερόλεπτα αναμονής. Το retryable είναι true.
502provider_errorΗ Google δεν δημιούργησε το διακριτικό εγγραφής. Δεν δημιουργήθηκε κωδικός QR. Το retryable είναι true: δοκιμάστε ξανά σε λίγο.

Όρια ρυθμού

Κάθε αίτημα προσμετράται στο όριο εγγραφής των 10 αιτημάτων ανά λεπτό ανά κλειδί, το οποίο είναι κοινό με τα τελικά σημεία εντολών συσκευής και αλλαγής πολιτικής, καθώς και με τα εργαλεία εγγραφής MCP. Μια σύνδεση Sign in with Nomid που καλεί το create_provisioning_qr_code καταναλώνει το ίδιο όριο, το οποίο υπολογίζεται ανά σύνδεση. Τα αιτήματα που αποτυγχάνουν στους ελέγχους δικαιωμάτων ή στην επικύρωση ορισμάτων δεν προσμετρώνται.

Εργαλείο MCP

Το εργαλείο MCP create_provisioning_qr_code δέχεται τις ίδιες επιλογές, με το policyId ως όρισμα. Επιστρέφει τον κωδικό QR ως μπλοκ εικόνας MCP, ώστε ο βοηθός να μπορεί να τον εμφανίσει στον χρήστη χωρίς να τον διαβάσει.

Διακομιστής MCP

Επιλέξτε την ώρα σας

Φόρτωση...
Άνοιγμα ημερολογίου κρατήσεων