Studio API
Vad är Studio API?
Tänk på Studio API som en datapipeline som skickar rå samtalsdata från Telavox så att kunderna kan ansluta den till sina egna system – som sina egna dashboards, BI - verktyg (Power BI, Tableau), CRM-system eller anpassade rapporter.
Det är inte ett verktyg med ett användargränssnitt. Det är ett sätt för kunder som vill ha sin egen statistik att få råa siffror och bygga vad de vill med dem.
Studio API – Live
Skickar samtalsdata till ditt system i samma ögonblick som något händer – ett samtal startar, hamnar i en kö, besvaras eller avslutas. Detta gör det till en bra lösning för live-wallboards, dashboards i realtid och allt där du vill se vad som händer just nu. Så här fungerar det: Studio API – Live använder en teknik som kallas WebSockets, som upprätthåller en öppen anslutning mellan Telavox och ditt system så att ny data kan skickas direkt.
Studio API – Historiskt
Låter dig hämta samtalsdata för en specifik tidsperiod när du behöver det – till exempel "alla samtal från 1 till 10 oktober". Det här alternativet är bäst för rapporter, trendanalyser och att titta tillbaka på vad som redan har hänt. Så här fungerar det: Studio API – Historic använder en teknik som heter GraphQL, som låter dig be om exakt den information du behöver – varken mer eller mindre.
Krav
För att spåra/ta emot data om användare
- Användaren måste ha funktionen "Statistik över spårad användare".
Åtkomst och synlighet
Statistik Spårad användare (användarnivå)
- Användaren kommer att spåras i rapporten.
- Ingen åtkomst till statistikgränssnittet via webb och skrivbordsappen.
Vi presenterar Telavox Studio API. Upptäck mer genom att klicka på flikarna nedan: Studio API - Live och Studio API - Historiskt.
Del 1: Begrepp
1. Begrepp
1.1 Datakällor
Stats Studio exponerar två kompletterande datalager, med fem datakällor mellan dem. Live-lagret strömmar händelser över WebSockets i samma ögonblick som de inträffar. Det historiska lagret låter dig fråga ett datumintervall över GraphQL när du vill.
1.2 Perspektiv
Samma samtal kan berättas från flera vinklar. Stats Studio organiserar fem datakällor kring tre perspektiv på ett samtal, plus två vyer av agentens tillstånd. Välj det perspektiv som matchar den fråga du försöker besvara.
Exempel. Ett inkommande samtal går in i talsvaret, hamnar i den första kön, erbjuds till agent 1 (inget svar), sedan till agent 2 (inget svar), hoppar till en andra kö och erbjuds slutligen till agent 3, som svarar. Hur många poster producerar det enda samtalet?
Två ytterligare datakällor följer inte denna gruppering per samtal:
Profil Live : utlöser en händelse per agent varje gång deras närvaro ändras (Tillgänglig, Lunch, I ett samtal...).
Profilhistorik : en post per agentprofilplats, sammanfattas en gång i timmen.
1.3 Autentisering
Båda lagren använder samma statistiktoken.
Logga in på Telavox webbagent.
Öppna Inställningar → Mitt konto → Användarnamn och lösenord.
Under Integration klickar du på Hantera token.
Klicka på Skapa ny statistiktoken och kopiera värdet.
Hur tokenet är kopplat skiljer sig åt beroende på lager:
Live : skicka en Authorization: Bearer <token> -header under WebSocket-handskakningen. En lyckad uppgradering returnerar HTTP 101 Switching Protocols . Se del 2.
Historiskt : skicka en Authorization: Bearer <token> -header på varje HTTP POST. Se del 3.
1.4 Konvention för fältnamn
Samma koncept förekommer i båda lagren under olika höljen:
1.5 Identifierare — id kontra konto-ID
Varje agent, kö och IVR har två numeriska ID:n. Använd rätt ID för jobbet:
id. Internt i Stats Studio. Använd det när du bara arbetar i Stats Studio.
konto-ID. Samma ID som Telavox exponerar i CAPI (kund-API) och PAPI (partner-API). Använd det när du behöver matcha en Stats Studio-post med samma agent, kö eller IVR i ett annat Telavox-system eller i din egen databas.
Live-WebSocket-strömmen inkluderar alltid account_id i nyttolasten. De historiska GraphQL-filtren accepterar agentAccountId , queueAccountId och ivrAccountId som indata.
1.6 När ska vilket lager användas
Behöver du det nu? Använd den aktuella WebSocket-funktionen för den relevanta datakällan.
Behöver du det för ett datumintervall (igår, förra veckan, förra kvartalet)? Använd GraphQL-frågan från samma datakälla.
Bygger du en väggplatta? Öppna WebSocket för deltauppdateringar och seed det initiala tillståndet med en GraphQL-fråga.
Skapa en daglig rapport? Endast GraphQL.
Titta på agenternas närvaro i realtid? /profile_live .
Rapportering om agentproduktivitet per timme? profile_history (historisk) eller /profile_history (live, timvis).
RaderaDel 2: Studio API - Live (WebSocket)
2. Live (WebSocket)
Live-lagret skickar händelser allt eftersom de inträffar, en WebSocket per datakälla. Varje slutpunkt accepterar samma statistiktoken (se § 1.3) som en handskakningsrubrik.
2.0 Anslutning
Node.js
Pytonorm
2.1 Samtalsöversikt
Ett dokument per samtalsresa: hela samtalets resa genom överföringar, köer, agenter och IVR:er.
Exempel på nyttolast
Fältreferens
2.2 Kööversikt
Ett dokument per (samtal, kö)par. Ett samtal som går igenom tre köer genererar tre poster; samtal som aldrig går in i en kö genererar inga.
Fältreferens
2.3 Översikt över agenter
Ett dokument per (samtal, agent) erbjudande. En agent som ringer men inte svarar producerar ändå en inspelning; samtal som aldrig når en agent avger ingenting.
Exempel på nyttolast
Fältreferens
Fältnamn använder snake_case.
2.4 Profil Live
Streamar den aktuella profilen för varje agent (Tillgänglig, Lunch, Möte…), kö-inloggningsstatus och indikatorer för aktiva samtal. Endast live — ingen historisk motsvarighet.
Exempel på nyttolast
Fältreferens
2.5 Profilhistorik
Tidslinje för profilplats per agent. Varje post täcker en sammanhängande period för en agent i en given profil, plus en sammanfattning av de samtal de hanterade inom den platsen.
Fältreferens
Del 3: Studio API - Historisk (GraphQL)
3. Historisk (GraphQL)
Det historiska lagret är en enda GraphQL-slutpunkt som exponerar en rotfråga per perspektiv (samtal, agenter, köer, profilhistorik). Använd det för alla frågor som behöver ett datumintervall – igår, förra veckan, förra kvartalet.
Slutpunkt: https://statistics-api.telavox.se/graphql
Metod: HTTP POST
Hölje: camelCase (spegel av snake_case-livsfälten).
3.0 Anslutning
Node.js
Pytonorm
3.1 Filtrering och paginering
Alla fyra rotfrågor accepterar samma omslagsform:
Använd markören från ett svar som efterargument för nästa begäran för att paginera.
ÖversiktFilterfält
3.2 Samtalsöversikt
Ett dokument per samtalsresa: hela samtalets resa genom överföringar, köer, agenter och IVR:er.
Exempelfråga
Kör det från Node.js
Kör det från Python
Fältreferens
Fältnamn använder camelCase. Källa: GraphQL-schemaintrospektion av CallOverviewRecord.
3.3 Kööversikt
Ett dokument per (samtal, kö)par. Ett samtal som går igenom tre köer genererar tre poster; samtal som aldrig går in i en kö genererar inga.
Exempelfråga
Kör det från Node.js
Kör det från Python
Fältreferens
Fältnamn använder camelCase. Källa: GraphQL-schemaintrospektion av QueueOverviewRecord.
3.4 Översikt över agenter
Ett dokument per (samtal, agent) erbjudande. En agent som ringer men inte svarar producerar ändå en inspelning; samtal som aldrig når en agent avger ingenting.
Exempelfråga
Kör det från Node.js
Kör det från Python
Fältreferens
Fältnamn använder camelCase. Källa: GraphQL-schemaintrospektion av AgentOverviewRecord.
3.5 Profilhistorik
Tidslinje för profilplats per agent. Varje post täcker en sammanhängande period för en agent i en given profil, plus en sammanfattning av de samtal de hanterade inom den platsen.