Hesap & Lookup Uçları
Zapier’de veya Make’te bir “Ara” (Start Call) aksiyonu kurarken karşına çıkan o asistan seç ve arayan numara seç açılır menüleri boşuna gelmez — arka planda bu üç uç doldurur onları. Üçü de salt-okunur, hiçbir şey değiştirmez, tek bir API anahtarıyla saniyeler içinde cevap verir. GET /me bağlantının canlı olduğunu kanıtlar; GET /assistants ve GET /phone-numbers ise otomasyon platformunun dropdown’larını senin gerçek asistan ve numaralarınla besler.
Bu üç uç, bir otomasyon aracının Purvisor hesabına ilk “el sıkışmasıdır” — telefon rehberini paylaşmak gibi: karşı taraf kiminle konuşacağını (asistan) ve hangi hattan arayacağını (numara) buradan öğrenir.
Genel bakış
| Uç | Ne döner? | Nerede kullanılır? |
|---|---|---|
GET /me | Hesap kimliğin {id, email, name} | Bağlantı testi (Zapier/Make “Test Connection”) |
GET /assistants | Aktif asistanların dizisi | ”Ara” aksiyonunda asistan dropdown’u |
GET /phone-numbers | Aktif numaraların dizisi | ”Ara” aksiyonunda arayan-numara (caller ID) dropdown’u |
Üç uç da /api/v1 altındadır ve API anahtarı ile doğrulanır (NextAuth oturumu gerekmez). Anahtarını nasıl oluşturacağını Kimlik Doğrulama sayfasında bulursun. Temel URL (üretim): https://app.purvisor.ai/api/v1.
GET /me — Bağlantı testi
API anahtarının geçerli olup olmadığını kanıtlayan en basit uç. Zapier ve Make, bir bağlantı kurarken “bu anahtar çalışıyor mu?” sorusunu tam olarak buraya sorar. Anahtar geçerliyse hesabının kimliğini döner; değilse HTTP 401 verir.
curl https://app.purvisor.ai/api/v1/me \
-H "X-API-Key: pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Başarılı yanıt (HTTP 200):
{
"id": "1042",
"email": "you@company.com",
"name": "Ada Lovelace"
}Geçersiz veya eksik anahtar (HTTP 401):
{ "error": "invalid_api_key" }Zapier/Make bağlantı ekranında “Test URL” istendiğinde tam olarak bu ucu (
/api/v1/me) kullan — dönen
id alanı bir metin (string) olarak döner, sayı değil. Purvisor içeride BigInt kimlikleri metne çevirir; JSON’da tırnak içinde gelmesi bu yüzdendir.
GET /assistants — Asistan listesi
“Ara” aksiyonunda kullanıcının isimle seçtiği, arka planda ise id’si gönderilen asistanları doldurur. Yalnızca sana ait ve aktif (active=true) asistanları döner; taslak veya pasif olanlar listede görünmez. Sıralama en yeniden eskiye (createdAt azalan).
curl https://app.purvisor.ai/api/v1/assistants \
-H "X-API-Key: pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Yanıt — çıplak bir JSON dizisi (HTTP 200):
[
{
"id": "asst_9f3a2b",
"name": "Satış Ön Nitelendirme",
"direction": "outbound",
"model": "gemini-2.5-flash"
},
{
"id": "asst_7c1d84",
"name": "Gelen Çağrı Karşılama",
"direction": "inbound",
"model": "claude-haiku"
}
]| Alan | Açıklama |
|---|---|
id | Asistanın kimliği (metin). “Ara” aksiyonunda bu değer assistant_id olarak gönderilir. |
name | Panelde verdiğin asistan adı — dropdown’da görünen etiket. |
direction | Çağrı yönü: outbound (giden) veya inbound (gelen). Değer boşsa outbound varsayılır. |
model | Asistanın kullandığı yapay zeka modeli (örn. gemini-2.5-flash). |
Asistanın dropdown’da çıkmıyorsa büyük olasılıkla pasif durumda — panelden aktifleştir, liste anında güncellensin.
GET /phone-numbers — Numara listesi
“Ara” aksiyonunda arayan numara (caller ID) seçimini doldurur. Yalnızca sana ait (created_by) ve aktif (is_active=true) numaraları döner, id’ye göre artan sırada.
curl https://app.purvisor.ai/api/v1/phone-numbers \
-H "X-API-Key: pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Yanıt — çıplak bir JSON dizisi (HTTP 200):
[
{
"id": "12",
"number": "+902123456789",
"provider": "sip"
},
{
"id": "15",
"number": "+902129998877",
"provider": "twilio"
}
]| Alan | Açıklama |
|---|---|
id | Numaranın kimliği (metin). “Ara” aksiyonunda phone_number_id olarak gönderilir. |
number | E.164 formatında telefon numarası — dropdown etiketi. |
provider | Numaranın sağlayıcısı. Değer boşsa sip varsayılır. |
Liste boş dönüyorsa henüz bağlı bir aktif SIP numaran yok demektir. Numara bağlamadan otomatik arama başlatılamaz. Kurulum için: Telefon Numarası (SIP).
Bu uçlar dropdown’ları nasıl besler?
Zapier/Make "Ara" aksiyonunu açar
↓
Platform GET /me çağırır → bağlantı geçerli mi? (401 ise bağlantıyı reddeder)
↓
GET /assistants çağırır → "Asistan" dropdown'unu doldurur (name göster, id sakla)
GET /phone-numbers çağırır → "Arayan Numara" dropdown'unu doldurur
↓
Kullanıcı asistan + numara seçer → id'ler POST /api/v1/calls gövdesine yazılırYani sen Zapier’de bir isim seçerken, arka planda seçilen asistanın id’si “Ara” aksiyonuna gider. Numara seçmezsen “Ara” aksiyonu senin ilk aktif numaranı otomatik kullanır — dropdown yine de kontrolü sende bırakır.
Sorun giderme
| Belirti | Olası neden / çözüm |
|---|---|
Bağlantı testi (/me) 401 dönüyor | Anahtar yanlış, süresi dolmuş ya da yeniden oluşturulmuş (eski anahtar anında geçersiz olur). Ayarlar → API Anahtarı’ndan güncel anahtarı al. |
| Asistan dropdown’u boş | Aktif asistanın yok; hepsi pasif/taslak. Panelden en az bir asistanı aktifleştir. |
| Beklediğin asistan listede yok | O asistan pasif (active=false) veya başka bir hesaba ait — yalnızca senin aktif asistanların döner. |
| Numara dropdown’u boş | Aktif SIP numaran yok. Telefon Numarası (SIP) ile bağla. |
id neden tırnak içinde? | Kimlikler metin (string) olarak döner — bu beklenen davranıştır, aksiyonlara olduğu gibi geçir. |
KVKK notu: Bu üç uç yalnızca senin kendi hesabının yapılandırma verisini (asistan adları, kendi numaraların, kendi e-postan) döner; üçüncü kişilere ait kişisel veri içermez. Yine de API anahtarını bir sır gibi sakla — anahtar, hesabının otomatik arama başlatma yetkisine erişimdir.