OpenAI Connector

Forbind OpenAI med Brevo via Tajo for at udnytte AI-drevet indholdsgenerering, kundesentimentanalyse, intelligent segmentering og prædiktiv analyse til dine marketing-workflows.

Oversigt

EgenskabVærdi
PlatformOpenAI
KategoriAI / ML (brugerdefineret)
OpsætningskompleksitetMellem
Officiel integrationNej
Synkroniserede dataIndhold, embeddings, indsigter, forudsigelser
AutentifikationsmetodeAPI-nøgle (Bearer-token)

Funktioner

  • AI-indholdsgenerering - Generér emnelinjer til e-mails, brødtekst og CTA’er med GPT-modeller
  • Kundesentimentanalyse - Analysér supportsager og feedback for sentiment-scoring
  • Smart segmentering - Brug embeddings til at klynge kunder efter adfærdsmønstre
  • Prædiktiv analyse - Forudsig churn, LTV og købstilbøjelighed
  • Indhold på flere sprog - Generér marketingindhold på ethvert understøttet sprog
  • Billedgenerering - Skab kampagnevisualer med DALL-E-integration

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. En OpenAI-konto med API-adgang
  2. En API-nøgle fra OpenAI-dashboardet
  3. En Brevo-konto med API-adgang
  4. En Tajo-konto med connector-tilladelser
  5. Tilstrækkelige OpenAI API-kreditter til dit forventede forbrug

Autentifikation

API-nøgleautentifikation

OpenAI bruger Bearer-token-autentifikation til alle API-anmodninger:

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-nøglesikkerhed

Eksponér aldrig din OpenAI API-nøgle i client-side-kode. Brug altid miljøvariabler og server-side-anmodninger. Rotér nøgler regelmæssigt via OpenAI-dashboardet.

Konfiguration

Grundlæggende opsætning

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

Skabeloner til indholdsgenerering

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

EndpointMetodeBeskrivelse
https://api.openai.com/v1/responsesPOSTOpret AI-responses (Responses API)
https://api.openai.com/v1/chat/completionsPOSTGenerér tekst-completions
https://api.openai.com/v1/embeddingsPOSTOpret tekst-embeddings
https://api.openai.com/v1/images/generationsPOSTGenerér billeder
https://api.openai.com/v1/audio/speechPOSTTekst-til-tale-generering
https://api.openai.com/v1/audio/transcriptionsPOSTTale-til-tekst-transskription
https://api.openai.com/v1/moderationsPOSTIndholdsmoderation
https://api.openai.com/v1/modelsGETVis tilgængelige modeller

Kodeeksempler

Initialisér connector

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'
});

Generér e-mailindhold

// 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;

Kundesentimentanalyse

// 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 }
});

Smart segmentering med 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

ModelRPM (anmodninger/min.)TPM (tokens/min.)RPD (anmodninger/dag)
gpt-4o50030.00010.000
gpt-4o-mini500200.00010.000
text-embedding-3-small5001.000.00010.000
dall-e-35N/A200

Rate-limit-headers

Overvåg rate-limit-headers (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) i API-svar for at implementere proaktiv throttling og undgå 429-fejl.

Fejlfinding

ProblemÅrsagLøsning
401 UnauthorizedUgyldig API-nøgleVerificér nøgle i OpenAI-dashboardet
429 Rate LimitedFor mange anmodningerImplementér eksponentiel backoff
500 Server ErrorOpenAI-nedbrudTjek status.openai.com, og prøv igen
Afkortet svarmax_tokens for lavØg max_tokens-parameteren
Dårlig indholdskvalitetTemperature for højSænk temperature for konsistens

Debug-tilstand

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

Bedste praksis

  1. Cache svar - Gem genereret indhold for at reducere API-kald og omkostninger
  2. Brug strukturerede outputs - Anmod om JSON-svar for pålidelig parsing
  3. Implementér retry-logik - Håndtér rate limits med eksponentiel backoff
  4. Overvåg tokenforbrug - Spor forbrug for at styre omkostninger
  5. Brug passende modeller - Brug gpt-4o-mini til simple opgaver, gpt-4o til komplekse
  6. Validér outputs - Validér altid AI-genereret indhold, før du sender det til kunder

Sikkerhed

  • Bearer-token-auth - API-nøgler sendes via Authorization-headeren
  • Kun server-side - Eksponér aldrig API-nøgler i client-side-kode
  • Nøglerotation - Rotér API-nøgler regelmæssigt via OpenAI-dashboardet
  • Forbrugsovervågning - Sæt udgiftsgrænser i OpenAI-faktureringsindstillinger
  • Indholdsmoderation - Brug Moderations API til at filtrere usikkert indhold
  • Datasikkerhed - Gennemgå OpenAI’s databrugspolitikker for dit anvendelsestilfælde

Relaterede ressourcer

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.