OpenAI-koppling

Anslut OpenAI till Brevo via Tajo för att utnyttja AI-driven innehållsgenerering, sentimentanalys av kunder, intelligent segmentering och prediktiv analys för dina marknadsautomationsflöden.

Översikt

EgenskapVärde
PlattformOpenAI
KategoriAI / ML (Anpassad)
InstallationskomplexitetMedel
Officiell integrationNej
Data som synkasInnehåll, embeddings, insikter, prediktioner
AutentiseringsmetodAPI-nyckel (Bearer-token)

Funktioner

  • AI-innehållsgenerering - Generera ämnesrader, brödtext och CTA:er för e-post med GPT-modeller
  • Sentimentanalys av kunder - Analysera supportärenden och feedback för sentimentpoäng
  • Smart segmentering - Använd embeddings för att klustra kunder efter beteendemönster
  • Prediktiv analys - Förutsäg churn, LTV och köpbenägenhet
  • Flerspråkigt innehåll - Generera marknadsföringsinnehåll på vilket som helst stött språk
  • Bildgenerering - Skapa kampanjbilder med DALL-E-integration

Förutsättningar

Innan du börjar, se till att du har:

  1. Ett OpenAI-konto med API-åtkomst
  2. En API-nyckel från OpenAI-instrumentpanelen
  3. Ett Brevo-konto med API-åtkomst
  4. Ett Tajo-konto med kopplingsbehörigheter
  5. Tillräckligt med OpenAI API-krediter för din förväntade användning

Autentisering

Autentisering med API-nyckel

OpenAI använder Bearer-tokenautentisering för alla API-förfrågningar:

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

Säkerhet för API-nyckel

Exponera aldrig din OpenAI API-nyckel i klientsidekod. Använd alltid miljövariabler och förfrågningar på serversidan. Rotera nycklar regelbundet via OpenAI-instrumentpanelen.

Konfiguration

Grundinställning

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

Mallar för innehållsgenerering

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

EndpointMetodBeskrivning
https://api.openai.com/v1/responsesPOSTSkapa AI-svar (Responses API)
https://api.openai.com/v1/chat/completionsPOSTGenerera textkompletteringar
https://api.openai.com/v1/embeddingsPOSTSkapa textembeddings
https://api.openai.com/v1/images/generationsPOSTGenerera bilder
https://api.openai.com/v1/audio/speechPOSTText-till-tal-generering
https://api.openai.com/v1/audio/transcriptionsPOSTTal-till-text-transkription
https://api.openai.com/v1/moderationsPOSTInnehållsmoderering
https://api.openai.com/v1/modelsGETLista tillgängliga modeller

Kodexempel

Initiera kopplingen

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

Generera e-postinnehåll

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

Sentimentanalys av kunder

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

Hastighetsbegränsningar

ModellRPM (förfrågningar/min)TPM (tokens/min)RPD (förfrågningar/dag)
gpt-4o50030 00010 000
gpt-4o-mini500200 00010 000
text-embedding-3-small5001 000 00010 000
dall-e-35N/A200

Headrar för hastighetsbegränsning

Övervaka headrar för hastighetsbegränsning (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) i API-svar för att implementera proaktiv strypning och undvika 429-fel.

Felsökning

ProblemOrsakLösning
401 UnauthorizedOgiltig API-nyckelVerifiera nyckel i OpenAI-instrumentpanelen
429 Rate LimitedFör många förfrågningarImplementera exponentiell backoff
500 Server ErrorOpenAI-driftstörningKontrollera status.openai.com och försök igen
Avkortat svarmax_tokens för lågtÖka parametern max_tokens
Dålig innehållskvalitetTemperatur för högSänk temperaturen för konsistens

Felsökningsläge

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

Bästa praxis

  1. Cacha svar - Lagra genererat innehåll för att minska API-anrop och kostnader
  2. Använd strukturerade utdata - Begär JSON-svar för pålitlig parsning
  3. Implementera återförsökslogik - Hantera hastighetsbegränsningar med exponentiell backoff
  4. Övervaka tokenanvändning - Spåra konsumtion för att kontrollera kostnader
  5. Använd lämpliga modeller - Använd gpt-4o-mini för enkla uppgifter, gpt-4o för komplexa
  6. Validera utdata - Validera alltid AI-genererat innehåll innan det skickas till kunder

Säkerhet

  • Bearer-tokenautentisering - API-nycklar överförs via Authorization-header
  • Endast serversida - Exponera aldrig API-nycklar i klientsidekod
  • Nyckelrotation - Rotera API-nycklar regelbundet via OpenAI-instrumentpanelen
  • Användningsövervakning - Sätt utgiftsgränser i OpenAI-faktureringsinställningarna
  • Innehållsmoderering - Använd Moderations API för att filtrera osäkert innehåll
  • Datasekretess - Granska OpenAI:s policyer för dataanvändning för ditt användningsfall

Relaterade resurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Fråga mig om dokumentationen.