da
5 min. læsetid Business

Enterprise API til opkaldrevision: Endpoints og eksempler

Praktisk reference for revisions-API v1: autentifikation med organisationsnøgle, oprettelse af revisioner via URL eller upload, agenter, teams, scripts, analyser og HMAC-webhooks.

Praktisk reference til revisions-API v1 for opkald — integrationskanalen til revisionsmodulet med din PABX eller telefonplatform. Kræver en organisation med virksomhedsplan og en API-nøgle for organisationen.

Autentifikation

Opret nøglen under /dashboard/organization/auditorias (OWNER/ADMIN; op til 10 aktive nøgler pr. organisation), og send den i alle anmodninger:

Authorization: Bearer vpt_live_SUA_CHAVE_DA_ORG
  • Hemmeligheden vises kun én gang ved oprettelse — vi gemmer kun hashen.
  • Hver nøgle har scopes (audits:write, audits:read, usage:read, analytics:read m.fl.); det, der ikke er givet, nægtes som standard.
  • Rate limit: 60 anmodninger/minut pr. nøgle.

Opret en revision

curl -X POST https://www.vozparatexto.com.br/api/v1/audits \
  -H "Authorization: Bearer vpt_live_SUA_CHAVE_DA_ORG" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://pbx.suaempresa.com/gravacoes/8841.mp3",
    "webhook_url": "https://api.suaempresa.com/hooks/auditorias",
    "idempotency_key": "chamada-8841",
    "agent_external_id": "maria.souza",
    "team": "vendas-sp"
  }'

Regler:

  • Accepterer audio_url (kun https, offentligt) eller upload_id (se nedenfor).
  • webhook_url er obligatorisk — resultatet leveres via webhook, ikke via polling.
  • idempotency_key gemmes varigt: genindsendelser med samme nøgle opretter ikke en duplikeret revision.
  • Øjeblikkeligt svar: 202 { "audit_id": "...", "status": "queued" }.

Forespørgsler: GET /api/v1/audits (liste) og GET /api/v1/audits/{id} (detalje).

Optagelser uden offentlig URL

For PABX, der ikke eksponerer en URL, kan du bede om en midlertidig upload-URL:

curl -X POST https://www.vozparatexto.com.br/api/v1/uploads \
  -H "Authorization: Bearer vpt_live_SUA_CHAVE_DA_ORG"

Svaret indeholder en put_url, der er gyldig i 1 time: upload filen med en PUT, og brug det returnerede upload_id, når du opretter revisionen.

Registrering af drift og målinger

EndpointFunktion
GET/POST /api/v1/agentsAgenter (med eksternt ID fra dit system)
GET/POST /api/v1/teamsTeams
GET/POST /api/v1/scripts + POST /api/v1/scripts/{id}/versionsScripts og versioner
GET /api/v1/usageForbrug for perioden
GET /api/v1/analytics/summaryAnalytisk oversigt over driften
GET /api/v1/analytics/agents/{external_id}Målinger pr. agent

Webhooks og garantier

  • Leverancer signeret med HMAC-SHA256 (X-VPT-Signature + X-VPT-Event); valider, før du behandler.
  • Timeout på 15 sek. pr. forsøg, op til 6 forsøg med backoff fra 5 min. til 24 timer.
  • Fastlåste jobs forsvinder ikke: en kø, der står stille i >10 min., genindsættes i køen; behandling, der hænger i >60 min., bliver til en fejl med fejl-webhook. Enhver sendt lyd genererer et endeligt callback.

Mere i Webhooks og notifikationer.

FAQ

Kan jeg bruge min personlige API-nøgle her?

Nej — revisions-API'en bruger organisationsnøgler, oprettet af OWNER/ADMIN i revisionspanelet, med egne scopes.

Jeg sendte samme opkald to gange. Duplikeres det?

Nej, hvis du brugte den samme idempotency_key — idempotensen er varig i databasen.

put_url udløb, før uploaden var færdig. Hvad gør jeg?

Anmod om en ny put_url (gyldig i 1 time), og send igen; intet er oprettet endnu.

Hvordan begrænser jeg, hvad hver integration kan gøre?

Opret separate nøgler pr. system, hver kun med de nødvendige scopes (fx det interne dashboard kun med analytics:read), og tilbagekald dem individuelt, når det er nødvendigt.

Relaterede artikler

Løste det ikke dit problem? Åbn en billet — vores team svarer hurtigt.