Verificar API key
const status = await drokio.auth.verify();
console.log(status.plan, status.sites_used, "/", status.sites_allowed);Cada guía incluye instalación, inicialización del cliente y 5 ejemplos reales: verificar tu key, enviar telemetría, listar sitios, disparar un scan y analizar código con Brain IA. Los snippets usan placeholders tipo YOUR_API_KEY — reemplazalos por una key emitida desde el dashboard.
Node 18+, Bun, Deno y browsers modernos.
# npm
npm install @drokio/sdk
# pnpm / yarn
pnpm add @drokio/sdk
yarn add @drokio/sdkimport { DrokioClient } from "@drokio/sdk";
const drokio = new DrokioClient({
apiKey: process.env.DROKIO_API_KEY!,
// Opcional: apiBase: "https://drokio.com"
});const status = await drokio.auth.verify();
console.log(status.plan, status.sites_used, "/", status.sites_allowed);await drokio.telemetry.send({
site_url: "https://mi-tienda.com",
event_type: "file_modification",
severity: "warning",
message: "wp-config.php modificado manualmente",
metadata: { file: "wp-config.php", ip: "203.0.113.22" },
});const { sites } = await drokio.sites.list({ status: "warning" });
sites.forEach((s) => console.log(s.url, s.alerts_open));const scan = await drokio.scanner.run({
site_url: "https://mi-tienda.com",
scan_type: "full",
});
console.log("Hallazgos:", scan.findings.length);const verdict = await drokio.brain.analyze({
input_type: "code",
content: phpSource,
site_url: "https://mi-tienda.com",
});
if (verdict.verdict === "malicious") {
await quarantine(phpSource);
}Python 3.9+ con type hints y async opcional.
# pip
pip install drokio
# poetry
poetry add drokioimport os
from drokio import DrokioClient
drokio = DrokioClient(api_key=os.environ["DROKIO_API_KEY"])status = drokio.auth.verify()
print(status.plan, status.sites_used, "/", status.sites_allowed)drokio.telemetry.send(
site_url="https://mi-tienda.com",
event_type="file_modification",
severity="warning",
message="wp-config.php modificado manualmente",
metadata={"file": "wp-config.php", "ip": "203.0.113.22"},
)result = drokio.sites.list(status="warning")
for s in result["sites"]:
print(s["url"], s["alerts_open"])scan = drokio.scanner.run(
site_url="https://mi-tienda.com",
scan_type="full",
)
print("Hallazgos:", len(scan["findings"]))verdict = drokio.brain.analyze(
input_type="code",
content=php_source,
site_url="https://mi-tienda.com",
)
if verdict["verdict"] == "malicious":
quarantine(php_source)PHP 8.1+ vía Composer. Funciona con WordPress.
# Composer
composer require drokio/sdk<?php
require 'vendor/autoload.php';
use Drokio\DrokioClient;
$drokio = new DrokioClient([
'api_key' => getenv('DROKIO_API_KEY'),
]);$status = $drokio->auth->verify();
echo $status->plan . ' ' . $status->sites_used . '/' . $status->sites_allowed;$drokio->telemetry->send([
'site_url' => 'https://mi-tienda.com',
'event_type' => 'file_modification',
'severity' => 'warning',
'message' => 'wp-config.php modificado manualmente',
'metadata' => [
'file' => 'wp-config.php',
'ip' => '203.0.113.22',
],
]);$result = $drokio->sites->list(['status' => 'warning']);
foreach ($result['sites'] as $site) {
echo $site['url'] . ' → ' . $site['alerts_open'] . " alertas\n";
}$scan = $drokio->scanner->run([
'site_url' => 'https://mi-tienda.com',
'scan_type' => 'full',
]);
echo 'Hallazgos: ' . count($scan['findings']);$verdict = $drokio->brain->analyze([
'input_type' => 'code',
'content' => $phpSource,
'site_url' => 'https://mi-tienda.com',
]);
if ($verdict['verdict'] === 'malicious') {
quarantine($phpSource);
}Sin dependencias. Ideal para scripts CI y demos.
# cURL viene preinstalado en la mayoría de sistemas Unix.
# Windows: scoop install curl | macOS: brew install curl | Linux: apt install curl# Exportá tu API key para no repetirla
export DROKIO_API_KEY="dk_live_…"curl -X POST https://drokio.com/api/v1/auth/verify \
-H "Authorization: Bearer $DROKIO_API_KEY"curl -X POST https://drokio.com/api/v1/telemetry \
-H "Authorization: Bearer $DROKIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"site_url": "https://mi-tienda.com",
"event_type": "file_modification",
"severity": "warning",
"message": "wp-config.php modificado manualmente"
}'curl -G https://drokio.com/api/v1/sites \
-H "Authorization: Bearer $DROKIO_API_KEY" \
-d "status=warning"curl -X POST https://drokio.com/api/v1/scanner \
-H "Authorization: Bearer $DROKIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "site_url": "https://mi-tienda.com", "scan_type": "full" }'curl -X POST https://drokio.com/api/v1/brain/analyze \
-H "Authorization: Bearer $DROKIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_type": "code",
"content": "<?php … ?>",
"site_url": "https://mi-tienda.com"
}'Si preferís no usar una librería, los ejemplos en cURL muestran el contrato HTTP exacto — podés hablar con la API usando cualquier cliente HTTP. La referencia completa de endpoints vive en /docs/api-reference.