Fanya jukwaa yako ya utendaji.
Call 2,418 named operations through one contract-generated API, with least-privilege scopes, workspace pinning, dry-run validation and replay-safe writes. Subscribe to canonical events through HMAC-signed background webhooks, or build a governed package in the six-stage Connector Builder.
Maombi ya kuingia. Tukio lililotangazwa.
Kuweka hatua kwa /api/v1.php Kwa ufunguo wa Bearer ulio na upeo. OpsIQ inapiga nafasi ya kazi, inathibitisha mkataba wa utekelezaji na ruhusa, kisha hutekeleza au kukimbia kavu. Matukio ya kujiandikisha kuondoka kupitia foleni ya utoaji iliyosainiwa ya HMAC na majaribio yanayofuatiliwa na kufungwa.
kutoka katika msingi wa Muungano unaoongozwa na Hatua tatu.
Kutoa ufunguo wa upendeleo mdogo, kugundua mkataba uliozalishwa, kavu-run kuandika, kisha ujiandikishe webhook wakati programu yako inahitaji utoaji wa tukio la background.
Kupata ufunguo
Kujiandikisha na kuzalisha Bearer iliyopanuliwa API Msingi wa (opq_…) katika mazingira ya msanidi programu, na kutoa kila ushirikiano tu nyuso zinazohitajika.
Kuthibitisha & kuthibitisha
Soma meta.actions, meta.action Na kwa kuwa meta.scopesMatumizi ya dry_run Kuthibitisha kuandika kabla ya utekelezaji.
Bonyeza & Subscribe
Ongeza ufunguo wa idempotency kwa kuandika, kisha ujiandikishe mwisho wako kwenye matukio ya canonical mahitaji yako ya maombi.
Moja ya interface. 5 ya asili ya asili.
Kila jukwaa-kazi maisha katika kontakt. msingi wa OpsIQ anakaa generic, AI inakaa kutabirika, na ushirikiano wako unakaa ukaguzi.
Waambie OpsIQ tu kile kilichotokea.
Matukio ya kihisabati kutoka kwenye jukwaa lako, au kufafanua tukio la desturi linaloongozwa. Wasajili hupokea tukio kupitia kipaumbele kilichosajiliwa na sheria za utoaji.
Matukio ya kumbukumbuinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Au hata wewe mwenyewe.
Wafuasi wa Fan-outUbongo wa AI, sheria za automatisering, viunganisho vya kioo na mwisho wako wa wavuti wote huitikia.
Amri ya kwanzaKusambaza kwa makusudi hivyo vioo vinaandika kabla ya tahadhari ya moto.
Waambie OpsIQ Ni kitu gani ambacho mtu anaweza kufanya.
Kila operesheni iliyotajwa hupokea mkataba uliozalishwa: upeo, kipengele, kusoma au kuandika aina, hatari, sera ya kuthibitisha, ombi na majibu schema, msaada wa kukimbia kavu, upungufu na makosa imara.
Programu ya{
"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"] }
}
Kusukuma matukio kwa stack yako - na ushahidi wa cryptographic.
Subscribe any URL to any of the 52 deliverable events. OpsIQ POSTs the JSON payload signed with HMAC-SHA256 over the scheme version, the timestamp, the delivery ID and the body together, not the body alone, so yesterday's delivery cannot be replayed at you today.
$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
Tumia HTTP moja kwa moja au kuzalisha mteja unayependa.
Jumla ya jumlaAPI Imechapishwa kama OpenAPI 3.0.3 na Postman.php kumbukumbu ya watumaji pamoja na Node na Python ushirikiano wateja cover tukio saini na mtiririko webhook; stack yoyote inaweza wito sawa JSON hatua za moja kwa moja.
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.",
},
)
Kuruka mara moja, kwenda juu ya kitu chochote.
Kiunganisho ni kifurushi kinachosimamiwa kilichozalishwa au kuingizwa kwa njia ya Utambulisho, Auth, Mtihani, Hatua, Triggers na Mapitio. Kifungu chake kinatangaza uwezo wa nyuso OpsIQ inaruhusiwa kufunua.
Kuajiri wajenzi wa hatua sitaKiingereza safi. Uchunguzi wa operesheni umefunguliwa.
OpsIQ Haivumiliki wito sahihi. Inatembea kupitia mikataba iliyosajiliwa, huandaa mzigo wa malipo, huuliza uthibitisho wakati hatua inahitaji, na hutoa safu kamili ya ukaguzi wakati inatekeleza, hivyo AI ambayo inaweza kufanya kazi. hatua Kamwe usiwe mtu ambaye huwezi kuamini.
API Juu ya uso kwa mtazamo.
One JSON POST surface exposes 2,418 named actions. Each generated contract declares auth scopes, read/write kind, risk, confirmation, request schema, dry-run, idempotency and stable errors.
ACTION tickets.replytickets.writeUCHAMBUZI WA KITABU; IdempotencyKuunganishwa / saaACTION security.reportsecurity.writeUCHAMBUZI WA KITABU; IdempotencyKuunganishwa / saaACTION platform.routes.writeUsimamizi wa adminUthibitisho wa + KeyKuunganishwa / saaACTION meta.actionsUtambuzi wa UmmaSoma tuKuunganishwa / saaACTION tickets.listtickets.readSoma tuKuunganishwa / saaACTION connectors.listconnectors.readSoma tuKuunganishwa / saahr.* mikataba ya · hr.read / hr.write Maeneo yaACTION hr.people.listhr.readSoma tuKuunganishwa / saaACTION hr.people.createhr.writeUCHAMBUZI WA KITABU; IdempotencyKuunganishwa / saaACTION hr.org.treehr.readSoma tuKuunganishwa / saahr Unastahili kukataa, sio orodha tupu. Nini watu wa HR.Mipaka ya kiwango imewekwa kwa ufunguo kwenye dirisha la saa. Majibu X-RateLimit-Limit, X-RateLimit-Remaining Na kwa kuwa X-RateLimit-ResetMaombi ya Kurudi 429 Pamoja na kuwa pamoja Retry-AfterTumia matumizi ya OpenAPI 3.0.3 Mkataba wa mkataba au Orodha ya Postman Kuundwa kutoka kwa registries sawa.
Kujenga, Kuthibitisha na Kufunguliwa katika Hatua ya sita.
Anza kutoka kwa wasifu wa utawala au kufafanua mkataba mwenyewe. Mjenzi huthibitisha kila hatua kabla ya kuzalisha kifurushi cha kuunganishwa binafsi.
Weka salama, kisha fuata maelekezo.
Matumizi ya matumizi dry_run juu ya vitendo vya kuandika mkono, kukimbia mtihani wa uunganisho wa kuunganishwa kwa Mjenzi, na kukagua wazi na mkataba uliozalishwa kabla ya kutolewa. Uhakiki wa Package unakagua majina ya uwezo, mipangilio, uthibitisho na faili zinazohitajika; wafanyakazi wa nyuma hushughulikia uchaguzi wa ufanisi na utoaji wa nje.
Mfumo hauwezi kudai uwezo Kanuni yake haina.
OpsIQ\Connectors\ConnectorContract ni mamlaka.Ugunduzi wa Runtime, Mjenzi, vifurushi vya chama cha kwanza, kukubaliana, Mkuu API na kila kumbukumbu kusoma kwamba Usajili mmoja. kutangaza uwezo na faili tatu lazima kukubaliana na kila mmoja kabla ya OpsIQ Njia moja ya kwenda kwa ajili yenu.
- 01 connector.php Darasa la runtime
- 02 IdentityProvider.php Vifaa vya nje
- 03 SalesIngest.php Kukubaliana kwa ajili ya ()
- 04 actions.json Majina ya operesheni
- 05 settings.json Uendeshaji wa Configuration
- 06 connector_contract.json Mamlaka ya Kumiliki Mashine
hmac-sha256 Juu ya malipo ya kuamua ya SHA-256 hes majibu Hii imebadilishwa tangu kuanzishwa kwa· Kuwa na ed25519 Majibu ya Je, ni lini ahadi hiyo ilitekelezwa na Nabtech, checkable na muhimu ya umma imefungwa na hakuna siri pamoja. Edit moja kwa moja na kuacha kwanza vinavyolingana.
marketplace.json Ni nje ya saini kwa ufafanuzi: mpangaji anaandika baada ya kusainiwa, hivyo mchapishaji hakuweza kamwe kuisaini.
Ni mchezaji ambaye hajawahi kushindwa Ni ya unpretended.
Vipimo vya kijani vinakuambia hakuna kilichovunjika leo. Hawakuambii walinzi ulioandika watazuia kitu kilichoandikwa kuacha, kwa sababu mlinzi ambaye hajawahi kutumia hupita kama mlinzi asiyefanya chochote. Kwa hivyo tunauzuia moyo wake kwa makusudi, na kudai kwamba ufuatiliaji wa sauti unapiga kelele.
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.
Mabadiliko hayajawahi kutumika.
Nakala ya utafutaji haikulingana, faili hiyo haikuguswa, suite ilipitishwa, na uthibitisho uliorekodiwa Green chini ya kanuni ya zamani Kuhusu msimbo ambao haujawahi kuwa wa zamani. Ulikamatwa kwa kuhitaji mechi moja ya maandishi na kulinganisha faili hashes ama upande.
Mabadiliko ya katiba yamezua jambo jingine.
Suite akaenda nyekundu kwa sababu faili kusimamishwa parsing au bootstrap kufa, na uthibitisho kumbukumbu nyekundu kwamba hakuwa na chochote cha kufanya na walinzi. hawakupata kwa linting mutant na wanaohitaji mutant. Jina la jina Kulinganisha kati ya kushindwa.
Haiwezi kuacha mabadiliko kwenye disk.
Kila mabadiliko yana nakala ya asili kwa gari la kando nje ya mti uliohifadhiwa, anaandika alama inayotaja mabadiliko bora, na inapotea na msimamizi wa kuzima kwenye kila njia ya kuondoka. Alama kutoka kukimbia iliyoanguka inaheshimiwa kabla ya mabadiliko mengine ya faili hiyo.
Kuthibitisha ni amri Kwa kutumia msimbo wa kuondoka.
Not a review queue where somebody reads your code and forms an opinion. Run the same suites we run, on your own machine, before you submit. 8 published JSON Schemas under doc/contracts/schemas/ Mipangilio ya kufunika, vitendo, specs za wajenzi, safari na ramani za tukio la biashara, maelekezo ya kazi, mikataba ya kontakt na maonyesho ya kutolewa.
- manifests Kukubaliana na kukubaliana
- Uwezo wa uwezo Kuna aina ya kozi katika darasa la runtime
- interfaces ambapo alitangazwa kuwa
- files Kila nyaraka zinazohitajika
- Matendo ya vitendo Kulinganisha vitendo vilivyo wazi
- destructive Uthibitisho wa kuthibitisha
- Utambulisho wa utambulisho Simu ya Mkono, sio Email
- Kurudisha Kurejea kwa mara ya pili, kamwe si kurudia
- Biashara ya Biashara Taarifa za nyongeza zinaendana na
- Docs ya Soma, badilisha, badilika
- Mipango ya Kila mmoja kila JSON Kuwa na uhakika
$ 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
Kuthibitisha kwanza katika akaunti ya kweli isiyo ya uzalishaji --live-settings=/secure/test-acme.jsonWakati wewe ni bado unapumzika, kubadilishana moja ya mwisho kwa ajili ya --unsigned-ok: Anachukua saini iliyokosekana kama onyo linalotarajiwa badala ya kujifanya ni nzuri.
Kufafanua nini unaweza kununua Ni faili, si usajili.
Kampuni ambayo inaweza kuuza matangazo ambayo yake mwenyewe Majibu ya operesheni OpsIQUwepo wa faili ni madai. Inaonekana katika mazingira ya kuuza wakati inatangaza na kutoweka wakati unaacha. Hakuna orodha ya kujiunga na hakuna mtu kuuliza.
Kanani ya Kimaandiko Kuandika kuandika Jukumu lililowekwa kwenye rekodi ya kawaida. Mechi ni ya miundo: jina la kuhifadhi kando na kitenzi cha kubadilisha, chochote mkataba wako wa kutaja. Kuandika safu ya biashara moja kwa moja huruka bei ya jukwaa, upatikanaji wa kufuli na barua ya uthibitisho, na hutoa utaratibu mfumo wa mfanyabiashara mwenyewe nusu tu anaamini. recovery Aidha, wakati wa kupanda ni vigumu.
{
"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 ya kuanzishwa na mipango yake. additionalProperties:false, hivyo kuzuia mkono-kuandika kunaweza kushindwa kuthibitisha na kisha kuwa overwritten juu ya jenereta ijayo kukimbia.
Jukumu ambalo si la CommerceRole Hakuna kuwepo. OpsIQ Kamwe usiruhusu jina la operesheni, kwa sababu jina sio ahadi.
Kazi lazima iwe katika mikono yako actions.jsonKufafanua moja ambayo haipo ahadi mteja kitu ambacho kisha hutoa hakuna.
Wakati hatari zaidi ni moja baada ya jukwaa inaweza tayari kuwa alifanya kazi. Bila idempotent "aliandika ardhi yangu" kuangalia, chaguo pekee ni retry kipofu au kupoteza utaratibu.
Aidha, wajibu wa kila mwenye dhamana ya malipo payment_profile Pamoja na hayo Mazingira ya mazingira, webhook_verify kutumia mfumo wa vyama vya wafanyakazi, na event_mapMazingira yasiyo na hali ni jinsi mtoa huduma wa wastani wa mtihani huchukua malipo ya moja kwa moja.
OpsIQ dhidi ya a Ushirikiano wa DIY.
Nini mkataba-kufungwa, saini, jukwaa ukaguzi inakupa kwamba rolling webhooks yako mwenyewe na AI-hatua mabomba kamwe.
| Uwezo wa uwezo | Kujiandikisha yako mwenyewe | OpsIQ |
|---|---|---|
| Aina ya Bearer API + HMAC-signed webhooks | Kujiandikisha kwa mkono | ✓ |
| Uchoraji wa maandishi + 24 Kujiandaa kwa ajili ya mchezo | ya ya | ✓ |
| 1 m→5 m→30 m2 wa→ 2h → 12hKurejea kwa | Kulisha meza | ✓ |
| Usajili wa mkataba (AI haiwezi kuunda simu) | — | ✓ |
| Sera ya kuthibitisha kabla ya athari za upande | — | ✓ |
| Hitilafu ya Kuingiliana + Kuomba ID | Mwongozo wa magogo | ✓ |
| HTTP + Chaguzi za Wateja | Andika barua yako mwenyewe | ✓ |
| OpenAPI 3.0.3 mkataba wa kusoma mashine | Labda labda inaweza kuwa | ✓ |
| Hatua ya 6 Mjenzi + mfuko wa kufungua lango | Kujenga chombo cha | ✓ |
| Kazi za msingi na mipaka ya saa | Inatofautiana | ✓ |
| Mfumo wa Kuunganisha: Msimbo wa jukwaa unakaa pekee | — | ✓ |
Maswali ya nyongeza, Alijibu.
Uthibitishaji, mikataba, retries, kizazi cha mteja, upimaji salama na mfano wa kontakt, kabla ya ombi la kwanza la uzalishaji.
Authorization: Bearer opq_…Keys inaweza kuwa bila wasiwasi, vikwazo au kusoma-tu, kubeba mawanda ya chini ya upendeleo, kutii kikomo cha saa na inaweza pinned kwa nafasi ya kazi. X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event Na kwa kuwa X-OpsIQ-Delivery.hash_hmac('sha256', $rawBody, $secret) na kuilinganisha na ile ya dhahabu. X-OpsIQ-Signature Matumizi ya kutumia hash_equals· Tarehe ya kuzaliwa X-OpsIQ-Timestamp Ndani ya dirisha la kucheza na kutumia X-OpsIQ-Delivery kama kitambulisho cha utambulisho wa ufuatiliaji.dry_run juu ya vitendo ambao mkataba yanayotokana mkono yake, kukimbia Connector Builder imefungwa uunganisho mtihani, kukagua mafaili yake yanayotokana, na kupita mfuko kukubaliana na kufungua milango kabla ya kutibu kontakt kama tayari.settings.jsonKwa upande wa hiari actions.json, mkataba wa uwezo uliozalishwa, nyaraka na upanuzi wa biashara ya hiari. Wajenzi wa hatua sita wanakusanyika; Usajili unagundua; kukubaliana na kufungua milango kuthibitisha.