Yapay Zeka Sohbet Botu
Sohbet Botu özelliği, web sitenize yerleştirilebilen veya API aracılığıyla kullanılabilen yapay zeka destekli astroloji asistanları oluşturmanıza olanak tanır. Sohbet botları, doğum haritaları ve geçişler hakkında sorular yanıtlayabilir ve kişiselleştirilmiş astrolojik içgörüler sağlayabilir.
Genel Bakış
- Yapay zeka destekli: Doğal sohbet için gelişmiş dil modelleri kullanır
- Doğum verisi farkındalığı: Sohbet botları kişiselleştirilmiş okumalar için kullanıcı doğum verilerine erişebilir
- Gömülü widget: Web siteniz için kullanıma hazır sohbet widget'ı
- Akış yanıtları: Anında geri bildirim için gerçek zamanlı SSE akışı
- Eklenti sistemi: Sohbet botu başına belirli astroloji özelliklerini etkinleştirin
- Kullanım takibi: Token kullanımını ve mesaj sayılarını izleyin
Sohbet Botu Oluşturma
curl -X POST "https://api.astroapi.cloud/api/chatbots" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "chatbots",
"attributes": {
"name": "My Astrology Bot",
"description": "Personal astrology assistant",
"enabledPlugins": ["natal", "transits"],
"settings": {
"greeting": "Hello! I can help you understand your birth chart."
},
"widgetConfig": {
"theme": "light",
"primaryColor": "#6366f1"
},
"allowedDomains": ["example.com", "www.example.com"]
}
}
}'Yanıt
{
"data": {
"type": "chatbot",
"id": "cb_abc123",
"attributes": {
"name": "My Astrology Bot",
"description": "Personal astrology assistant",
"enabledPlugins": ["natal", "transits"],
"settings": {
"greeting": "Hello! I can help you understand your birth chart."
},
"widgetConfig": {
"theme": "light",
"primaryColor": "#6366f1"
},
"allowedDomains": ["example.com", "www.example.com"],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
}Sohbet Uç Noktaları
Temel Sohbet
Doğum verisi bağlamı olmadan mesaj gönderin:
curl -X POST "https://api.astroapi.cloud/api/chat/{chatbotId}" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"message": "What does it mean to have Sun in Aries?",
"conversationId": null
}'Doğum Verisiyle Sohbet
Kişiselleştirilmiş yanıtlar için satır içi doğum verisiyle mesaj gönderin:
curl -X POST "https://api.astroapi.cloud/api/chat/{chatbotId}/direct" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"message": "Tell me about my Sun sign",
"birthData": {
"date": "1990-06-15",
"time": "14:30",
"latitude": 51.5074,
"longitude": -0.1278,
"placeName": "London, UK",
"timezone": "Europe/London"
}
}'Profille Sohbet
Konuşmalar genelinde tutarlı doğum verisi için kaydedilmiş bir profil kullanın:
curl -X POST "https://api.astroapi.cloud/api/chat/{chatbotId}/profile/{profileId}" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"message": "What transits are affecting me this week?",
"conversationId": "conv_xyz789"
}'Akış Yanıtı
Tüm sohbet uç noktaları, gerçek zamanlı akış için Server-Sent Events (SSE) döndürür:
event: message
data: {"content": "Based on your birth chart, "}
event: message
data: {"content": "your Sun in Aries suggests..."}
event: done
data: {"conversationId": "conv_xyz789", "usage": {"inputTokens": 150, "outputTokens": 75}}Sohbet Profilleri
Profiller, her seferinde doğum verisi gönderilmeden kişiselleştirilmiş yanıtlara olanak tanımak için kullanıcıların doğum verilerini saklar.
Profil Oluştur
curl -X POST "https://api.astroapi.cloud/api/chatbots/{chatbotId}/profiles" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "chat-profile",
"attributes": {
"externalUserId": "user_123",
"birthDate": "1990-06-15",
"birthTime": "14:30",
"birthPlaceLat": 51.5074,
"birthPlaceLng": -0.1278,
"birthPlaceName": "London, UK",
"timezone": "Europe/London",
"metadata": {
"name": "John Doe"
}
}
}
}'Profilleri Listele
curl -X GET "https://api.astroapi.cloud/api/chatbots/{chatbotId}/profiles" \
-H "X-Api-Key: your-api-key"Widget Entegrasyonu
Widget uç noktalarını kullanarak web sitenize bir sohbet widget'ı yerleştirin.
INFO
Widget uç noktaları /widget/ yolunu kullanır (/api/ öneki olmadan) ve alan adı kısıtlamaları için Origin başlığını doğrular.
Widget Yapılandırmasını Al
curl -X GET "https://api.astroapi.cloud/widget/config/{chatbotId}"Widget Sohbeti
Widget, Origin başlığı aracılığıyla alan adı doğrulaması kullanır (tarayıcı tarafından zorunlu kılınır):
curl -X POST "https://api.astroapi.cloud/widget/chat/{chatbotId}" \
-H "X-Api-Key: your-widget-api-key" \
-H "Content-Type: application/json" \
-d '{
"message": "What is my horoscope for today?",
"birthData": {
"date": "1990-06-15",
"time": "14:30",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
}'Kullanıcı Profilleriyle Widget
Geri dönen kullanıcılar için harici kullanıcı ID uç noktasını kullanın. Profil ilk kullanımda otomatik olarak oluşturulur:
curl -X POST "https://api.astroapi.cloud/widget/chat/{chatbotId}/user/{externalUserId}" \
-H "X-Api-Key: your-widget-api-key" \
-H "Content-Type: application/json" \
-d '{
"message": "What are my current transits?",
"birthData": {
"date": "1990-06-15",
"time": "14:30",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
}'TIP
Doğum verisi yalnızca yeni bir kullanıcı için ilk mesajda gereklidir. Sonraki mesajlarda bu veri atlanabilir.
Alan Adı Kısıtlamaları
Güvenlik için widget'ınıza hangi alan adlarının erişebileceğini kısıtlayabilirsiniz:
{
"allowedDomains": ["example.com", "www.example.com", "app.example.com"]
}allowedDomains boşsa tüm alan adlarına izin verilir.
Mevcut Eklentiler
Eklentiler, sohbet botunun hangi astrolojik özelliklere erişebileceğini belirler:
| Eklenti | Açıklama | Gerekli Modül |
|---|---|---|
natal | Doğum haritası hesaplamaları ve yorumlar | module:natal |
transit | Mevcut geçiş bilgisi | module:transit |
synastry | İlişki uyumluluk analizi | module:synastry |
composite | Kompozit harita analizi | module:composite |
progressions | İkincil ilerlemeler | module:progression |
solar_return | Güneş dönüşü haritaları | module:solar-return |
lunar_return | Ay dönüşü haritaları | module:lunar-return |
retrograde | Retrograd dönem bilgisi | module:retrograde |
numerology | Numeroloji hesaplamaları | module:numerology |
compatibility | Astrolojik uyumluluk | module:compatibility |
chinese_zodiac | Çin burcu bilgisi | module:chinese-horoscope |
daily_insight | Günlük astrolojik içgörüler | module:transit |
moon | Ay evresi ve takvim verileri | module:moon |
daily_horoscope | Günlük burç yorumu içeriği | module:daily-report |
TIP
Tüm mevcut eklentileri listelemek için GET /api/chatbots/plugins kullanın veya kuruluşunuzun modüllerine göre hangi eklentilerin mevcut olduğunu görmek için GET /api/chatbots/available-plugins kullanın.
Konuşma Geçmişi
Konuşmayı Al
Tam mesaj geçmişini alın:
curl -X GET "https://api.astroapi.cloud/api/chat/{chatbotId}/conversation/{conversationId}" \
-H "X-Api-Key: your-api-key"Konuşmayı Sil
curl -X DELETE "https://api.astroapi.cloud/api/chat/{chatbotId}/conversation/{conversationId}" \
-H "X-Api-Key: your-api-key"Kullanım Takibi
Sohbet botu kullanımınızı izleyin:
curl -X GET "https://api.astroapi.cloud/api/chatbots/usage" \
-H "X-Api-Key: your-api-key"Yanıt
{
"data": {
"type": "chatbot-usage",
"id": "org_abc-2024-01",
"attributes": {
"month": "2024-01",
"totalInputTokens": 15000,
"totalOutputTokens": 45000,
"totalMessages": 250
}
}
}Sohbet Botlarını Yönetme
Sohbet Botlarını Listele
curl -X GET "https://api.astroapi.cloud/api/chatbots" \
-H "X-Api-Key: your-api-key"Sohbet Botunu Güncelle
curl -X PATCH "https://api.astroapi.cloud/api/chatbots/{id}" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "chatbots",
"attributes": {
"name": "Updated Bot Name",
"enabledPlugins": ["natal", "transits", "synastry"]
}
}
}'Sohbet Botunu Sil
curl -X DELETE "https://api.astroapi.cloud/api/chatbots/{id}" \
-H "X-Api-Key: your-api-key"Hata Yönetimi
Yaygın hata yanıtları:
| Durum | Açıklama |
|---|---|
| 400 | Geçersiz istek (eksik alanlar, doğrulama hataları) |
| 401 | API anahtarı gerekli veya geçersiz |
| 403 | Alan adına izin verilmiyor (widget) veya aktif kuruluş yok |
| 404 | Sohbet botu, profil veya konuşma bulunamadı |
Örnek hata yanıtı:
{
"errors": [{
"status": "403",
"title": "Domain not allowed"
}]
}