OpenAI Connector

Verbinde OpenAI über Tajo mit Brevo, um KI-gestützte Content-Erstellung, Kundenstimmungsanalyse, intelligente Segmentierung und prädiktive Analysen für deine Marketing-Automation-Workflows zu nutzen.

Überblick

EigenschaftWert
PlattformOpenAI
KategorieKI / ML (Custom)
EinrichtungsaufwandMittel
Offizielle IntegrationNein
Synchronisierte DatenContent, Embeddings, Insights, Predictions
AuthentifizierungAPI-Schlüssel (Bearer Token)

Funktionen

  • KI-Content-Erstellung - Generiere E-Mail-Betreffzeilen, Textkörper und CTAs mit GPT-Modellen
  • Kundenstimmungsanalyse - Analysiere Support-Tickets und Feedback für Sentiment-Scoring
  • Smarte Segmentierung - Nutze Embeddings, um Kund:innen nach Verhaltensmustern zu clustern
  • Prädiktive Analysen - Prognostiziere Churn, LTV und Kaufwahrscheinlichkeit
  • Mehrsprachiger Content - Generiere Marketing-Inhalte in jeder unterstützten Sprache
  • Bildgenerierung - Erstelle Kampagnen-Visuals mit DALL-E-Integration

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  1. Ein OpenAI-Konto mit API-Zugriff
  2. Einen API-Schlüssel aus dem OpenAI-Dashboard
  3. Ein Brevo-Konto mit API-Zugriff
  4. Ein Tajo-Konto mit Connector-Berechtigungen
  5. Ausreichendes OpenAI-API-Guthaben für deine erwartete Nutzung

Authentifizierung

API-Schlüssel-Authentifizierung

OpenAI nutzt Bearer-Token-Authentifizierung für alle API-Anfragen:

Terminal window
# Set your API keys
export OPENAI_API_KEY=sk-your-api-key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key
// All requests require the Authorization header
const headers = {
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
'Content-Type': 'application/json'
};
// For organization-scoped access
const orgHeaders = {
...headers,
'OpenAI-Organization': process.env.OPENAI_ORG_ID,
'OpenAI-Project': process.env.OPENAI_PROJECT_ID
};

API-Schlüssel-Sicherheit

Lege deinen OpenAI-API-Schlüssel niemals in Client-seitigem Code offen. Verwende immer Umgebungsvariablen und Server-seitige Anfragen. Rotiere Schlüssel regelmäßig über das OpenAI-Dashboard.

Konfiguration

Grundeinrichtung

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

Vorlagen für Content-Erstellung

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.7

API-Endpoints

EndpointMethodeBeschreibung
https://api.openai.com/v1/responsesPOSTKI-Antworten erstellen (Responses API)
https://api.openai.com/v1/chat/completionsPOSTTextvervollständigungen generieren
https://api.openai.com/v1/embeddingsPOSTText-Embeddings erstellen
https://api.openai.com/v1/images/generationsPOSTBilder generieren
https://api.openai.com/v1/audio/speechPOSTText-to-Speech-Generierung
https://api.openai.com/v1/audio/transcriptionsPOSTSpeech-to-Text-Transkription
https://api.openai.com/v1/moderationsPOSTContent-Moderation
https://api.openai.com/v1/modelsGETVerfügbare Modelle auflisten

Code-Beispiele

Connector initialisieren

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-Mail-Inhalte generieren

// Generate personalized email subject lines
const 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;

Kundenstimmungsanalyse

// Analyze customer feedback sentiment
const 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 }
});

Smarte Segmentierung mit Embeddings

// Generate embeddings for customer clustering
const 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();
// Use embeddings for similarity-based customer clustering

Rate Limits

ModellRPM (Anfragen/Min)TPM (Tokens/Min)RPD (Anfragen/Tag)
gpt-4o50030.00010.000
gpt-4o-mini500200.00010.000
text-embedding-3-small5001.000.00010.000
dall-e-35N/A200

Rate-Limit-Header

Überwache die Rate-Limit-Header (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) in API-Antworten, um proaktives Throttling zu implementieren und 429-Fehler zu vermeiden.

Fehlerbehebung

ProblemUrsacheLösung
401 UnauthorizedUngültiger API-SchlüsselSchlüssel im OpenAI-Dashboard prüfen
429 Rate LimitedZu viele AnfragenExponential Backoff implementieren
500 Server ErrorOpenAI-Ausfallstatus.openai.com prüfen und erneut versuchen
Abgeschnittene Antwortmax_tokens zu niedrigParameter max_tokens erhöhen
Schlechte Content-QualitätTemperature zu hochTemperature für mehr Konsistenz senken

Debug-Modus

connectors:
openai:
debug: true
log_level: verbose
log_prompts: false # Don't log prompts in production
log_usage: true

Best Practices

  1. Antworten cachen - Speichere generierten Content, um API-Aufrufe und Kosten zu reduzieren
  2. Strukturierte Outputs nutzen - Fordere JSON-Antworten für zuverlässiges Parsing an
  3. Retry-Logik implementieren - Behandle Rate Limits mit Exponential Backoff
  4. Token-Verbrauch überwachen - Verfolge den Verbrauch zur Kostenkontrolle
  5. Passende Modelle wählen - Nutze gpt-4o-mini für einfache Aufgaben, gpt-4o für komplexe
  6. Outputs validieren - Validiere KI-generierten Content immer, bevor du ihn an Kund:innen sendest

Sicherheit

  • Bearer-Token-Auth - API-Schlüssel werden über den Authorization-Header übertragen
  • Nur serverseitig - Lege API-Schlüssel niemals in Client-seitigem Code offen
  • Schlüsselrotation - Rotiere API-Schlüssel regelmäßig über das OpenAI-Dashboard
  • Nutzungs-Monitoring - Lege Ausgabenlimits in den OpenAI-Billing-Einstellungen fest
  • Content-Moderation - Nutze die Moderations-API, um unsichere Inhalte zu filtern
  • Datenschutz - Überprüfe die Datennutzungsrichtlinien von OpenAI für deinen Anwendungsfall

Verwandte Ressourcen

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.