Haz que tu plataforma sea operable con IA.
OpsIQ expone una API REST limpia, webhooks firmados con HMAC, un registro de contratos de acción y SDKs listos para enviar. Define qué eventos se activan desde tu sistema, qué acciones puede ejecutar la IA y qué datos son seguros para leer. OpsIQ maneja firmas, reintentos, registros de auditoría y flujos de confirmación por ti.
Solicitar en. Webhook firmado fuera.
Haces un POST a la API de OpsIQ con tu clave Bearer con alcance. OpsIQ verifica el alcance y el rol, ejecuta la acción contratada, escribe una fila de auditoría - luego envía un webhook firmado HMAC de vuelta a tu punto final. Cada salto está autenticado, es idempotente y se reintenta en caso de fallo.
De cero a una integración en vivo en cuatro pasos.
Genera una clave, dispara tu primer evento, suscribe un webhook, registra una acción. Puedes ejecutar todo el ciclo contra el sandbox antes de tocar datos de producción.
Obtener una clave
Regístrate y genera una clave API Bearer con alcance (opq_…) en la configuración de desarrollador, y da a cada integración solo las superficies que necesita.
Activar y suscribirse
Enviar un mensaje firmado events/fire (o usar un SDK), luego apunta cualquier URL a cualquier evento, firmado, con un ID de entrega y reintentos de retroceso.
Registrar una acción
Declara un contrato de acción firmado para que la IA pueda ejecutar operaciones de manera segura, con verificaciones de rol, política de confirmación y un rastro de auditoría completo.
Un patrón de conector. Cinco primitivas limpias.
Cualquier cosa específica de la plataforma vive en un conector. El núcleo de OpsIQ se mantiene genérico, la IA se mantiene predecible y tu integración se mantiene auditable.
Dile a OpsIQ qué acaba de suceder.
Dispara eventos universales desde tu plataforma - o tus propios nombres de eventos personalizados. Cada suscriptor reacciona en tiempo real, en orden de prioridad.
Referencia de eventoinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up o el suyo propio.
Suscriptores de fan-outEl cerebro AI, reglas de automatización, conectores espejo y tus endpoints de webhook reaccionan todos.
Orden de prioridadDespacho determinista para que los espejos escriban antes de que se activen las alertas.
Dile a OpsIQ lo que la IA puede hacer.
Un contrato de acción es una declaración JSON firmada: lo que hace la acción, qué roles pueden ejecutarla, qué parámetros acepta, si se requiere confirmación, y el punto final a llamar.
Esquema de acción{
"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
}
Envía eventos a tu pila - con prueba criptográfica.
Suscribe cualquier URL a cualquier evento. OpsIQ POSTea la carga JSON firmada con HMAC-SHA256 sobre el cuerpo en bruto - verifícalo en unas pocas líneas.
$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);
Clientes integrados para el idioma que ya usas.
Tres SDK oficiales manejan autenticación, firma, reintentos, claves de idempotencia y respuestas tipadas. O mantente libre de framework: cada SDK es un delgado envoltorio alrededor de la misma superficie 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",
})
Construye una vez. Conéctate a cualquier cosa.
Un conector es una carpeta con una clase PHP. OpsIQ lo descubre, el registro conecta los eventos, y tu código específico de la plataforma se mantiene limpiamente separado del núcleo.
Guía del conectoridentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Impulsado por manifiestoactions.json y settings.json declarar contratos y configuración.
Descubierto automáticamenteSuelta la carpeta, fírmala, habilítala en el administrador.
Inglés sencillo en. Operación auditada fuera.
OpsIQ nunca inventa la llamada correcta. Revisa los contratos registrados, prepara la carga útil, pide confirmación cuando la acción lo requiere y produce una fila de auditoría completa cuando se ejecuta, así que una IA que puede actuar nunca se convierte en una IA en la que no puedes confiar.
Superficie de API De un vistazo.
Cada punto final central, su autenticación, idempotencia y límite de tasa por clave. El contrato completo legible por máquina vive en la referencia OpenAPI 3.0.3.
POST /v1/events/fireHMACSí1000 / minPOST /v1/actions/runHMACSí200 / minPOST /v1/webhooks/testHMACSí60 / minGET /v1/customers/{id}HMACSí2000 / minGET /v1/ticketsHMACSí2000 / minGET /v1/connectorsHMACSí2000 / minLos límites de tasa son por clave y se devuelven en cada respuesta como X-OpsIQ-RateLimit-Remaining; exceder un límite devuelve 429 con un Retry-After encabezado. El contrato completo legible por máquina (cada punto final, esquema y error) vive en el Referencia OpenAPI 3.0.3.
Envía un conector en cinco pasos.
Un conector es una carpeta autónoma. OpsIQ lo descubre, el registro conecta los eventos, y tu código específico de la plataforma nunca se filtra en el núcleo.
connector.php extendiendo AbstractConnector.actions.json y settings.json manifiestos.Una clave de sandbox y un probador de webhook.
Cada espacio de trabajo expone un sandbox: una clave de alcance separado que accede a la misma superficie de API sin tocar datos de producción. Usa POST /v1/webhooks/test para disparar una entrega de muestra firmada en tu punto final y confirmar tu verificación de firma antes de ir en vivo. Las instalaciones autoalojadas ejecutan la misma ruta de código, sin desviaciones de comportamiento entre la nube y en local.
OpsIQ vs un Integración de bricolaje.
Lo que una plataforma vinculada por contrato, firmada y auditada te ofrece que crear tus propios webhooks y la plomería de acciones de IA nunca podrá.
| Capacidad | Crea el tuyo | 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) | Varía | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Preguntas de desarrollador, respondido.
Autenticación, firmas, SDKs, sandboxing y el modelo de conector: todo lo que preguntarás antes de la primera solicitud.
Authorization: Bearer opq_…. OpsIQ verifica el alcance de la clave y el rol del actor antes de que se ejecute cualquier cosa. Los webhooks son separados: cada webhook que envía OpsIQ lleva un X-OpsIQ-Signature (un HMAC-SHA256 hexadecimal del cuerpo sin procesar) y un X-OpsIQ-Timestamp para protección contra reproducción, para que puedas verificarnos a cambio, y los webhooks entrantes que envías se verifican de la misma manera.requires_confirmation muestra una tarjeta de vista previa a un humano antes de que se ejecute el efecto secundario.hash_hmac('sha256', $rawBody, $secret) (un resumen hexadecimal sin prefijo) y compáralo con el X-OpsIQ-Signature encabezado con una verificación de tiempo constante (hash_equals). Cada entrega también lleva una marca de tiempo, una clave de idempotencia y un ID de entrega que puedes rastrear. El fragmento de PHP en esta página es toda la verificación.POST /v1/webhooks/test para enviar una entrega de muestra firmada a tu punto final y confirmar tu verificación antes de salir en vivo.AbstractConnector, más actions.json y settings.json se manifiestan. Tú implementas identityProviders(), contextProviders(), registerActions(), subscribers() y handleWebhook(). OpsIQ lo descubre automáticamente, conecta los eventos y mantiene tu código específico de la plataforma limpiamente separado del núcleo.