Ana içeriğe atla
Bu rehberde, WhatTalk.ai API’sini kullanarak müşteri listenizi bir kampanyaya nasıl ekleyeceğinizi ve otomatik aramaları nasıl başlatacağınızı adım adım öğreneceksiniz.

Genel Bakış

Tüm işlem 3 adımdan oluşur:
1

Kampanya oluşturun (veya mevcut kampanyayı kullanın)

Panelden veya API ile bir kampanya oluşturun.
2

Müşterileri API ile kampanyaya ekleyin

Her müşteri için bir API isteği gönderin.
3

Kampanyayı başlatın

Kampanya durumunu “start” yapın — sistem otomatik aramaya başlar.
Kampanyanız zaten “Devam ediyor” (in-progress) durumdaysa, 3. adıma gerek yoktur. Eklenen müşteriler otomatik olarak arama sırasına girer.

Ön Gereksinimler

Başlamadan önce aşağıdakilerin hazır olduğundan emin olun:
  • API Anahtarı — Panelden Ayarlar > API Anahtarları bölümünden oluşturabilirsiniz
  • Kampanya ID — Panelden kampanyanızı açtığınızda, tarayıcı adres çubuğundaki linkten bulabilirsiniz. Örnek: app.whattalk.ai/campaigns/1050 → Kampanya ID’niz 1050’dir. Alternatif olarak API ile yeni kampanya da oluşturabilirsiniz.
  • AI Asistan — Kampanyaya atanmış, giden arama için yapılandırılmış bir asistan
  • Telefon Numarası — Kampanyaya atanmış bir telefon numarası

Kimlik Doğrulama

Tüm API isteklerinde Authorization başlığında Bearer token kullanılır:
Authorization: Bearer YOUR_API_KEY
Base URL: https://app.whattalk.ai/api

Adım 1: Kampanya Oluşturma (İsteğe Bağlı)

Zaten bir kampanyanız varsa bu adımı atlayıp doğrudan Adım 2’ye geçebilirsiniz.
curl -X POST "https://app.whattalk.ai/api/user/campaign" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Müşteri Memnuniyet Araması",
    "assistant_id": 12,
    "timezone": "Europe/Istanbul",
    "allowed_hours_start_time": "09:00",
    "allowed_hours_end_time": "18:00",
    "allowed_days": ["monday","tuesday","wednesday","thursday","friday"],
    "max_retries": 3,
    "retry_interval": 60,
    "max_calls_in_parallel": 3
  }'
ParametreAçıklamaVarsayılan
nameKampanya adıZorunlu
assistant_idAI asistanın ID’siZorunlu
timezoneSaat dilimi (ör. Europe/Istanbul)Opsiyonel
allowed_hours_start_timeArama başlangıç saati00:00
allowed_hours_end_timeArama bitiş saati23:59
allowed_daysArama yapılacak günlerTüm günler
max_retriesCevapsız aramalarda tekrar deneme sayısı (1-5)3
retry_intervalTekrar denemeler arası süre (dakika, 10-4320)60
max_calls_in_parallelAynı anda yapılacak arama sayısı (1-10)3
retry_on_voicemailSesli mesaja düşerse tekrar denefalse
Dönen yanıtta campaign_id değerini not edin — bir sonraki adımda kullanacaksınız.
{
  "data": {
    "id": 1050,
    "name": "Müşteri Memnuniyet Araması",
    "status": "draft"
  }
}
Yeni oluşturulan kampanyalar “draft” durumunda başlar. Aramaların başlaması için kampanyayı ayrıca başlatmanız gerekir (Adım 3).

Adım 2: Müşterileri Kampanyaya Ekleme

Her müşteri için ayrı bir API isteği gönderin. Telefon numarası E.164 formatında olmalıdır (ör. +905551234567).

Tek Müşteri Ekleme

curl -X POST "https://app.whattalk.ai/api/user/lead" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "+905551234567",
    "campaign_id": 1050,
    "variables": {
      "customer_name": "Ayşe",
      "company": "ABC Teknoloji"
    }
  }'

Başarılı Yanıt

{
  "message": "Lead created successfully",
  "data": {
    "id": 5001,
    "campaign_id": 1050,
    "phone_number": "+905551234567",
    "variables": {
      "customer_name": "Ayşe",
      "company": "ABC Teknoloji"
    },
    "status": "created"
  }
}

Toplu Müşteri Ekleme (100 adet)

Toplu ekleme endpoint’i bulunmadığından, her müşteri için ayrı istek gönderilir. Aşağıda farklı dillerde örnek döngüler:
import requests

API_KEY = "YOUR_API_KEY"
CAMPAIGN_ID = 1050
BASE_URL = "https://app.whattalk.ai/api"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

leads = [
    {"phone": "+905551234567", "name": "Ayşe", "company": "ABC Teknoloji"},
    {"phone": "+905559876543", "name": "Mehmet", "company": "XYZ Ltd"},
    # ... diğer müşteriler
]

for lead in leads:
    response = requests.post(f"{BASE_URL}/user/lead", headers=headers, json={
        "phone_number": lead["phone"],
        "campaign_id": CAMPAIGN_ID,
        "variables": {
            "customer_name": lead["name"],
            "company": lead["company"]
        }
    })
    result = response.json()
    print(f"{lead['name']}: {result['message']}")
variables içindeki alan adları, asistanınızın Prompt ve Araçlar ayarlarındaki değişken adlarıyla aynı olmalıdır. Örneğin asistanda {customer_name} kullanıyorsanız, API’de de "customer_name" göndermelisiniz.

Adım 3: Kampanyayı Başlatma

Müşterileri ekledikten sonra kampanyayı başlatın:

Kampanyayı Başlat

curl -X POST "https://app.whattalk.ai/api/user/campaigns/update-status" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_id": 1050,
    "action": "start"
  }'
{
  "message": "Campaign started successfully.",
  "success": true,
  "data": {
    "campaign_id": 1050,
    "status": "in-progress"
  }
}

Kampanyayı Durdur

Aramaları durdurmak isterseniz:
curl -X POST "https://app.whattalk.ai/api/user/campaigns/update-status" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_id": 1050,
    "action": "stop"
  }'

Kampanya Durumları

DurumAçıklama
draftOluşturuldu, henüz başlatılmadı
in-progressAktif — aramalar yapılıyor
stoppedManuel olarak durduruldu
completedTüm müşteriler arandı, kampanya tamamlandı

Müşteri Durumları

Kampanya çalışırken her müşterinin durumu otomatik güncellenir:
DurumAçıklama
createdOluşturuldu, aranmayı bekliyor
scheduledSıraya alındı
processingŞu anda aranıyor
completedBaşarıyla ulaşıldı
rescheduledTekrar arama planlandı
reached-max-retriesMaksimum deneme sayısına ulaşıldı

Sık Sorulan Sorular

Evet. Kampanya “in-progress” durumdayken eklenen yeni müşteriler otomatik olarak arama sırasına girer. Kampanyayı tekrar başlatmanıza gerek yoktur.
Şu anda toplu ekleme endpoint’i bulunmamaktadır. Her müşteri için ayrı bir POST /user/lead isteği göndermeniz gerekir. Yukarıdaki kod örneklerindeki döngülerle bu işlem kolayca otomatikleştirilebilir.
E.164 formatı zorunludur. Başında + işareti ve ülke kodu olmalıdır. Örnek: +905551234567 (Türkiye), +14155551234 (ABD).
Hayır. API ile doğrudan müşteri ekleme ve kampanya yönetimi yapabilirsiniz. Otomasyon platformu yalnızca CRM entegrasyonu, arama sonrası işlemler gibi ek senaryolar için gereklidir.
Varsayılan olarak mükerrer numaralar engellenir. Mükerrer eklemeye izin vermek için "allow_dupplicate": true parametresini kullanabilirsiniz.