OpenAI Bağlayıcısı
Pazarlama otomasyonu iş akışlarınız için yapay zeka destekli içerik oluşturma, müşteri duygu analizi, akıllı segmentasyon ve öngörücü analitikten yararlanmak üzere OpenAI’yi Tajo üzerinden Brevo’ya bağlayın.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | OpenAI |
| Kategori | Yapay Zeka / ML (Özel) |
| Kurulum Karmaşıklığı | Orta |
| Resmi Entegrasyon | Hayır |
| Senkronize Edilen Veri | İçerik, Gömüler, Öngörüler, Tahminler |
| Kimlik Doğrulama Yöntemi | API Anahtarı (Bearer Belirteci) |
Özellikler
- Yapay zeka içerik oluşturma - GPT modelleriyle e-posta konu satırları, gövde metni ve CTA’lar oluşturun
- Müşteri duygu analizi - Duygu puanlaması için destek biletlerini ve geri bildirimleri analiz edin
- Akıllı segmentasyon - Müşterileri davranış kalıplarına göre kümelemek için gömüleri kullanın
- Öngörücü analitik - Kayıp, LTV ve satın alma eğilimini tahmin edin
- Çok dilli içerik - Desteklenen herhangi bir dilde pazarlama içeriği oluşturun
- Görsel oluşturma - DALL-E entegrasyonuyla kampanya görselleri oluşturun
Ön Koşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:
- API erişimi olan bir OpenAI hesabı
- OpenAI panelinden bir API anahtarı
- API erişimi olan bir Brevo hesabı
- Bağlayıcı izinlerine sahip bir Tajo hesabı
- Beklenen kullanımınız için yeterli OpenAI API kredisi
Kimlik Doğrulama
API Anahtarı Kimlik Doğrulaması
OpenAI, tüm API istekleri için Bearer belirteç kimlik doğrulaması kullanır:
# API anahtarlarınızı ayarlayınexport OPENAI_API_KEY=sk-your-api-keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_key// Tüm istekler Authorization başlığını gerektirirconst headers = { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json'};
// Kuruluş kapsamlı erişim içinconst orgHeaders = { ...headers, 'OpenAI-Organization': process.env.OPENAI_ORG_ID, 'OpenAI-Project': process.env.OPENAI_PROJECT_ID};API Anahtarı Güvenliği
OpenAI API anahtarınızı asla istemci tarafı kodda ifşa etmeyin. Her zaman ortam değişkenlerini ve sunucu tarafı isteklerini kullanın. OpenAI paneli üzerinden anahtarları periyodik olarak döndürün.
Yapılandırma
Temel Kurulum
connectors: openai: enabled: true model: "gpt-4o" embedding_model: "text-embedding-3-small" image_model: "dall-e-3"
features: content_generation: true sentiment_analysis: true smart_segmentation: true predictive_analytics: true
limits: max_tokens_per_request: 4096 max_requests_per_minute: 60 temperature: 0.7İçerik Oluşturma Şablonları
templates: email_subject: model: "gpt-4o" system_prompt: | You are an expert email marketer. Generate compelling subject lines that drive open rates. max_tokens: 100 temperature: 0.8
email_body: model: "gpt-4o" system_prompt: | Generate personalized email content based on customer data and campaign objectives. max_tokens: 2048 temperature: 0.7API Uç Noktaları
| Uç Nokta | Yöntem | Açıklama |
|---|---|---|
https://api.openai.com/v1/responses | POST | Yapay zeka yanıtları oluştur (Responses API) |
https://api.openai.com/v1/chat/completions | POST | Metin tamamlamaları oluştur |
https://api.openai.com/v1/embeddings | POST | Metin gömüleri oluştur |
https://api.openai.com/v1/images/generations | POST | Görseller oluştur |
https://api.openai.com/v1/audio/speech | POST | Metinden sese oluşturma |
https://api.openai.com/v1/audio/transcriptions | POST | Konuşmadan metne dönüştürme |
https://api.openai.com/v1/moderations | POST | İçerik denetleme |
https://api.openai.com/v1/models | GET | Mevcut modelleri listele |
Kod Örnekleri
Bağlayıcıyı Başlatma
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
await tajo.connectors.connect('openai', { apiKey: process.env.OPENAI_API_KEY, defaultModel: 'gpt-4o'});E-posta İçeriği Oluşturma
// Kişiselleştirilmiş e-posta konu satırları oluşturconst response = await fetch('https://api.openai.com/v1/chat/completions', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-4o', messages: [ { role: 'system', content: 'Generate 5 compelling email subject lines for a product launch.' }, { role: 'user', content: `Product: ${product.name}. Target: ${segment.description}.` } ], max_tokens: 200, temperature: 0.8 })});
const result = await response.json();const subjectLines = result.choices[0].message.content;Müşteri Duygu Analizi
// Müşteri geri bildirim duygusunu analiz etconst sentimentAnalysis = await fetch( 'https://api.openai.com/v1/chat/completions', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-4o', messages: [ { role: 'system', content: 'Analyze sentiment. Return JSON: {score: -1 to 1, label: string, topics: string[]}' }, { role: 'user', content: customerFeedback } ], response_format: { type: 'json_object' }, max_tokens: 150 }) });
const sentiment = await sentimentAnalysis.json();await tajo.contacts.update(email, { attributes: { SENTIMENT_SCORE: JSON.parse(sentiment.choices[0].message.content).score }});Gömülerle Akıllı Segmentasyon
// Müşteri kümeleme için gömüler oluşturconst embeddingResponse = await fetch( 'https://api.openai.com/v1/embeddings', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'text-embedding-3-small', input: customerDescriptions, dimensions: 256 }) });
const embeddings = await embeddingResponse.json();// Benzerlik tabanlı müşteri kümelemesi için gömüleri kullanHız Sınırları
| Model | RPM (İstek/Dk) | TPM (Belirteç/Dk) | RPD (İstek/Gün) |
|---|---|---|---|
| gpt-4o | 500 | 30.000 | 10.000 |
| gpt-4o-mini | 500 | 200.000 | 10.000 |
| text-embedding-3-small | 500 | 1.000.000 | 10.000 |
| dall-e-3 | 5 | Yok | 200 |
Hız Sınırı Başlıkları
Proaktif kısıtlama uygulamak ve 429 hatalarını önlemek için API yanıtlarındaki hız sınırı başlıklarını (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) izleyin.
Sorun Giderme
| Sorun | Neden | Çözüm |
|---|---|---|
| 401 Unauthorized | Geçersiz API anahtarı | Anahtarı OpenAI panelinde doğrulayın |
| 429 Rate Limited | Çok fazla istek | Üstel geri çekilme uygulayın |
| 500 Server Error | OpenAI kesintisi | status.openai.com’u kontrol edin ve yeniden deneyin |
| Kesilmiş yanıt | max_tokens çok düşük | max_tokens parametresini artırın |
| Düşük içerik kalitesi | Sıcaklık çok yüksek | Tutarlılık için sıcaklığı düşürün |
Hata Ayıklama Modu
connectors: openai: debug: true log_level: verbose log_prompts: false # Üretimde komut istemlerini günlüğe kaydetmeyin log_usage: trueEn İyi Uygulamalar
- Yanıtları önbelleğe alın - API çağrılarını ve maliyetleri azaltmak için oluşturulan içeriği saklayın
- Yapılandırılmış çıktıları kullanın - Güvenilir ayrıştırma için JSON yanıtları isteyin
- Yeniden deneme mantığı uygulayın - Hız sınırlarını üstel geri çekilme ile yönetin
- Belirteç kullanımını izleyin - Maliyetleri kontrol etmek için tüketimi izleyin
- Uygun modelleri kullanın - Basit görevler için gpt-4o-mini, karmaşık olanlar için gpt-4o kullanın
- Çıktıları doğrulayın - Yapay zeka ile oluşturulan içeriği müşterilere göndermeden önce her zaman doğrulayın
Güvenlik
- Bearer belirteç kimlik doğrulaması - API anahtarları Authorization başlığı aracılığıyla iletilir
- Yalnızca sunucu tarafı - API anahtarlarını asla istemci tarafı kodda ifşa etmeyin
- Anahtar rotasyonu - OpenAI paneli aracılığıyla API anahtarlarını düzenli olarak döndürün
- Kullanım izleme - OpenAI faturalandırma ayarlarında harcama sınırları belirleyin
- İçerik denetleme - Güvensiz içeriği filtrelemek için Moderations API’sini kullanın
- Veri gizliliği - Kullanım durumunuz için OpenAI’nin veri kullanım politikalarını inceleyin