Создайте свою платформу Работает с ИИ.
OpsIQ раскрывает чистый REST API, HMAC-подписанные веб-хуки, реестр договоров действий и готовых к отправке SDKs. Определите, какие события возгораются из вашей системы, какие действия ИИ разрешено выполнять, и какие данные безопасны для чтения. OpsIQ обрабатывает подписи, повторные записи, журналы аудита и потоки подтверждения для вас.
Запроси. Подписал крюк.
Вы POST к OpsIQAPI с вашим ограниченным ключом Bearer. OpsIQ проверяет область и роль, выполняет контрактное действие, пишет строку аудита - затем запускает веб-хук с подписью HMAC обратно в конечную точку. Каждый прыжок аутентифицирован, идемпотентен и повторно проверен на отказ.
От нуля к живой интеграции в Четыре шага.
Создайте ключ, запустите первое мероприятие, подпишитесь на веб-хук, зарегистрируйте действие. Вы можете запустить весь цикл против песочницы, прежде чем касаться производственных данных.
Получить ключ
Зарегистрируйтесь и создайте ограниченный ключ Bearer API (opq_…) в настройках разработчика и придавать каждой интеграции только те поверхности, которые ей необходимы.
Огонь и подписка
Пост подписанный events/fire (или используйте SDK), затем укажите любой URL на любое событие, подписанное, с идентификатором доставки и обратной перезаписью.
Зарегистрируйте действие
Объявить подписанный контракт на действия, чтобы ИИ мог безопасно выполнять операции с проверкой ролей, политикой подтверждения и полным аудитом.
Один шаблон разъема. Пять чистых примитивов.
Все, что касается платформы, живет в разъеме. Ядро OpsIQ остается общим, ИИ остается предсказуемым, а ваша интеграция остается поддающейся аудиту.
РассказатьOpsIQЧто только что произошло.
Уничтожайте универсальные события с вашей платформы или собственные имена событий. Каждый абонент реагирует в режиме реального времени, в приоритетном порядке.
Ссылка на событиеinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Или свой собственный.
Подписчики Fan-outМозг ИИ, правила автоматизации, зеркальные разъемы и конечные точки вашего веб-хука реагируют.
Приоритетный порядокДетерминистическая посылка, так что зеркала пишут перед тем, как предупредить о пожаре.
Скажите 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на любое событие.OpsIQПостсJSONПолезная нагрузка, подписанная с 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);
Загрузите клиент для языка, который вы уже используете.
Три официальных SDK обрабатывают аутентификацию, подпись, повторные записи, ключи идемпотентности и типизированные ответы. Или остаются без фреймворка - каждый 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 никогда не изобретает правильный вызов. Он проходит через зарегистрированные контракты, готовит полезную нагрузку, просит подтверждения, когда это требуется действием, и производит полную строку аудита, когда он выполняется, поэтому ИИ, который может действовать Никогда не становитесь ИИ, которому нельзя доверять.
API поверхность С первого взгляда.
Каждая конечная точка ядра, ее аут, идемпотентность и предел скорости ключа. Полный машиночитаемый контракт живет в ссылке OpenAPI 3.0.3.
POST /v1/events/fireHMACДа.1000/minPOST /v1/actions/runHMACДа.200/minPOST /v1/webhooks/testHMACДа.60/minGET /v1/customers/{id}HMACДа.2000/minGET /v1/ticketsHMACДа.2000/minGET /v1/connectorsHMACДа.2000/minОграничения ставок указаны на ключ и возвращаются на каждый ответ в качестве X-OpsIQ-RateLimit-Remaining; превышение предельного размера возврата 429 с а Retry-After Полный машиночитаемый контракт (каждая конечная точка, схема и ошибка) живет в OpenAPI3.0.3 Ссылка.
Отправьте соединитель в Пять шагов.
Разъем — это самодостаточная папка. OpsIQ обнаруживает ее, реестр проводит события, и ваш код, специфичный для платформы, никогда не просачивается в ядро.
connector.php расширять AbstractConnector.actions.json и settings.json манифесты.Ключ от песочницы и тестер веб-хуков.
Каждое рабочее пространство обнажает песочницу: отдельный ключ, который попадает в одну и ту же область.APIповерхность без прикосновения к производственным данным. POST /v1/webhooks/test чтобы запустить подписанную доставку образца в вашей конечной точке и подтвердить вашу проверку подписи перед выходом в эфир. Самостоятельные установки выполняют одинаковый путь кода без поведенческого дрейфа между облаком и на месте.
OpsIQ против a Интеграция DIY.
Что связанная контрактом, подписанная, проверенная платформа дает вам, что прокатка ваших собственных веб-хуков и сантехника с искусственным интеллектом никогда не даст.
| способность | Свернуть свой собственный | PHP 8.4+ · MySQL 5.7+ |
|---|---|---|
| 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 | — | ✓ |
Вопросы разработчиков, ответил.
Аута, подписи, SDK, песочница и модель разъема: все, что вы попросите перед первым запросом.
Authorization: Bearer opq_…. OpsIQ проверяет объем ключа и роль актера, прежде чем что-либо запустится. Webhooks разделены: каждый веб-хук OpsIQ отправляет сообщение, которое не имеет значения. X-OpsIQ-Signature (шести HMAC-SHA256 сырого тела) и X-OpsIQ-Timestamp для защиты от повторного воспроизведения, чтобы вы могли проверить нас в ответ, и входящие веб-хуки, которые вы отправляете, проверяются таким же образом.requires_confirmation Поверхность карты предварительного просмотра человеку перед тем, как побочный эффект запускается.hash_hmac('sha256', $rawBody, $secret) (не имеет приставки) и сравнивает его с X-OpsIQ-Signature заголовок с постоянной проверкой времени (hash_equalsКаждая доставка также имеет временную метку, ключ идемпотентности и идентификатор доставки, который вы можете отследить. Отрывок PHP на этой странице - это вся проверка.POST /v1/webhooks/test чтобы запустить подписанную доставку образца в вашей конечной точке и подтвердить вашу проверку перед выходом в эфир.AbstractConnectorплюс actions.json и settings.json Выполняешь манифесты. identityProviders(), contextProviders(), registerActions(), subscribers() и handleWebhook()OpsIQ автоматически обнаруживает его, проводит события и сохраняет ваш код, специфичный для платформы, четко отделенным от ядра.