Query Transkrip VoicePing dari Backend Anda
API Access ditujukan untuk workflow server-ke-server — ekspor terjadwal, sinkronisasi CRM, dashboard, arsip kepatuhan. Anda membuat API key di workspace, memberikannya serangkaian scope, dan backend Anda memanggil VoicePing API dengan bearer token standar.
Jika seseorang bertanya melalui klien AI, gunakan MCP Access sebagai gantinya.
If a person is asking questions, use MCP Access.
If a server is fetching data, use API Access.
Kapan menggunakan API Access
Use case Contoh Ekspor terjadwal Ekspor transkrip minggu ini setiap Jumat Pelaporan internal Buat laporan ringkasan rapat mingguan Workflow CRM atau PM Kirim ringkasan transkrip ke Salesforce atau Asana Arsip kepatuhan Simpan catatan rapat di penyimpanan yang disetujui Dashboard Masukkan metadata transkrip ke sistem analitik
Buat API key
Buka workspace settings → External Access → API Access .
Aktifkan API Access Mode jika belum aktif.
Klik Create API key .
Pilih nama, alamat IP yang diizinkan (disarankan), scope yang dibutuhkan key, dan masa berlaku.
Salin key yang dihasilkan segera dan simpan di secret manager Anda. Key lengkap hanya ditampilkan sekali.
After the key is created, VoicePing shows the raw key only once. Copy it before dismissing the success panel.
Jangan pernah commit API key. Simpan di environment variable atau secret manager. Untuk keamanan tambahan, kunci setiap key ke alamat IP yang diizinkan tertentu di modal pembuatan key — request dari IP lain akan ditolak meskipun key bocor.
Autentikasi request
Setiap request diautentikasi dengan bearer token ke https://api.voiceping.io:
GET /api/v1/transcripts/search?q=pricing&limit=10 HTTP / 1.1
Host : api.voiceping.io
Authorization : Bearer <VOICEPING_API_KEY>
Set key sekali sebagai environment variable VOICEPING_API_KEY, dan contoh di bawah akan mengambilnya secara otomatis.
Quickstart — panggil API dalam bahasa Anda
Alur dua langkah yang sama — cari transkrip, lalu ambil satu — dalam empat bahasa. TypeScript ditampilkan pertama; pindah tab sesuai stack Anda.
// Requires Node.js 18+ (for built-in fetch)
const apiKey = process . env . VOICEPING_API_KEY ! ;
const base = "https://api.voiceping.io/api/v1" ;
const headers = { Authorization: `Bearer ${ apiKey } ` };
// 1. Search transcripts
const searchRes = await fetch (
` ${ base } /transcripts/search?q=pricing&limit=10` ,
{ headers },
);
const { transcripts } = await searchRes . json ();
// 2. Read the first result in full
const detailRes = await fetch (
` ${ base } /transcripts/ ${ transcripts [ 0 ]. id } ` ,
{ headers },
);
const transcript = await detailRes . json ();
console . log ( transcript . title , transcript . content );
# pip install requests
import os
import requests
api_key = os.environ[ "VOICEPING_API_KEY" ]
base = "https://api.voiceping.io/api/v1"
headers = { "Authorization" : f "Bearer { api_key } " }
# 1. Search transcripts
search = requests.get(
f " { base } /transcripts/search" ,
headers = headers,
params = { "q" : "pricing" , "limit" : 10 },
).json()
# 2. Read the first result in full
first_id = search[ "transcripts" ][ 0 ][ "id" ]
detail = requests.get(
f " { base } /transcripts/ { first_id } " ,
headers = headers,
).json()
print (detail[ "title" ], detail[ "content" ])
// Java 11+ (uses built-in java.net.http)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class VoicePingQuickstart {
public static void main ( String [] args ) throws Exception {
String apiKey = System . getenv ( "VOICEPING_API_KEY" );
String base = "https://api.voiceping.io/api/v1" ;
HttpClient client = HttpClient . newHttpClient ();
// 1. Search transcripts
HttpRequest search = HttpRequest . newBuilder ()
. uri ( URI . create (base + "/transcripts/search?q=pricing&limit=10" ))
. header ( "Authorization" , "Bearer " + apiKey)
. GET ()
. build ();
HttpResponse < String > searchRes =
client . send (search, HttpResponse . BodyHandlers . ofString ());
System . out . println ( searchRes . body ());
// 2. Read a transcript (parse the id from searchRes.body() first;
// shown here with a placeholder)
HttpRequest detail = HttpRequest . newBuilder ()
. uri ( URI . create (base + "/transcripts/TRANSCRIPT_ID" ))
. header ( "Authorization" , "Bearer " + apiKey)
. GET ()
. build ();
HttpResponse < String > detailRes =
client . send (detail, HttpResponse . BodyHandlers . ofString ());
System . out . println ( detailRes . body ());
}
}
// go run main.go
package main
import (
" fmt "
" io "
" net/http "
" os "
)
func main () {
apiKey := os . Getenv ( "VOICEPING_API_KEY" )
base := "https://api.voiceping.io/api/v1"
// 1. Search transcripts
req , _ := http . NewRequest ( "GET" ,
base + "/transcripts/search?q=pricing&limit=10" , nil )
req . Header . Set ( "Authorization" , "Bearer " + apiKey )
res , err := http . DefaultClient . Do ( req )
if err != nil {
panic ( err )
}
defer res . Body . Close ()
body , _ := io . ReadAll ( res . Body )
fmt . Println ( string ( body ))
// 2. Read a transcript by id (parse id from body first)
detailReq , _ := http . NewRequest ( "GET" ,
base + "/transcripts/TRANSCRIPT_ID" , nil )
detailReq . Header . Set ( "Authorization" , "Bearer " + apiKey )
detailRes , _ := http . DefaultClient . Do ( detailReq )
defer detailRes . Body . Close ()
detailBody , _ := io . ReadAll ( detailRes . Body )
fmt . Println ( string ( detailBody ))
}
Langkah selanjutnya
Ikhtisar External Access Kembali ke scope, kontrol lifecycle, dan event log yang berlaku untuk MCP dan API.
MCP Access untuk klien AI Jika seseorang bertanya melalui Claude, ChatGPT, Codex, Claude Code, atau Gemini CLI, gunakan MCP Access.