Κάντε την πλατφόρμα σας Λειτουργεί με AI.
Καλέστε 2,430 ονομασμένες λειτουργίες μέσω ενός ενιαίου API που παράγεται από το συμβόλαιο, με πεδία ελάχιστων δικαιωμάτων, δέσμευση στον χώρο εργασίας, επικύρωση δοκιμαστικής εκτέλεσης και εγγραφές ασφαλείς για επανάληψη. Εγγραφείτε σε κανονικά συμβάντα μέσω webhooks παρασκηνίου υπογεγραμμένων με HMAC ή δημιουργήστε ένα διαχειριζόμενο πακέτο στο Connector Builder έξι βημάτων.
Εισερχόμενη κλήση με εμβέλεια. Υπογεγραμμένο γεγονός.
POST μια ενέργεια για /api/v1.php με το radided Bearer κλειδί. OpsIQ pins ο χώρος εργασίας, επικυρώνει τη σύμβαση δράσης και τις άδειες, στη συνέχεια εκτελεί ή ξηρό-runs αυτό. Συνδρομημένα κανονικά γεγονότα αφήνουν μέσα από μια HMAC-υπογεγραμμένη ουρά παράδοσης με ανιχνεύσιμες προσπάθειες και οριοθετημένες επαναλήψεις.
Από το κλειδί στην ενσωμάτωση των κυβερνήσεων τρία βήματα.
Εκδίδετε ένα λιγότερο-κλειδί privilege, ανακαλύπτετε το δημιουργημένο συμβόλαιο, εκτελέστε μια εγγραφή, στη συνέχεια εγγραφείτε σε ένα webhook όταν η εφαρμογή σας χρειάζεται παράδοση γεγονότων φόντου.
Πάρε ένα κλειδί.
Εγγραφείτε και δημιουργήστε ένα λογαριασμό. Bearer API κλειδί (opq_…) στις ρυθμίσεις του προγραμματιστή και δίνουν σε κάθε ολοκλήρωση μόνο τις επιφάνειες που χρειάζεται.
Ανακαλύψτε & επικυρώστε
Ανάγνωση meta.actions, meta.action και meta.scopes· χρήση dry_run να επικυρώσει τις γραφές πριν την εκτέλεση.
Εκτέλεση & εγγραφής
Προσθέστε ένα κλειδί idempotency για τις εγγραφές, στη συνέχεια εγγραφείτε το τελικό σημείο σας στα κανονικά γεγονότα που χρειάζεται η εφαρμογή σας.
Ένα μοτίβο σύνδεσης. Πέντε καθαροί πρωτόγονοι.
Οτιδήποτε είναι ειδικό για μια πλατφόρμα βρίσκεται σε μια διασύνδεση. Ο πυρήνας του OpsIQ παραμένει γενικός, η AI παραμένει προβλέψιμη και η ενσωμάτωσή σας παραμένει ελέγξιμη.
Πες το. OpsIQ Τι συνέβη μόλις τώρα.
Οι συνδρομητές λαμβάνουν το γεγονός μέσω των καταχωρημένων κανόνων προτεραιότητας και παράδοσης.
Αναφορά γεγονότοςinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Ή το δικό σου.
Συνδρομητές Fan-outΟ εγκέφαλος της τεχνητής νοημοσύνης, οι κανόνες αυτοματοποίησης, οι σύνδεσμοι καθρεφτών και τα τελικά σημεία webhook σας όλα αντιδρούν.
Σειρά προτεραιότηταςΑποφασιστική αποστολή έτσι καθρέφτες γράφουν πριν ειδοποιήσει φωτιά.
Πες το. OpsIQ Τι επιτρέπεται να κάνει η τεχνητή νοημοσύνη.
Κάθε επιχείρηση που ονομάζεται λαμβάνει μια παραγόμενη σύμβαση: πεδίο εφαρμογής, χαρακτηριστικό, διαβασμένο ή γράψε είδος, κίνδυνο, πολιτική επιβεβαίωσης, το σχήμα αίτησης και απάντησης, υποστήριξη σε ξηρό, ιδεοδυναμία και σταθερά λάθη.
Σχήμα δράσης{
"action": "tickets.reply",
"kind": "write",
"scopes": ["tickets.write", "admin"],
"feature": "ticket_system",
"risk": "medium",
"confirmation": "recommended",
"idempotency": "supported",
"dry_run": true,
"request": { "type": "object" },
"response": { "required": ["success"] }
}
Σπρώξτε τα γεγονότα στο σωρό σας - με κρυπτογραφική απόδειξη.
Εγγραφείτε με οποιοδήποτε URL σε οποιοδήποτε από τα 53 παραδοτέα συμβάντα. Το OpsIQ στέλνει το φορτίο JSON με POST, υπογεγραμμένο με HMAC-SHA256 πάνω στην έκδοση σχήματος, τη χρονοσφραγίδα, το αναγνωριστικό παράδοσης και το σώμα μαζί, όχι μόνο το σώμα, ώστε η χθεσινή παράδοση να μην μπορεί να αναπαραχθεί εναντίον σας σήμερα.
$raw = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_OPSIQ_SIGNATURE'] ?? ''; // "v2=<hex>"
$ts = (int)($_SERVER['HTTP_X_OPSIQ_TIMESTAMP'] ?? 0);
$id = (int)($_SERVER['HTTP_X_OPSIQ_DELIVERY'] ?? 0);
if (abs(time() - $ts) > 300) http_response_code(401); // replay window
[$ver, $hex] = array_pad(explode('=', $sig, 2), 2, ''); // split the prefix
$signed = $ver . '.' . $ts . '.' . $id . '.' . $raw; // NOT the body alone
$expected = hash_hmac('sha256', $signed, $secret);
if (!hash_equals($expected, $hex)) http_response_code(401);
$event = json_decode($raw, true); // $id is stable across retries
Χρησιμοποιήστε απευθείας HTTP ή να δημιουργήσετε τον πελάτη που προτιμάτε.
Το πλήρες General API δημοσιεύεται ως OpenAPI 3.0.3 και Postman. Οι αποστολείς αναφοράς PHP και οι πελάτες ενσωμάτωσης Node και Python καλύπτουν ροές υπογεγραμμένων συμβάντων και webhook· οποιαδήποτε στοίβα μπορεί να καλέσει απευθείας την ίδια επιφάνεια ενεργειών JSON.
const response = await fetch(`${base}/api/v1.php`, {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.OPSIQ_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
action: "tickets.reply",
dry_run: true,
idempotency_key: crypto.randomUUID(),
body: "Thanks. We are checking this now."
})
});
$payload = json_encode([
'action' => 'tickets.reply',
'dry_run' => true,
'idempotency_key' => bin2hex(random_bytes(16)),
'body' => 'Thanks - we are checking this now.',
]);
$ch = curl_init($base . '/api/v1.php');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('OPSIQ_KEY'),
'Content-Type: application/json',
],
]);
response = requests.post(
f"{base}/api/v1.php",
headers={
"Authorization": f"Bearer {os.environ['OPSIQ_KEY']}",
"Content-Type": "application/json",
},
json={
"action": "tickets.reply",
"dry_run": True,
"idempotency_key": str(uuid.uuid4()),
"body": "Thanks - we are checking this now.",
},
)
Φτιάξε μια φορά, σύνδεσε τα πάντα.
Μια διασύνδεση είναι ένα ελεγχόμενο πακέτο που δημιουργείται ή εισάγεται μέσω των βημάτων Ταυτότητα, Πιστοποίηση, Δοκιμή, Ενέργειες, Εναύσματα και Έλεγχος. Το manifest της δηλώνει τις επιφάνειες δυνατοτήτων που επιτρέπεται να εκθέσει το OpsIQ.
Ανοίξτε το έξι-στάδιο BuilderΑπλά αγγλικά μέσα. Η ελεγκτική επιχείρηση τελείωσε.
OpsIQ δεν εφευρίσκει ποτέ τη σωστή κλήση. Περπατά μέσα από τα καταχωρημένα συμβόλαια, προετοιμάζει το ωφέλιμο φορτίο, ζητά επιβεβαίωση όταν η ενέργεια το απαιτεί, και παράγει μια πλήρη σειρά ελέγχου όταν εκτελεί, έτσι ώστε μια AI που μπορεί να πράξη Ποτέ δεν γίνεται μια Αλ που δεν μπορείς να εμπιστευτείς.
API επιφάνεια Με μια ματιά.
Μία επιφάνεια JSON POST εκθέτει 2,430 ονομασμένες ενέργειες. Κάθε παραγόμενη σύμβαση δηλώνει πεδία ταυτοποίησης, τύπο ανάγνωσης/εγγραφής, κίνδυνο, επιβεβαίωση, σχήμα αιτήματος, δοκιμαστική εκτέλεση, ιδιοδυναμία και σταθερά σφάλματα.
ACTION tickets.replytickets.writeξηρή_ εκτέλεση + ιδεαδυναμίαΔιαμορφωμένος/ώραACTION security.reportsecurity.writeξηρή_ εκτέλεση + ιδεαδυναμίαΔιαμορφωμένος/ώραACTION platform.routes.writeτο adminεπιβεβαίωση + κλειδίΔιαμορφωμένος/ώραACTION meta.actionsΔημόσια ανακάλυψηΜόνο για ανάγνωσηΔιαμορφωμένος/ώραACTION tickets.listtickets.readΜόνο για ανάγνωσηΔιαμορφωμένος/ώραACTION connectors.listconnectors.readΜόνο για ανάγνωσηΔιαμορφωμένος/ώραhr.* συμβάσεις · hr.read / hr.write ΠεριβλήματαACTION hr.people.listhr.readΜόνο για ανάγνωσηΔιαμορφωμένος/ώραACTION hr.people.createhr.writeξηρή_ εκτέλεση + ιδεαδυναμίαΔιαμορφωμένος/ώραACTION hr.org.treehr.readΜόνο για ανάγνωσηΔιαμορφωμένος/ώραhr παίρνει μια άρνηση, όχι μια άδεια λίστα. Τι είναι το PeopleOS HR.Τα όρια τιμών ρυθμίζονται ανά πλήκτρο σε ένα ωριαίο παράθυρο. X-RateLimit-Limit, X-RateLimit-Remaining και X-RateLimit-Reset· απόρριψη των αποδόσεων της αίτησης 429 με Retry-After. Χρησιμοποιήστε τη Σύμβαση OpenAPI 3.0.3 ή Postman συλλογή που παράγονται από τα ίδια μητρώα χρόνου εκτέλεσης.
Κατασκευή, δοκιμή και απελευθέρωση έξι στάδια.
Ξεκινήστε από ένα κυβερνώμενο προφίλ ή ορίστε ο ίδιος τη σύμβαση. Ο Οικοδόμος επικυρώνει κάθε στάδιο πριν δημιουργήσει ένα αυτοτελές πακέτο σύνδεσης.
Επιβεβαιώστε με ασφάλεια, και μετά περάστε την πύλη απελευθέρωσης.
Χρήση dry_run σχετικά με υποστηριζόμενες ενέργειες εγγραφής, εκτελέστε το καθορισμένο τεστ σύνδεσης του Builder και επιθεωρήστε το παραγόμενο δηλωτικό και σύμβαση πριν από την απελευθέρωση.
Ένα πακέτο δεν μπορεί να διεκδικήσει μια ικανότητα Ο κωδικός του δεν έχει.
OpsIQ\Connectors\ConnectorContract Η ανακάλυψη του χρόνου, ο οικοδόμος, τα πακέτα πρώτου μέρους, η συμμόρφωση, το Γενικό API δηλώστε μια ικανότητα και τρία αρχεία πρέπει να συμφωνήσουν μεταξύ τους πριν OpsIQ Οδεύουμε σε μια μόνο σειρά για σένα.
- 01 connector.php η τάξη του χρόνου εκτέλεσης
- 02 IdentityProvider.php σταθερό εξωτερικό κλειδί
- 03 SalesIngest.php συμφιλιώστε τις πωλήσεις()
- 04 actions.json Ονομαστικές λειτουργίες
- 05 settings.json διαμόρφωση του φορέα εκμετάλλευσης
- 06 connector_contract.json μηχανοαναγνώσιμη αρχή
hmac-sha256 πάνω από ένα ντετερμινιστικό ωφέλιμο φορτίο ανά αρχείο SHA-256 απαντήσεις hashes έχει τροποποιηθεί από την υπογραφή. Μια ed25519 απαντήσεις υπογραφής Ήταν υπογεγραμμένο από τον Nabtech, checkable με το πακέτο δημόσιο κλειδί και κανένα κοινό μυστικό. Επεξεργασία ενός byte και η πρώτη στάση ταιριάζουν.
marketplace.json είναι εκτός της υπογραφής εξ ορισμού: ο εγκαταστάτης το γράφει μετά την υπογραφή, έτσι ώστε ο εκδότης δεν θα μπορούσε ποτέ να το υπογράψει.
Ένας φρουρός που δεν απέτυχε ποτέ. είναι αναπόδεικτο.
Οι πράσινοι έλεγχοι δεν σας λένε τίποτα έσπασε σήμερα. Δεν σας λένε ο φύλακας που γράψατε θα σταματήσει το πράγμα γράφτηκε για να σταματήσει, επειδή ένας φρουρός που ποτέ δεν ασκείται περνά ακριβώς σαν ένα φύλακα που δεν κάνει τίποτα. Έτσι σταματάμε την καρδιά του επίτηδες, και απαιτούν ότι η οθόνη ουρλιάζει.
211 /* A read role must never reach a destructive operation. */ 212- if ($isRead && $isDestructive) { 212+ if (false) { 213 $errors[] = "read role '{$role}' points at a destructive op"; 214 return false; 215 }
1[ ok ]hash sha256 4f2a9c1e… remember the file exactly as it is 2[ ok ]control exit 0 green BEFORE anything is touched 3[ ok ]mutate 1 match, lint ok one replacement, then php -l the mutant 4[RED ]prove exit 1 and "read role destructive" IS in the failures 5[ ok ]restore bytes written the original, not a regenerated copy 6[ ok ]verify sha256 matches and the check is green again ══ PROVEN. file restored, hash matched, 1 proof run, 0 failed.
Η μετάλλαξη δεν εφαρμόστηκε ποτέ.
Το κείμενο αναζήτησης δεν ταιριάζει, το αρχείο ήταν ανέγγιχτο, η σουίτα πέρασε και η απόδειξη καταγράφηκε πράσινο κάτω από τον παλιό κώδικα σχετικά με τον κώδικα που δεν ήταν ποτέ παλιό. Πιάστηκε απαιτώντας ακριβώς ένα textual ταίριασμα και σύγκριση hashes αρχείο κάθε πλευρά.
Η μετάλλαξη έσπασε κάτι άλλο.
Η σουίτα έγινε κόκκινη επειδή το αρχείο σταμάτησε να αναρροφά ή η παγίδα πέθανε, και η απόδειξη κατέγραψε ένα κόκκινο που δεν είχε καμία σχέση με τον φύλακα. όνομα δοκιμή μεταξύ των αποτυχιών.
Δεν μπορεί να αφήσει έναν μεταλλαγμένο στο δίσκο.
Κάθε μετάλλαξη αντιγράφει το πρωτότυπο σε ένα πλευρικό βαγόνι έξω από το δέντρο που εξυπηρετείται από τον ιστό, γράφει έναν δείκτη που κατονομάζει την εξαιρετική αλλαγή και αναιρείται από έναν χειριστή διακοπής λειτουργίας σε κάθε διαδρομή εξόδου.
Η πιστοποίηση είναι μια εντολή με κωδικό εξόδου.
Όχι μια ουρά ελέγχου όπου κάποιος διαβάζει τον κώδικά σας και σχηματίζει γνώμη. Εκτελέστε τις ίδιες σουίτες δοκιμών που εκτελούμε εμείς, στον δικό σας υπολογιστή, πριν υποβάλετε. Τα δημοσιευμένα σχήματα JSON (8) στο doc/contracts/schemas/ καλύπτουν ρυθμίσεις, ενέργειες, προδιαγραφές Builder, αντιστοιχίσεις συμβάντων ταξιδιού και εμπορίου, συνταγές ροών εργασίας, συμβάσεις συνδέσμων και μανιφέστα εκδόσεων.
- manifests parse και συμφωνούν μεταξύ τους
- ικανότητες υπάρχει στην τάξη του χρόνου εκτέλεσης
- interfaces που έχουν πραγματοποιηθεί, όταν δηλώνονται
- files κάθε απαιτούμενο αρχείο παρόν
- δράσεις ταίριασμα της δηλωτικής πράξης
- destructive δήλωση επιβεβαίωσης
- ταυτότητα ένα σταθερό εξωτερικό κλειδί, όχι email
- επανάληψη μια επαναλαμβανόμενη ενημέρωση, ποτέ δεν αναπαράγεται
- επιχείρηση δηλώσεις που ταιριάζουν με την επέκταση
- docs READ, DEVELOPER, ΑΛΛΑΓΗ
- Σχήματα κάθε JSON επικυρώσεις
$ php tools/test_connector_conformance_all.php --connector=acme
$ php tools/test_connector_json_schemas.php
$ php tools/verify_commerce_contracts.php
$ php tools/release_gate_connectors.php --require-signatures
Να σημειώσουμε την πρώτη σε πραγματικό λογαριασμό μη παραγωγής με --live-settings=/secure/test-acme.jsonΌσο είσαι ακόμα σε επανάληψη, άλλαξε το τελευταίο με --unsigned-ok: αντιμετωπίζει μια χαμένη υπογραφή ως αναμενόμενη προειδοποίηση αντί να προσποιείται ότι είναι εντάξει.
Δηλώνοντας τι μπορείτε να πουλήσετε είναι ένα αρχείο, όχι μια καταχώρηση.
Ένας σύνδεσμος που μπορεί να πωλήσει δηλώσεις ποια από από τη δική του Οι λειτουργίες απαντούν στους κανονικούς ρόλους εμπορίου του OpsIQ. Η παρουσία του αρχείου είναι η δήλωση. Εμφανίζεται στις ρυθμίσεις πώλησης τη στιγμή που δηλώνεται και εξαφανίζεται όταν σταματά. Δεν υπάρχει λίστα για συμμετοχή ούτε κάποιος να ρωτήσετε.
Ένα κανονικό Γράφω Η αντιστοίχιση είναι δομική: ένα ουσιαστικό αποθήκευσης δίπλα σε ένα μεταλλασσόμενο ρήμα, ανεξάρτητα από τη σύμβαση ονομασίας σας. Γράφοντας την επιχειρηματική γραμμή παρακάμπτει την τιμολόγηση της πλατφόρμας, το κλείδωμα διαθεσιμότητας και το μήνυμα επιβεβαίωσης και παράγει μια παραγγελία στην οποία το σύστημα του εμπόρου πιστεύει μόνο κατά το ήμισυ. recovery Ούτε, έτσι ένα τάιμ άουτ θα ήταν μη ανακτήσιμο.
{
"commerce": {
"roles": {
"catalog_search": { "operation": "acme_search_products", "transport": "http" },
"order_get": { "operation": "acme_get_order", "transport": "http" },
"order_create": { "operation": "acme_create_order", "transport": "http",
"recovery": "acme_get_order" }
}
}
}
connector_contract.json παράγεται και τα σχήματα του additionalProperties:falseΈτσι, ένα χειρόγραφο μπλοκ εκεί θα αποτύχει επικύρωση και στη συνέχεια να αντικατασταθεί στην επόμενη λειτουργία γεννήτρια.
Ένας ρόλος που δεν είναι CommerceRole δεν υπάρχει. OpsIQ Ποτέ δεν αναφέρεται σε ένα όνομα λειτουργίας, επειδή ένα όνομα δεν είναι υπόσχεση.
Η επέμβαση πρέπει να εμφανιστεί στο δικό σας actions.json. Δηλώνοντας ένα που δεν υπάρχει υπόσχεται στον πελάτη κάτι που στη συνέχεια παράγει τίποτα.
Το πιο επικίνδυνο χρονικό όριο είναι αυτό που έρχεται αφού η πλατφόρμα έχει ήδη κάνει τη δουλειά της.Χωρίς μια αναζήτηση οι μόνες επιλογές είναι να προσπαθήσουμε πάλι στα τυφλά ή να χάσουμε την παραγγελία.
Κάθε ρόλος κλάσης πληρωμής δηλώνει επίσης payment_profile με το περιβάλλον, webhook_verify χρήση του συστήματος του ίδιου του παρόχου, και event_map. Ένα μη δηλωμένο περιβάλλον είναι το πώς ένας πάροχος test-mode παίρνει μια ζωντανή πληρωμή.
OpsIQ vs α DIY ενσωμάτωση.
Τι συμβόλαιο, υπογεγραμμένη, ελεγχόμενη πλατφόρμα σου δίνει ότι το να τραβάς τα δικά σου δικτυωτά και τα υδραυλικά AI-action δεν θα το κάνουν ποτέ.
| Ικανότητα | Γύρνα το δικό σου. | OpsIQ |
|---|---|---|
| Scoped Bearer API + HMAC-signed webhooks | Που έχουν ελαθεί στο χέρι | ✓ |
| Το dry-run γράφει + 24-hour επιτυχής επανάληψη | Φτιάξε το μόνος σου | ✓ |
| 1m → 5m → 30m → 2h → 12h retries | DIY ουρά | ✓ |
| Μητρώο συμβάσεων δράσης (το AI δεν μπορεί να εφεύρει κλήσεις) | — | ✓ |
| Πολιτική επιβεβαίωσης πριν από τις παρενέργειες | — | ✓ |
| Σταθερός φάκελος σφάλματος + ζητήστε ταυτότητες | Χειροκίνητη καταγραφή | ✓ |
| Άμεση επιλογή HTTP + δημιουργημένων πελατών | Γράψε το δικό σου. | ✓ |
| OpenAPI 3.0.3 σύμβαση αναγνώσιμη από μηχάνημα | Ίσως. | ✓ |
| Εξι σταδιοχτητής + πύλη απελευθέρωσης πακέτου | Κατασκευή μιας αλυσίδας εργαλείων | ✓ |
| Κλειδί με έλικα και ωριαία όρια | Βάρη | ✓ |
| Μοτίβο σύνδεσης: ο κώδικας πλατφόρμας παραμένει απομονωμένος | — | ✓ |
Ερωτήσεις προγραμματιστή, Απάντησε.
Ταυτοποίηση, συμβάσεις, επαναφορτίσεις, παραγωγή πελατών, ασφαλείς δοκιμές και το μοντέλο σύνδεσης, πριν από την πρώτη αίτηση παραγωγής.
Authorization: Bearer opq_…. Τα κλειδιά μπορεί να είναι χωρίς περιορισμούς, περιορισμένα ή μόνο για ανάγνωση, φέρουν εμβέλειες ελάχιστων δικαιωμάτων, υπακούουν σε ωριαίο όριο και μπορούν να δεσμευτούν σε έναν χώρο εργασίας. Η υπογραφή webhook είναι ξεχωριστή: οι εξερχόμενες παραδόσεις φέρουν X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event και X-OpsIQ-Delivery.hash_hmac('sha256', $rawBody, $secret) και να συγκρίνουν την δεκαεξαδική χωνεμένη με X-OpsIQ-Signature με hash_equals. Επικύρωση X-OpsIQ-Timestamp μέσα στο παράθυρο αναπαραγωγής και χρήση X-OpsIQ-Delivery ως αναγνωριστικό της παραδόσεως που μπορεί να ανιχνευθεί.dry_run σε ενέργειες των οποίων η σύμβαση που δημιουργήθηκε το υποστηρίζει, εκτελέστε τον περιορισμένο έλεγχο σύνδεσης του Connector Builder, εξετάστε τα αρχεία που δημιούργησε και περάστε τους ελέγχους συμμόρφωσης πακέτου και έκδοσης πριν θεωρήσετε τη διασύνδεση έτοιμη.settings.json, προαιρετικό actions.json, μια παραγόμενη σύμβαση δυνατοτήτων, τεκμηρίωση και προαιρετικές εταιρικές επεκτάσεις. Ο Builder έξι σταδίων το συναρμολογεί, το μητρώο το εντοπίζει και οι έλεγχοι συμμόρφωσης και έκδοσης το επικυρώνουν.