Kampanya Oluştur

Yeni bir toplu arama kampanyası oluşturun ve maksimum 10,000 kişiye ulaşın

Endpoint

POST/api/v1/campaigns

Yeni bir toplu arama kampanyası oluşturur. Kişi listesini JSON array olarak gönderin.

Request Body

namezorunlu

Kampanya adı (1-255 karakter)

phoneNumberIdzorunlu

Kullanılacak telefon numarasının ID'si

assistantIdzorunlu

Aramaları gerçekleştirecek asistanın ID'si (yayınlanmış olmalı)

contactszorunlu

Aranacak kişilerin listesi (minimum 1, maksimum 10,000)

phoneNumber - E.164 formatında telefon (+905551234567)

name - Kişi adı (opsiyonel)

customData - Özel veri (opsiyonel, JSON object)

greetingMessageopsiyonel

Asistanın karşılama mesajını özelleştirin

specialInstructionsopsiyonel

Asistana özel talimatlar ekleyin

metadataopsiyonel

Kampanyaya eklemek istediğiniz ek meta veriler

Örnek İstek

cURL
curl -X POST "https://api.wespoke.ai/api/v1/campaigns" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Yaz Kampanyası 2025",
    "phoneNumberId": "phone_123abc",
    "assistantId": "asst_456def",
    "contacts": [
      {
        "phoneNumber": "+905551234567",
        "name": "Ahmet Yılmaz",
        "customData": {
          "segment": "premium",
          "lastPurchase": "2025-01-10"
        }
      },
      {
        "phoneNumber": "+905559876543",
        "name": "Ayşe Demir"
      }
    ],
    "greetingMessage": "Merhaba, size özel bir teklifimiz var!",
    "specialInstructions": "Eğer müşteri ilgiliyse, detayları email ile gönder.",
    "metadata": {
      "department": "sales",
      "region": "istanbul"
    }
  }'

Örnek Yanıt

201 Created
{
  "success": true,
  "data": {
    "campaign": {
      "id": "camp_abc123",
      "name": "Yaz Kampanyası 2025",
      "status": "PENDING",
      "phoneNumberId": "phone_123abc",
      "assistantId": "asst_456def",
      "userId": "user_xyz",
      "totalContacts": 2,
      "successfulCalls": 0,
      "failedCalls": 0,
      "pendingCalls": 2,
      "metadata": {
        "department": "sales",
        "region": "istanbul",
        "greetingMessage": "Merhaba, size özel bir teklifimiz var!",
        "specialInstructions": "Eğer müşteri ilgiliyse, detayları email ile gönder."
      },
      "createdAt": "2025-01-20T10:00:00Z",
      "updatedAt": "2025-01-20T10:00:00Z",
      "startedAt": null,
      "completedAt": null
    },
    "statistics": {
      "totalContacts": 2,
      "pendingContacts": 2,
      "successfulCalls": 0,
      "failedCalls": 0,
      "averageCallDuration": null
    }
  }
}

Hata Yanıtları

400 Bad Request

{
  "success": false,
  "error": {
    "message": "Phone number not found or not active",
    "code": "PHONE_NUMBER_NOT_FOUND"
  }
}

400 Bad Request - Asistan Yayınlanmamış

{
  "success": false,
  "error": {
    "message": "Assistant must be published before use",
    "code": "ASSISTANT_NOT_PUBLISHED"
  }
}

400 Bad Request - Validasyon Hatası

{
  "success": false,
  "error": {
    "message": "Validation error",
    "code": "VALIDATION_ERROR",
    "details": [
      {
        "path": ["contacts", 0, "phoneNumber"],
        "message": "Phone number must be in E.164 format (+followed by 10-15 digits)"
      }
    ]
  }
}

💡Önemli Notlar

  • Kampanya oluşturulduktan sonra PENDING durumunda başlar
  • Kampanyayı başlatmak için /start endpoint'ini kullanın
  • Telefon numaraları E.164 formatında olmalı (+905551234567)
  • Asistan yayınlanmış (published) durumda olmalı
  • Maksimum 10,000 kişi ekleyebilirsiniz
  • Geçersiz numaralar otomatik olarak filtrelenir