DM Champ Docs

Özetler API’si

API üzerinden iki tür yapay zeka tarafından yazılmış özet mevcuttur:

  • Sohbet özetleri — bir kişinin konuşmasının, talep üzerine oluşturulan kısa bir özeti. Sohbet içindeki özet denetimiyle aynı şeydir (bkz. Sohbet Özeti).

  • Günlük özetlerGünlük Özetler özelliğinin her sabah oluşturduğu, tüm konuşmalarınızı kapsayan günlük derleme: istatistikler, bölüm başına bir markdown bloğu ve yapay zekanın bundan oluşturduğu tüm görevler.

  • Temel URLhttps://api.dmchamp.com/v1

  • Kimlik Doğrulama — API anahtarınız (bkz. Kimlik Doğrulama). Kapsamlı bir anahtarın Summaries bölümüne ihtiyacı vardır.

  • Hatalar ve sayfalama — bkz. Hatalar ve Sayfalama

Aşağıdaki tüm örnekler cURL’de ?apiKey= sorgu biçimini ve JavaScript ile Python’da X-API-Key başlığını göstermektedir; her ikisi de her uç noktada çalışır.


Sohbet özeti oluşturma

POST /summaries — kişinin phoneNumber (ülke koduyla birlikte) veya email bilgisini gönderin; ikisinden biri zorunludur.

Yapay zeka, kişinin en son kapatılan konuşmasını veya henüz hiçbiri kapatılmamışsa hala açık olan konuşmasını okur ve bir özetini yazar. Özet, kişi üzerinde saklanır (uygulamadaki kişi panelinde Özetler altında görünür) ve yanıtta döndürülür, böylece doğrudan bir CRM’e, Slack kanalına veya e-postaya iletebilirsiniz.

Maliyet: Temsilcinin Yapay Zeka Kalite seviyesindeki bir yapay zeka yanıtıyla aynıdır — Pro 1 kredi, Max 0.25, Mini 0.15; kendi Anthropic anahtarınız bağlıyken Pro 0 maliyetlidir. Bakiye karşılamadığında, herhangi bir şey oluşturulmadan önce istek reddedilir.

cURL

curl -X POST "https://api.dmchamp.com/v1/summaries?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phoneNumber": "+31612345678"}'

JavaScript

const res = await fetch("https://api.dmchamp.com/v1/summaries", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ email: "jane@example.com" }),
});
const { summary } = await res.json();

Python

import requests

r = requests.post(
    "https://api.dmchamp.com/v1/summaries",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"phoneNumber": "+31612345678"},
)
print(r.json()["summary"])

Yanıt

{
  "success": true,
  "message": "Chat summary generated successfully",
  "summary": "Jane asked about the 10-session package for her two children (ages 6 and 9) and preferred Saturday mornings. She booked a trial lesson for Saturday at 10:00 and wants to know whether siblings get a discount."
}
Durum Anlamı
400 Ne phoneNumber ne de email gönderildi.
404 Hiçbir kişi eşleşmiyor, kişinin henüz bir konuşması yok veya konuşmada hiç mesaj yok. Gövdenin message kısmı hangisi olduğunu belirtir.
500 Oluşturma başarısız oldu (örneğin, yetersiz kredi).

Otomasyon tarifi: özet içeren rezervasyon e-postası. Randevu alındı tetikleyicisindeki bir otomasyonda, bu uç noktayı ${trigger.contact.phone_number} (veya kişinin e-postası) ile çağıran bir HTTP isteği adımı ekleyin, ardından HTTP adımının yanıtından gelen summary bilgisini, sohbet bağlantısıyla (uygulamanızın adresi ve ardından /chats/ ile tetikleyiciden gelen kişi kimliği) birlikte ekleyen bir E-posta adımı ekleyin. Ekibiniz, gelen kutusunu açmadan aynı e-postada rezervasyon bağlamını alır.

Özetleri geri okuma. Kayıtlı sohbet özetlerini listeleyen bir uç nokta yoktur. Daha sonra ihtiyacınız olursa metni yanıttan saklayın veya tekrar oluşturun (her çağrı ücretlendirilir).

Alternatif: kişi kimliğine göre

{"contactId": "..."} ile POST /summaries/chat-summary, kimliğine zaten sahip olduğunuz bir kişi için aynı oluşturma işlemini yapar. Sadece başarıyı ({"success": true, "data": "Chat summary generated successfully"}) onaylar ve metni döndürmez, bu nedenle özetin kendisine ihtiyacınız olduğunda POST /summaries kullanın. Anahtarı yalnızca atanan kişileriyle sınırlı olan bir ekip üyesi, bu kapsam dışındaki bir kişi için 404 alır.


Günlük özet alma

GET /summaries/daily/{date}date, YYYY-MM-DD şeklindedir. O gün için özeti veya henüz hiçbiri oluşturulmadığında summary altında null değerini ve bölüm yapılandırmanızı döndürür.

cURL

curl "https://api.dmchamp.com/v1/summaries/daily/2026-09-08?apiKey=YOUR_API_KEY"

Yanıt

{
  "success": true,
  "data": {
    "summary": {
      "date": "2026-09-08",
      "status": "completed",
      "generated_at": "2026-09-09T05:02:11.000Z",
      "stats": {
        "total_conversations": 42,
        "total_messages_sent": 310,
        "total_messages_received": 268,
        "human_alerts": 3,
        "bookings": 5,
        "new_contacts": 11,
        "sales": 2
      },
      "sections": {
        "wins_losses_improvements": "## Wins\n- ...",
        "tasks_action_items": "- Call Jane back about the sibling discount",
        "human_alerts_reviews": "...",
        "sentiment_analysis": "...",
        "booked_meetings_sales": "..."
      },
      "contact_map": { "Jane Doe": "uid_whatsapp_31612345678" },
      "auto_tasks": [],
      "created_task_ids": []
    },
    "section_configs": [
      { "id": "wins_losses_improvements", "name": "Wins, Losses & Improvements", "enabled": true, "position": 0 }
    ]
  }
}
  • statuspending, generating, completed veya failed (error ayarı açıkken). Yeniden oluşturma işleminden sonra, durum completed olana kadar bu uç noktayı sorgulayın.
  • sections — bölüm kimliğine göre anahtarlanmış, bölüm başına bir markdown dizisi. Beş standart bölüm wins_losses_improvements, tasks_action_items, human_alerts_reviews, sentiment_analysis ve booked_meetings_sales’dir; Günlük Özetler sayfasında Yapılandır altında eklediğiniz bölümler custom_… kimliğine sahip olur. İsimler ve sıralama section_configs içinde yansıtılır.
  • contact_map — metindeki isimleri bağlantılara dönüştürebilmeniz için kişi kimliğine karşılık gelen görünen ad.
  • auto_tasks / created_task_ids — yapay zekanın çıkardığı eylem öğeleri ve bunlardan oluşturduğu görevler (Eylem öğelerinden görev kartları oluştur açık olduğunda).
Durum Anlamı
400 date henüz YYYY-MM-DD değil veya gelecekte.
403 Günlük Özetler hesap için kapalı.

Sorgulama yerine anlık bildirim mi tercih edersiniz? Günlük Özet Oluşturuldu webhook olayı, sabah özeti tamamlandığı anda aynı yükü iletir.


Günlük özeti yeniden oluştur

POST /summaries/daily/{date}/regenerate — arka planda o gün için yeni bir oluşturma işlemi başlatır ve hemen status: "generating" ve boş sections ile döner. Tamamlanana kadar GET /summaries/daily/{date} uç noktasını sorgulayın. Uygulamadaki Tekrar dene bağlantısı için geçerli olan kuralların aynısı geçerlidir.

İsteğe bağlı {"deleteTasks": false} gövdesi, önceki çalıştırmanın oluşturduğu görevleri korur; varsayılan olarak bunlar silinir ve yeni özet üzerinden yeniden oluşturulur. Gerçek bir boolean değeri gönderin — "false" dizisi göz ardı edilir ve varsayılan olarak kabul edilir.

curl -X POST "https://api.dmchamp.com/v1/summaries/daily/2026-09-08/regenerate?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deleteTasks": false}'

Hızlı başvuru

Görev Uç Nokta
Sohbet özeti oluştur ve metni al POST /summaries
Kişi kimliğine göre sohbet özeti oluştur (metin döndürülmez) POST /summaries/chat-summary
Bir günün özetini oku GET /summaries/daily/{date}
Bir günün özetini yeniden oluştur POST /summaries/daily/{date}/regenerate