Направете своя платформа - Може да се оперира.
OpsIQ_ излага чист REST API, HMAC-подписани уебhooks, регистър на екшън-договор и готов-кораб SDKs. Дефинирай какви събития пожар от вашата система, какви действия AI е позволено да се изпълняват, и какви данни е безопасно да се четат. OpsIQ_ се справя подписи, retries, одитни дневници и потвърждаващи потоци за вас.
Искаме разрешение. Подписано е.
Можете POST къмOpsIQ APIс твоя оптичен ключ.OpsIQ проверява обхвата и ролята, провежда договорените действия, пише одитен ред - след това уволнява HMAC-подписан уебкасета обратно към вашата крайна точка. Всеки хоп е автентично, idempotent и се опитва да се провали.
От нулата до жива интеграция в Четири стъпки.
Генерирайте ключ, уволнете първото си събитие, абонирайте се за уебкасета, регистрирайте действие. Можете да стартирате целия цикъл срещу пясъчника преди докосване на производствени данни.
Вземи ключ.
Регистрирайте се и генерирайте обхватен Bearer API ключ (opq_…) в настройките на разработчиците и да даде всяка интеграция само повърхностите, които се нуждае.
& Запис на & огъня
ПОСТ подписано events/fire (или използвайте SDK), след това посочите всяко URL при всички случаи, подписано, с ID за доставка и връщане назад.
Регистриране на действие
Обявяване на подписан договор за действие, така че AI да може безопасно да извършва операции, с проверки на ролите, политика за потвърждение и пълна одитна следа.
Един конектор. Пет чисти примитивни.
Всичко определено за платформата живее в конектор.OpsIQ Ядрото остава общо, ИИ остава предсказуемо и интеграцията ви остава ревизия.
Кажи.OpsIQ какво се случи току що.
Изстреляйте универсални събития от вашата платформа - или собствени имена на събития. Всеки абонат реагира в реално време, в приоритетен ред.
Справка за събитиетоinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up или твоя собствена.
Абонати за развлекателни програмиAI мозъка, правилата за автоматизация, огледалните конектори и вашите уеб-кабини всички реагират.
Приоритетно нарежданеОгледалата пишат преди да се разпалят.
Кажи.OpsIQ какво може да прави Ал.
Договор за действие е подписана JSON_ декларация: какво прави действието, кои роли могат да го изпълняват, какви параметри приема, дали е необходимо потвърждение и крайната точка, която трябва да се обади.
Екшън схема{
"key": "saas.refund_invoice",
"label": "Refund a paid invoice",
"surface": ["admin"],
"roles": ["owner", "billing_admin"],
"requires_confirmation": true,
"params": {
"invoice_id": { "type": "int", "required": true },
"reason": { "type": "string", "max": 500 }
},
"endpoint": "https://api.you.com/refund",
"audit": true
}
Натиснете събитията към стека си - с криптографски доказателства.
Абонирайте се за всичкиURLза всяко събитие.OpsIQPOSTsJSON полезен товар, подписан с HMAC-SHA256 над суровото тяло - да го проверите в няколко реда.
$raw = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_OPSIQ_SIGNATURE'] ?? '';
$expected = hash_hmac('sha256', $raw, $secret); // hex digest, no prefix
if (!hash_equals($expected, $sig)) http_response_code(401);
$event = json_decode($raw, true);
Нахлули са клиенти за езика, който вече използвате.
Три официални SDKs се справят с удостоверяването, подписването, връщането, неудобните ключове и напечатаните отговори. Или остават без рамка - всеки SDK__ е тънка обвивка около същата REST повърхност.
import { OpsIQ } from "@opsiq/sdk";
const ops = new OpsIQ({ apiKey: process.env.OPSIQ_KEY });
await ops.events.fire("order.shipped", {
customer_id: 421,
order_ref: "NB-9182",
carrier: "DHL"
});
const result = await ops.actions.run("saas.send_kb_link", {
ticket_id: 5519,
article: "how-to-reset-password"
});
use OpsIQ\Client;
$ops = new Client([
'api_key' => getenv('OPSIQ_KEY'),
]);
$ops->events->fire('order.shipped', [
'customer_id' => 421,
'order_ref' => 'NB-9182',
]);
$result = $ops->actions->run('saas.send_kb_link', [
'ticket_id' => 5519,
'article' => 'how-to-reset-password',
]);
from opsiq import OpsIQ
ops = OpsIQ(
api_key=os.environ["OPSIQ_KEY"],
)
ops.events.fire("order.shipped", {
"customer_id": 421,
"order_ref": "NB-9182",
})
result = ops.actions.run("saas.send_kb_link", {
"ticket_id": 5519,
"article": "how-to-reset-password",
})
Включи всичко.
Конекторът е папка с един клас PHP. OpsIQ_ го открива, регистърът свързва събитията, а вашият код остава ясно отделен от ядрото.
Наръчник за съединителяidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Задвижвани от манифестиactions.json както и settings.json декларира договори и конфигурации.
Автоматично откритиПусни папката, подпиши я, включи я в администратор.
Влизаме на английски. Проверката приключи.
OpsIQ никога не изобретява правилното обаждане. Тя минава през регистрираните договори, подготвя полезния товар, иска потвърждение кога действието го изисква и произвежда пълен одитен ред, когато изпълнява, така че един AI, който може да го изпълни действие Никога не ставаш Ал, на когото не можеш да вярваш.
API_ повърхност с поглед.
Всяка основна крайна точка, нейната ут, неуместност и лимит на скоростта на ключ. Пълният машинно четим договор живее в OpenAPI 3.0.3__ reference.
POST /v1/events/fireHMACДа.1000/ мин.POST /v1/actions/runHMACДа.200/ мин.POST /v1/webhooks/testHMACДа.60/ мин.GET /v1/customers/{id}HMACДа.2000/ мин.GET /v1/ticketsHMACДа.2000/ мин.GET /v1/connectorsHMACДа.2000/ мин.Границите на скоростта са за ключ и се връщат при всеки отговор като X-OpsIQ-RateLimit-Remaining; надхвърлящи лимита на възвръщаемост 429 с Retry-After Заглавна част. Пълният машинно четим договор (всяка крайна точка, схема и грешка) живее в OpenAPI 3.0.3__ reference.
Зареждам конектора. Пет стъпки.
Конекторът е самостоятелна папка. OpsIQ__ го открива, регистърът свързва събитията, а вашият код никога не изтича в ядрото.
connector.php удължаване AbstractConnector.actions.json както и settings.json манифести.Ключ за пясъчник и тестер за уебкаска.
Всяко работно пространство излага пясъчник: отделен обхватен ключ, който удря една и съща повърхност API_ без да докосва данните за производството. POST /v1/webhooks/test да се изстреля подписана проба доставка в крайната си точка и да потвърдите вашата подпис проверка преди да отидете на живо. Самостоятелно инсталирани инсталират същия код път, без поведение дрифт между облака и на-прем.
OpsIQ спрямо a DIY интеграция.
Каква свързана с договора, подписана, одитирана платформа ви дава възможност да се въргаляте в собствените си уеб-hooks и AI-action водопровод никога няма да.
| Възможност | Снимайте си сам. | OpsIQ |
|---|---|---|
| HMAC-signed requests & webhooks (both ways) | Hand-rolled | ✓ |
| Idempotency keys + replay protection | DIY | ✓ |
| Automatic back-off retries with delivery IDs | DIY queue | ✓ |
| Action-contract registry (AI can't invent calls) | — | ✓ |
| Confirmation policy before side-effects | — | ✓ |
| 100% audit-log coverage on actions | Manual logging | ✓ |
| Official PHP / Node / Python SDKs | Write your own | ✓ |
| OpenAPI 3.0.3 machine-readable contract | Maybe | ✓ |
| Sandbox keys + webhook tester | Build a staging rig | ✓ |
| Cloud & self-hosted parity (same code path) | Различно | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Разработчиците задават въпроси. Отговори.
Аут, подписи, SDKs, пясъчни боксове и конектор модел: всичко, което ще поискате преди първата заявка.
Authorization: Bearer opq_…OpsIQ__ проверява обхвата на ключа и ролята на актьора преди всичко да се случи. Уебhookите са отделни: всеки уеб-шеф OpsIQ_ изпраща носи X-OpsIQ-Signature (хекс HMAC- SHA256 на суровото тяло) и X-OpsIQ-Timestamp За защита на повторението, така че можете да ни проверите в замяна, и входящи уеб-hooks, които изпращате се проверяват по същия начин.requires_confirmation Преди да започне страничният ефект, се появява карта за преглед на човек.hash_hmac('sha256', $rawBody, $secret) (хекс- смилаем без представка) и го сравнява с X-OpsIQ-Signature заглавна част с постоянна проверка (hash_equalsВсяка доставка също носи печат на времето, несигурен ключ и ID за доставка можете да проследите.POST /v1/webhooks/test да се изстреля подписана проба доставка в крайната си точка и да потвърдите вашата проверка преди да отидете на живо.AbstractConnector, плюс actions.json както и settings.json Вие прилагате манифести. identityProviders(), contextProviders(), registerActions(), subscribers() както и handleWebhook()OpsIQ_ автодискриминиране на събитията, жици на събитията и поддържа вашия код платформа-ясно отделен от ядрото.