Dla deweloperów i twórców AI
Buduj na ZvonAI.
Każda funkcja dostępna programistycznie. API dla deweloperów, webhooki i llms.txt — ZvonAI to infrastruktura dla ery agentów AI.
Developer API v1
API-key auth
Read-only
calls · appts · analytics
Webhooks
HMAC-SHA256
EU data
Warsaw, GCP
Uwierzytelnianie (klucz API)
Utwórz klucz API zv_live_ w Panel → Deweloperzy (plan Business i wyższy) i wysyłaj go jako token Bearer. W v1 tylko do odczytu.
# Create an API key in Dashboard → Developers (Business plan and above). # It's shown once — store it as a secret. Send it as a Bearer token: curl -s "https://api-prod-o5szrvwcla-lm.a.run.app/v1/calls" \ -H "Authorization: Bearer zv_live_..." # The same endpoints also accept a dashboard user JWT (POST /auth/login, # form-encoded), but for integrations always use an API key.
Developer API v1 endpoints
Interactive schema at https://api-prod-o5szrvwcla-lm.a.run.app/docs · OpenAPI JSON at /openapi.json
# Developer API v1 — read-only, tenant-isolated, paginated.
# List calls (scope: calls:read)
curl -s "https://api-prod-o5szrvwcla-lm.a.run.app/v1/calls?limit=20&offset=0" \
-H "Authorization: Bearer zv_live_..." | jq .
# One call by id (scope: calls:read)
curl -s "https://api-prod-o5szrvwcla-lm.a.run.app/v1/calls/{id}" \
-H "Authorization: Bearer zv_live_..." | jq .
# Appointments (scope: appointments:read)
curl -s "https://api-prod-o5szrvwcla-lm.a.run.app/v1/appointments" \
-H "Authorization: Bearer zv_live_..." | jq .
# 30-day analytics (scope: analytics:read)
curl -s "https://api-prod-o5szrvwcla-lm.a.run.app/v1/analytics?days=30" \
-H "Authorization: Bearer zv_live_..." | jq .Webhooki
Zdarzenie call.completed po każdym połączeniu. Podpisane HMAC-SHA256. Obecnie włączane na życzenie (support@zvonai.ai); samodzielna konfiguracja w panelu wkrótce.
# call.completed payload (HMAC-SHA256 signed)
{
"event": "call.completed",
"call_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"tenant_id": "d5a4ce4d-5fe3-4550-9f5b-e47b97ebe1cd",
"timestamp": "2026-05-27T14:30:00.000Z",
"from": "+48500123456",
"to": "+48732126907",
"duration_seconds": 87,
"outcome": "booked",
"callback_requested": false,
"summary": "Pacjentka umówiła wizytę na czwartek 29 maja o 14:00."
}
# Verify signature (Node.js) — sign the RAW request body, not re-serialized JSON
import crypto from "node:crypto";
function verify(rawBody, timestamp, signature, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(`${timestamp}.${rawBody}`)
.digest("hex");
if (signature.length !== expected.length) return false;
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}
// header: X-ZvonAI-Signature: t={timestamp},v1={signature}Webhook configuration is currently enabled per-tenant on request (support@zvonai.ai); self-serve configuration is coming to the dashboard.
API dla deweloperów v1
Tylko do odczytu, uwierzytelniane kluczem API. Utwórz klucz zv_live_ w Panel → Deweloperzy (plan Business i wyższy), a następnie odczytuj połączenia, wizyty i statystyki — izolowane per najemca, typowane.
# Developer API v1 — read-only, API-key authenticated.
# Create a key in Dashboard → Developers (Business plan and above).
curl https://api-prod-o5szrvwcla-lm.a.run.app/v1/calls \
-H "Authorization: Bearer zv_live_..."
# → { "data": [ { "id", "created_at", "caller_number", "status",
# "outcome", "duration_seconds", "sentiment", "summary" } ],
# "limit": 50, "offset": 0, "has_more": false }
# Other endpoints (scoped):
# GET /v1/calls/{id} (calls:read)
# GET /v1/appointments (appointments:read)
# GET /v1/analytics?days=30 (analytics:read)Serwery MCP (obecnie wewnętrzne)
Silnik głosowy ZvonAI używa serwerów MCP wewnętrznie (kalendarz, Google Sheets, Excel, CRM, SMS) przez STDIO. Hostowany zdalny endpoint MCP, do którego podłączysz własnego agenta, jest w planach; na razie skorzystaj z API dla deweloperów v1 powyżej.
Discoverability & Compliance
Dane w UE
Wszystkie dane w GCP europe-central2 (Warszawa). Zgodność z RODO Art. 9 dla danych zdrowotnych. DPA podpisane z każdym tenantom.