Otomasyon Aksiyonları
Bir CRM’i Purvisor’a bağlarken lead açmak yetmez: kişiyi güncellemek, bir kampanyaya ya da takip kadansına sokmak, “aramayın” diyeni işaretlemek ve görüşme sonucunu geri okumak gerekir. Bu sayfa o uçları toplar.
Hepsi API anahtarıyla çalışır ve yalnızca senin hesabının verisine dokunur: gönderdiğin her kimlik (assistant_id, campaign_id, cadence_id, contact_id) hesabına ait değilse 404 alırsın.
Kişiyi güncelle — PATCH /contacts/{id}
CRM’den Purvisor’a geri senkron için. Yalnızca gönderdiğin alanlar değişir.
| Alan | Açıklama |
|---|---|
first_name, last_name, email, company, title, notes | Serbest metin. null göndermek alanı temizler (first_name hariç — o boşaltılamaz). |
stage | Pipeline aşaması: new, contacted, evaluating, committed, closed, lost. |
status | Kişi durumu: pending, scheduled, interested, rejected, unreachable, converted. |
Telefon numarası bu uçtan değiştirilemez. Mükerrer önleme, DNC eşleşmesi ve arama geçmişi numaraya bağlıdır; buradan değiştirmek sessizce ikinci bir kişi kaydı üretirdi.
lead_score ve heat de yazılamaz — ikisi de her arama analizinde yeniden hesaplanan türetilmiş alanlardır; yazsaydın bir sonraki aramada sessizce geri alınırdı.
Tek kişi okumak için GET /contacts/{id}.
Kampanyaya kişi ekle — POST /campaigns/{id}/contacts
Gövdede contact_id veya phone gönder. Telefon gönderirsen kişi yoksa oluşturulur — Zap tek adımda kurulabilir.
{ "phone": "+905321234567", "first_name": "Ahmet" }Kişi kampanyada zaten varsa yeni kayıt açılmaz; yanıt existing: true döner. Aramayı kampanya zamanlayıcısı yapar, bu uç arama başlatmaz.
Kampanya listesi (dinamik dropdown için): GET /campaigns.
Kadansa kaydet — POST /cadences/{id}/enrollments
Çok adımlı takip için. Yine contact_id veya phone kabul eder.
| Durum | Yanıt |
|---|---|
| Kadans pasif ya da adımsız | 409 — sessizce hiçbir şey yapmak yerine açık hata |
| Kişi bu kadansta zaten aktif | 200 + existing: true (her adımı iki kez almasın) |
| Kişi aranmayacaklar listesinde | 409 contact_dnc |
Son satır bilinçli bir KVKK kararıdır: kadansın arama adımları zaten DNC kontrolünden geçer, ama SMS/WhatsApp/e-posta adımları geçmez. “Aramayın” demiş kişiyi kadansa hiç almayarak kapıyı kayıt anında kapatıyoruz.
Kadans listesi: GET /cadences (yalnızca aktif ve şablon olmayanlar).
Aranmasın olarak işaretle — POST /dnc
Web formunda “aramak istemiyorum” işaretlendiğinde çağır. phone veya contact_id yeter.
{ "phone": "+905321234567", "reason": "Web formu opt-out" }Numara son 10 hanesiyle eşleştirilir; kayıt +90..., 0... ya da 90... biçiminde olsa da bulunur. İşaretlenen her kişi için kalıcı bir aktivite kaydı düşer.
Eşleşen kişi yoksa hata değil marked: 0 döner — opt-out talebi kabul edilmiştir, Zap akışın kırılmaz.
Bu uç yalnızca senin kişilerini işaretler. Telefonda “beni aramayın” diyen kişi içinse asistanın kendi kanalı devreye girer ve numara tüm hesaplarda işaretlenir.
Çağrıları oku — GET /calls ve GET /calls/{id}
Instant trigger kaçarsa telafi, ya da POST /calls dönüşündeki call_id ile sonucu sorgulamak için.
Filtreler: status, direction, assistant_id, campaign_id, phone, since (ISO-8601), page, limit (varsayılan 25, üst sınır 100).
{
"calls": [
{
"id": "9f3c2a1e-...",
"status": "completed",
"direction": "outbound",
"phone": "+905321234567",
"duration_seconds": 184,
"assistant_name": "Satış Asistanı",
"summary": "Ahmet Bey ürünle ilgilendi, fiyat bilgisi istedi.",
"sentiment": "positive",
"outcome": "interested",
"has_recording": true,
"started_at": "2026-07-08T10:00:00.000Z",
"ended_at": "2026-07-08T10:03:04.000Z"
}
],
"pagination": { "page": 1, "limit": 25, "total": 1, "total_pages": 1 }
}Transkript varsayılan olarak dönmez. Görüşme metnini almak için ?include=transcript ekle — bilinçli bir tercih olsun diye böyle tasarlandı. Transkript [{ role, text }] biçiminde döner.
Ses kaydı bu uçlardan paylaşılmaz; yalnızca has_recording bilgisi verilir. Kayıt bağlantısı imzalı ve kısa ömürlüdür, bir API yanıtına konulsaydı kimlik doğrulaması olmadan erişilebilir hale gelirdi. Kayıtları panelden dinleyin.
summary, sentiment ve outcome Pro ve üzeri planlarda doldurulur — ücretsiz planda görüşme transkripti tutulur ama AI analizi yapılmaz, bu alanlar null gelir. Bu bir hata değildir.
KVKK sorumluluğu
Bu uçlar telefon numarası, ad-soyad ve (istenirse) görüşme metni taşır. Veriyi aktardığın sistemde saklama süresi, erişim sınırlaması ve silme hakkı senin sorumluluğundadır. Ayrıntı: KVKK ve Veri Yönetimi.