Εντολές συσκευής
Τα τελικά σημεία εντολών συσκευής στέλνουν μια εντολή σε μία διαχειριζόμενη συσκευή. Χρειάζονται ένα κλειδί API με την άδεια DEVICES_COMMAND ή DEVICES_COMMAND_DESTRUCTIVE για τις τέσσερις καταστροφικές εντολές.
Επισκόπηση
Κάθε κλήση επενεργεί σε μία ακριβώς συσκευή, η οποία προσδιορίζεται από το assetId της, δηλαδή το pathName που επιστρέφεται από το GET /assets. Δεν υπάρχει τελικό σημείο μαζικών ενεργειών (bulk endpoint). Για να στείλετε εντολές σε πολλές συσκευές, πραγματοποιήστε μία κλήση ανά συσκευή εντός του ορίου ρυθμού (rate limit). Τα τελικά σημεία εκτελούν τις ίδιες λειτουργίες με τα εργαλεία εντολών MCP.
Το κλειδί απαιτεί τα δικαιώματα DEVICES_COMMAND και DEVICES_READ. Το change-policy απαιτεί επιπλέον το POLICIES_READ. Οι καταστροφικές εντολές απαιτούν αντ' αυτών τα δικαιώματα DEVICES_COMMAND_DESTRUCTIVE και DEVICES_READ. Στείλτε το κλειδί στην κεφαλίδα X-API-Key. Το REST API δεν δέχεται κεφαλίδα Authorization.
Η συσκευή πρέπει να είναι εγγεγραμμένη (κατάσταση ACTIVE, INACTIVE ή SYNCHRONIZING). Ορισμένες εντολές λειτουργούν μόνο σε έναν συγκεκριμένο τύπο συσκευής, όπως αναφέρεται σε κάθε περιγραφή παρακάτω: συσκευές Android Management (υπό τη διαχείριση της Google) ή συσκευές υπό τη διαχείριση του Nomid agent (AOSP). Οποιαδήποτε άλλη συσκευή λαμβάνει σφάλμα 409. Ένα μήνυμα είναι μια ειδοποίηση push προς τον Nomid agent και απαιτεί ένα καταχωρημένο push token.
Τελικά σημεία
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
| POST | /assets/{assetId}/commands/lock | Κλείδωμα της οθόνης της συσκευής αμέσως. Μόνο για συσκευές Android Management. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/lost-mode | Κλείδωμα της συσκευής και εμφάνιση μηνύματος, με προαιρετικά στοιχεία επικοινωνίας, στην οθόνη κλειδώματος. Μόνο για συσκευές Android Management. |
| POST | /assets/{assetId}/commands/found | Τερματισμός λειτουργίας απώλειας (lost mode). Δεν συμβαίνει τίποτα και δεν επιστρέφεται σφάλμα εάν η συσκευή δεν βρισκόταν σε λειτουργία απώλειας. Μόνο για συσκευές Android Management. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/message | Εμφάνιση ειδοποίησης push απλού κειμένου στη συσκευή. |
| POST | /assets/{assetId}/commands/status-report | Αίτημα προς τη συσκευή για αποστολή νέας αναφοράς κατάστασης τώρα. Η αναφορά φτάνει αργότερα: διαβάστε την με GET /assets/ASSET_ID. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/location-update | Αίτημα προς τη συσκευή να αναφέρει την τρέχουσα τοποθεσία της τώρα. Η τοποθεσία φτάνει αργότερα: διαβάστε την με GET /assets/ASSET_ID. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/sync-policy | Αποστολή της τρέχουσας πολιτικής στη συσκευή ξανά. Μόνο για συσκευές που διαχειρίζονται από τον πράκτορα Nomid (AOSP): οι συσκευές Android Management λαμβάνουν τις αλλαγές πολιτικής αυτόματα και απαντούν με 409. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/reboot | Επανεκκίνηση της συσκευής τώρα. Όποιος τη χρησιμοποιεί διακόπτεται και ενδέχεται να χαθεί μη αποθηκευμένη εργασία. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/shutdown | Απενεργοποίηση της συσκευής τώρα. Δεν μπορεί να ενεργοποιηθεί ξανά εξ αποστάσεως. Μόνο για συσκευές που διαχειρίζονται από τον πράκτορα Nomid (AOSP). Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/launch-app | Άνοιγμα μιας εγκατεστημένης εφαρμογής στη συσκευή βάσει ονόματος πακέτου. Μόνο για συσκευές που διαχειρίζονται από τον πράκτορα Nomid (AOSP). |
| POST | /assets/{assetId}/commands/clear-app-data | Διαγραφή όλων των δεδομένων των καθορισμένων εφαρμογών (λογαριασμοί, ρυθμίσεις και αρχεία), σαν να είχαν μόλις εγκατασταθεί. Δεν μπορεί να αναιρεθεί. Μόνο για συσκευές Android Management. |
| POST | /assets/{assetId}/commands/change-policy | Μετακίνηση της συσκευής σε άλλη πολιτική της εταιρείας. Η συσκευή εφαρμόζει τις εφαρμογές, τους περιορισμούς και τις ρυθμίσεις της νέας πολιτικής, και οτιδήποτε περιείχε μόνο η τρέχουσα πολιτική καταργείται. Απαιτείται επίσης το POLICIES_READ. |
Στείλτε Content-Type: application/json με τα τελικά σημεία lost-mode, message, launch-app, clear-app-data, change-policy και change-screen-lock-password. Τα υπόλοιπα τελικά σημεία δεν δέχονται σώμα. Άγνωστα πεδία απορρίπτονται, και τα υποχρεωτικά πεδία κειμένου δεν μπορούν να είναι κενά.
Καταστροφικές εντολές
Τέσσερις εντολές διαγράφουν δεδομένα, αφαιρούν ή αντικαθιστούν το κλείδωμα οθόνης ή τερματίζουν τη διαχείριση της συσκευής. Με ένα κλειδί API εκτελούνται μόλις γίνει αποδεκτό το αίτημα. Δεν υπάρχει στάδιο έγκρισης στην πύλη.
Απαιτούν ένα κλειδί API με DEVICES_COMMAND_DESTRUCTIVE και DEVICES_READ. Η εταιρεία πρέπει επίσης να ενεργοποιήσει τις καταστροφικές εντολές στην ενότητα πρόσβασης πράκτορα AI στην πύλη. Αυτή η ρύθμιση είναι απενεργοποιημένη από προεπιλογή και απαιτεί να είναι επίσης ενεργοποιημένες οι εντολές συσκευής. Χωρίς αυτήν, το αίτημα επιστρέφει 403 με κωδικό forbidden.
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
| POST | /assets/{assetId}/commands/wipe | Κατάργηση της συσκευής από τη διαχείριση και διαγραφή των διαχειριζόμενων δεδομένων της. Μια εταιρική συσκευή επαναφέρεται στις εργοστασιακές ρυθμίσεις: κάθε εφαρμογή και όλα τα δεδομένα σε αυτήν διαγράφονται. Σε μια προσωπική συσκευή με προφίλ εργασίας, αφαιρούνται μόνο το προφίλ εργασίας και οι εφαρμογές και τα δεδομένα του· οι προσωπικές εφαρμογές και τα δεδομένα παραμένουν. Μη αναστρέψιμο. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/reset-screen-lock | Κατάργηση του κλειδώματος οθόνης της συσκευής (PIN, μοτίβο ή κωδικός πρόσβασης), ώστε να μπορεί να ξεκλειδωθεί χωρίς αυτό. Μόνο για συσκευές Android Management. Χωρίς σώμα αιτήματος. |
| POST | /assets/{assetId}/commands/change-screen-lock-password | Ορισμός νέου κωδικού πρόσβασης κλειδώματος οθόνης. Η συσκευή κλειδώνει και ξεκλειδώνεται μόνο με τον νέο κωδικό πρόσβασης. Μόνο για συσκευές Android Management. |
| POST | /assets/{assetId}/commands/relinquish-ownership | Αποδέσμευση εταιρικής συσκευής στον χρήστη της. Το προφίλ εργασίας και τα δεδομένα του καταργούνται και η συσκευή παύει να διαχειρίζεται. Μη αναστρέψιμο. Χωρίς σώμα αιτήματος. |
Το change-screen-lock-password λαμβάνει τον νέο κωδικό πρόσβασης στο newPassword. Το Nomid δεν τον αποθηκεύει, δεν τον επιστρέφει ούτε τον καταγράφει ποτέ.
Σώματα αιτημάτων
Σώμα αιτήματος λειτουργίας απώλειας
| Πεδίο | Υποχρεωτικό | Περιγραφή |
|---|---|---|
| message | Ναι | Κείμενο που εμφανίζεται στην οθόνη κλειδώματος. Έως 4096 χαρακτήρες. |
| phoneNumber | Όχι | Τηλέφωνο επικοινωνίας που εμφανίζεται στην οθόνη κλειδώματος. Έως 4096 χαρακτήρες. |
| Όχι | Διεύθυνση email επικοινωνίας που εμφανίζεται στην οθόνη κλειδώματος. Πρέπει να είναι έγκυρη διεύθυνση email, έως 320 χαρακτήρες. | |
| streetAddress | Όχι | Διεύθυνση οδού επικοινωνίας που εμφανίζεται στην οθόνη κλειδώματος. Έως 4096 χαρακτήρες. |
| organization | Όχι | Όνομα οργανισμού που εμφανίζεται στην οθόνη κλειδώματος. Έως 4096 χαρακτήρες. |
Σώμα αιτήματος μηνύματος
| Πεδίο | Υποχρεωτικό | Περιγραφή |
|---|---|---|
| title | Ναι | Τίτλος ειδοποίησης. Έως 60 χαρακτήρες. |
| body | Ναι | Κείμενο ειδοποίησης. Έως 500 χαρακτήρες. |
Σώμα αιτήματος εκκίνησης εφαρμογής
| Πεδίο | Υποχρεωτικό | Περιγραφή |
|---|---|---|
| packageName | Ναι | Όνομα πακέτου της εγκατεστημένης εφαρμογής προς άνοιγμα, για παράδειγμα com.example.app. |
Σώμα αιτήματος εκκαθάρισης δεδομένων εφαρμογής
| Πεδίο | Υποχρεωτικό | Περιγραφή |
|---|---|---|
| packageNames | Ναι | Πίνακας από 1 έως 20 ονόματα πακέτων, για παράδειγμα com.example.app, των οποίων τα δεδομένα εκκαθαρίζονται. |
Σώμα αιτήματος αλλαγής πολιτικής
| Πεδίο | Υποχρεωτικό | Περιγραφή |
|---|---|---|
| policyId | Ναι | Η νέα πολιτική, βάσει του policyId της (το pathName που επιστρέφεται από το GET /policies). |
Σώμα αιτήματος αλλαγής κωδικού πρόσβασης κλειδώματος οθόνης
| Πεδίο | Υποχρεωτικό | Περιγραφή |
|---|---|---|
| newPassword | Ναι | Ο νέος κωδικός πρόσβασης κλειδώματος οθόνης, από 4 έως 128 χαρακτήρες, χωρίς αρχικά ή τελικά κενά διαστήματα. Δεν αποθηκεύεται, δεν επιστρέφεται και δεν καταγράφεται ποτέ σε αρχείο καταγραφής. |
Παράδειγμα: αποστολή μηνύματος
Αντικαταστήστε το asset id με ένα pathName από το GET /assets, και διατηρήστε το κλειδί σε μια μεταβλητή περιβάλλοντος.
curl -X POST "https://api.nomid.tech/emm/api/v1/assets/k3x9m2pa/commands/message" \
-H "X-API-Key: $NOMID_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "Please return this device", "body": "Bring it to the IT desk by 5 pm."}' {
"assetId": "k3x9m2pa",
"type": "NOTIFICATION_MESSAGE",
"status": "SUCCESS",
"createdAt": "2026-10-06T14:30:00Z"
} Μια απάντηση 200 σημαίνει ότι η εντολή δημιουργήθηκε. Το πεδίο status είναι η κατάσταση της εντολής κατά την επιστροφή του αιτήματος. Για ένα μήνυμα, το SUCCESS σημαίνει ότι η προώθηση (push) έγινε αποδεκτή για παράδοση, όχι ότι ο χρήστης το είδε. Συνεχίστε με GET /assets/ASSET_ID/commands.
Παράδειγμα: κλείδωμα συσκευής
curl -X POST "https://api.nomid.tech/emm/api/v1/assets/k3x9m2pa/commands/lock" \
-H "X-API-Key: $NOMID_API_KEY" {
"assetId": "k3x9m2pa",
"type": "LOCK",
"status": "IN_PROGRESS",
"createdAt": "2026-10-06T14:30:00Z"
} Το κλείδωμα και η λειτουργία απώλειας επιστρέφουν IN_PROGRESS ενόσω η συσκευή δεν έχει ακόμη επιβεβαιώσει την εντολή. Το ιστορικό εντολών εμφανίζει SUCCESS μόλις το κάνει. Το τελικό σημείο (endpoint) lock δεν δέχεται σώμα (body).
Παράδειγμα: πλήρης διαγραφή συσκευής
curl -X POST "https://api.nomid.tech/emm/api/v1/assets/k3x9m2pa/commands/wipe" \
-H "X-API-Key: $NOMID_API_KEY" {
"assetId": "k3x9m2pa",
"type": "WIPE_COMPANY_DATA",
"status": "IN_PROGRESS"
} Μια πλήρης διαγραφή μιας συσκευής Android Management αποκρίνεται με IN_PROGRESS χωρίς createdAt. Ελέγξτε το ιστορικό εντολών για να την παρακολουθήσετε.
Απαντήσεις και τι να κάνετε
Οι κανόνες επανάληψης προσπάθειας έχουν σημασία. Η επανάληψη μιας εντολής της οποίας το αποτέλεσμα είναι άγνωστο μπορεί να την παραδώσει δύο φορές.
| Κατάσταση | Σημασία | Τι να κάνετε |
|---|---|---|
| 200 | Η εντολή δημιουργήθηκε και τέθηκε σε ουρά. | Διαβάστε το πεδίο status. Παραμένει IN_PROGRESS μέχρι η συσκευή να επιβεβαιώσει την εντολή, επομένως ελέγξτε το ιστορικό εντολών για SUCCESS. Ορισμένες εντολές, όπως η επανεκκίνηση, η διαγραφή ή η παραίτηση από την κυριότητα σε συσκευή Android Management, απαντούν IN_PROGRESS χωρίς createdAt. |
| 202 | UNCONFIRMED. Το Nomid δεν μπορεί να διαπιστώσει εάν η εντολή έφτασε στη συσκευή, για παράδειγμα επειδή έληξε το χρονικό όριο του παρόχου ή προέκυψε σφάλμα από την πλευρά του. Το σώμα είναι το κανονικό αντικείμενο αποτελέσματος με κατάσταση UNCONFIRMED και καθοδήγηση στο detail. Εκτός από τα τελικά σημεία lock, lost-mode, found και message, δεν περιέχει ποτέ createdAt. | Μην κάνετε εκ νέου αποστολή. Ελέγξτε πρώτα το ιστορικό εντολών της συσκευής και ρωτήστε τον χρήστη πριν στείλετε ξανά. Για ένα μήνυμα, το ιστορικό ενδέχεται να εμφανίζει ERROR ακόμα και αν η ειδοποίηση εμφανίστηκε. Η εντολή μπορεί να εμφανιστεί μόνο αφού την επιβεβαιώσει η συσκευή. |
| 400 | Η επικύρωση του σώματος αιτήματος απέτυχε ή μια παράμετρος δεν είναι έγκυρη. | Διορθώστε τα πεδία που αναφέρονται στον πίνακα errors ή στο detail. Καμία εντολή δεν στάλθηκε. |
| 401 | Το κλειδί API λείπει, δεν είναι έγκυρο ή έχει λήξει. | Στείλτε ένα έγκυρο κλειδί στην κεφαλίδα X-API-Key. |
| 403 | Το κλειδί δεν διαθέτει το δικαίωμα που απαιτεί η εντολή ή, για μια καταστροφική εντολή, η εταιρεία δεν έχει ενεργοποιήσει τις καταστροφικές εντολές. | Χρησιμοποιήστε ένα κλειδί που δημιουργήθηκε με DEVICES_COMMAND και DEVICES_READ, συν POLICIES_READ για το change-policy, ή με DEVICES_COMMAND_DESTRUCTIVE και DEVICES_READ για μια καταστροφική εντολή. Για καταστροφικές εντολές, ελέγξτε επίσης τη ρύθμιση της εταιρείας στην ενότητα Πρόσβαση πράκτορα AI (AI agent access) στην πύλη. |
| 404 | Δεν υπάρχει στοιχείο ενεργητικού με αυτό το αναγνωριστικό στην εταιρεία του κλειδιού. Ένα στοιχείο ενεργητικού από άλλη εταιρεία επιστρέφει επίσης 404. Στα τελικά σημεία lock, lost-mode, found και message το σώμα είναι κενό. Στα άλλα τελικά σημεία είναι problem details με κωδικό not_found, ενώ το change-policy το επιστρέφει επίσης για άγνωστη πολιτική. | Ελέγξτε το αναγνωριστικό στοιχείου ενεργητικού σε σχέση με το GET /assets, και για το change-policy το αναγνωριστικό πολιτικής σε σχέση με το GET /policies. |
| 409 | Η συσκευή δεν μπορεί να λάβει αυτήν την εντολή: δεν διαθέτει διαχειριζόμενη συσκευή, έχει μη επιλέξιμη κατάσταση ή μη υποστηριζόμενο τύπο συσκευής ή, για μήνυμα, δεν διαθέτει έγκυρο διακριτικό προώθησης (push token). Το change-policy επιστρέφει επίσης 409 όταν η συσκευή χρησιμοποιεί ήδη αυτήν την πολιτική. Επιστρέφεται επίσης όταν ο πάροχος αναφέρει ότι η συσκευή δεν τελεί πλέον υπό διαχείριση. Στη συνέχεια, το Nomid επισημαίνει τη συσκευή ως διαγραμμένη. | Η επανάληψη προσπάθειας αποτυγχάνει με τον ίδιο τρόπο έως ότου αλλάξει η κατάσταση της συσκευής. Μην κάνετε επανάληψη σε βρόχο. |
| 422 | Ο πάροχος αξιολόγησε το αίτημα και το απέρριψε για αυτή τη συσκευή ή το μήνυμα, ή ανέφερε ότι η εντολή έχει ήδη αποτύχει. | Μην επαναλάβετε την προσπάθεια με τα ίδια ορίσματα. |
| 429 | Έγινε υπέρβαση του ορίου ρυθμού εντολών. Μια κεφαλίδα Retry-After παρέχει τα δευτερόλεπτα μέχρι την επαναφορά του παραθύρου. | Περιμένετε για τον χρόνο Retry-After και στη συνέχεια δοκιμάστε ξανά. |
| 500 | Μη αναμενόμενο σφάλμα. Εκτός των τελικών σημείων lock, lost-mode, found και message, το σώμα περιέχει τον κωδικό internal_error και retryable false. Το εάν η εντολή έφτασε στη συσκευή είναι άγνωστο. | Μην την αποστείλετε ξανά αμέσως. Ελέγξτε πρώτα το στοιχείο και το ιστορικό εντολών του. |
| 502 | Το Android Management απέρριψε την εντολή για λόγο που δεν αφορά αυτή τη συσκευή. Το μέλος retryable δηλώνει εάν πρέπει να δοκιμάσετε ξανά. Τα μηνύματα δεν επιστρέφουν ποτέ 502. | Εάν το retryable είναι true (ο πάροχος εφαρμόζει περιορισμό ρυθμού ή ανέφερε προσωρινή διένεξη), δοκιμάστε ξανά μετά από μια σύντομη καθυστέρηση. Εάν είναι false, η ρύθμιση Android Management της εταιρείας αντιμετωπίζει πρόβλημα: μην επαναλάβετε τη δοκιμή και επικοινωνήστε με την υποστήριξη. |
| 503 | Δεν στάλθηκε. Το αίτημα απέτυχε εντός του Nomid προτού αποσταλεί οτιδήποτε. Το retryable είναι πάντα true. | Ασφαλές για νέα προσπάθεια. Τίποτα δεν παραδόθηκε, επομένως μια νέα προσπάθεια δεν μπορεί να δημιουργήσει διπλότυπη εντολή. |
Σώματα σφαλμάτων
Τα σφάλματα από τα τελικά σημεία εντολών χρησιμοποιούν το application/problem+json (RFC 9457). Στα τελικά σημεία lock, lost-mode, found και message, τα 401 και 429 επιστρέφουν ένα μικρό αντικείμενο JSON με error, message και status, το 404 δεν έχει σώμα και μόνο τα 502 και 503 προσθέτουν ένα boolean μέλος retryable. Στα υπόλοιπα τελικά σημεία, κάθε σφάλμα εκτός από το 401 είναι problem details με μέλος code, όπως not_found, unsupported, forbidden, invalid_arguments ή rate_limited, ενώ τα 429, 500, 502 και 503 φέρουν επίσης το retryable. Μια απόκριση 202 δεν είναι σφάλμα: φέρει το κανονικό αντικείμενο αποτελέσματος.
Παράδειγμα απόκρισης 202
HTTP/1.1 202 Accepted
{
"assetId": "k3x9m2pa",
"type": "LOCK",
"status": "UNCONFIRMED",
"detail": "The command's outcome is unknown. Check the device's command history (list_device_commands or GET /api/v1/assets/{assetId}/commands) before retrying; it may only appear once the device acknowledges it."
} Παράδειγμα απόκρισης 503
HTTP/1.1 503 Service Unavailable
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Service Unavailable",
"status": 503,
"detail": "Command was not sent; it is safe to retry.",
"instance": "/emm/api/v1/assets/k3x9m2pa/commands/message",
"retryable": true
} Παράδειγμα απόκρισης 404 από τελικό σημείο εκτός των lock, lost-mode, found και message
HTTP/1.1 404 Not Found
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "No device found with assetId: k3x9m2pa",
"instance": "/emm/api/v1/assets/k3x9m2pa/commands/reboot",
"code": "not_found"
} Όριο ρυθμού
Οι εντολές περιορίζονται σε 10 ανά λεπτό ανά κλειδί API, συμπεριλαμβανομένων των καταστροφικών εντολών. Ο ίδιος προϋπολογισμός διαμοιράζεται με τα εργαλεία εντολών MCP, με τις αλλαγές πολιτικής (κάθε κλήση propose και apply) και με τα QR codes προετοιμασίας (provisioning), μέσω REST ή MCP. Μέσω REST, τα αιτήματα πέραν του ορίου λαμβάνουν HTTP 429 με κεφαλίδα Retry-After.
Στα τελικά σημεία lock, lost-mode, found και message, μόνο τα κλειδιά με DEVICES_COMMAND καταναλώνουν αυτόν τον προϋπολογισμό, και ένα αίτημα με μη έγκυρο σώμα ή άγνωστο αναγνωριστικό asset εξακολουθεί να προσμετράται, επειδή το όριο εφαρμόζεται πριν από την επικύρωση του αιτήματος. Τα υπόλοιπα τελικά σημεία εντολών, οι κλήσεις αλλαγής πολιτικής και τα αιτήματα QR code προετοιμασίας τον καταναλώνουν μόνο αφού το αίτημα περάσει τους ελέγχους δικαιωμάτων και την επικύρωση ορισμάτων.
Ίχνος ελέγχου
Κάθε εντολή καταγράφεται στο ιστορικό εντολών της συσκευής στην πύλη Nomid και αποδίδεται στο κλειδί API που την έστειλε, όχι σε κάποιο άτομο. Η εγγραφή εμφανίζει το api-key, το αναγνωριστικό του κλειδιού και το πρόθεμα του κλειδιού. Το ιστορικό που επιστρέφεται από το GET /assets/ASSET_ID/commands και από το εργαλείο MCP list_device_commands περιέχει μόνο τα type, status, createdAt, feedbackAt και outcome, όχι το ποιος έστειλε την εντολή.