OpenAI konektor

Poveži OpenAI sa Brevo putem Tajo za generisanje sadržaja pokretano VI, analizu sentimenta kupaca, inteligentnu segmentaciju i prediktivnu analitiku za tvoje tokove marketing automatizacije.

Pregled

SvojstvoVrednost
PlatformaOpenAI
KategorijaVI / ML (Prilagođeno)
Složenost podešavanjaSrednje
Zvanična integracijaNe
Sinhronizovani podaciSadržaj, Embeddinzi, Uvidi, Predviđanja
Metod autentifikacijeAPI Key (Bearer Token)

Karakteristike

  • Generisanje VI sadržaja - Generisanje naslova emailova, tela i CTA-ova sa GPT modelima
  • Analiza sentimenta kupaca - Analiza tiketa podrške i povratnih informacija za ocenjivanje sentimenta
  • Pametna segmentacija - Korišćenje embeddinga za grupisanje kupaca prema obrascima ponašanja
  • Prediktivna analitika - Prognoziranje odljeva, LTV i sklonosti kupovini
  • Sadržaj na više jezika - Generisanje marketinškog sadržaja na bilo kom podržanom jeziku
  • Generisanje slika - Kreiranje vizuelnih elemenata kampanje sa DALL-E integracijom

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. OpenAI nalog sa API pristupom
  2. API ključ sa OpenAI dashboard-a
  3. Brevo nalog sa API pristupom
  4. Tajo nalog sa dozvolama konektora
  5. Dovoljno OpenAI API kredita za očekivanu upotrebu

Autentifikacija

Autentifikacija API ključem

OpenAI koristi Bearer token autentifikaciju za sve API zahteve:

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

Bezbednost API ključa

Nikada ne izlažu API ključ OpenAI u klijentskom kodu. Uvek koristi env varijable i server-side zahteve. Periodično rotiraj ključeve putem OpenAI dashboard-a.

Konfiguracija

Osnovno podešavanje

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

Šabloni za generisanje sadržaja

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 endpointi

EndpointMetodaOpis
https://api.openai.com/v1/responsesPOSTKreiranje VI odgovora (Responses API)
https://api.openai.com/v1/chat/completionsPOSTGenerisanje tekstualnih kompletiranja
https://api.openai.com/v1/embeddingsPOSTKreiranje tekstualnih embeddinga
https://api.openai.com/v1/images/generationsPOSTGenerisanje slika
https://api.openai.com/v1/audio/speechPOSTGenerisanje govora iz teksta
https://api.openai.com/v1/audio/transcriptionsPOSTTranskripcija govora u tekst
https://api.openai.com/v1/moderationsPOSTModeracija sadržaja
https://api.openai.com/v1/modelsGETListanje dostupnih modela

Primeri koda

Inicijalizacija konektora

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

Generisanje email sadržaja

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

Analiza sentimenta kupaca

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

Pametna segmentacija sa embeddingima

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

Ograničenja brzine

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

Headeri ograničenja brzine

Prati headere ograničenja brzine (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) u API odgovorima za implementaciju proaktivnog ograničavanja i izbjegavanje 429 grešaka.

Rešavanje problema

ProblemUzrokRešenje
401 UnauthorizedNevažeći API ključProveri ključ u OpenAI dashboard-u
429 Rate LimitedPreviše zahtevaImplementiraj eksponencijalno usporavanje
500 Server ErrorOpenAI kvarProveri status.openai.com i pokušaj ponovo
Skraćen odgovormax_tokens prenizakPovećaj parametar max_tokens
Loš kvalitet sadržajaTemperatura previsokaSmanji temperaturu za konzistentnost

Debug režim

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

Najbolje prakse

  1. Keširaj odgovore - Čuvaj generisani sadržaj da smanjiš API pozive i troškove
  2. Koristi strukturirane izlaze - Zahtevaj JSON odgovore za pouzdano parsiranje
  3. Implementiraj logiku ponovnog pokušaja - Obradi ograničenja brzine sa eksponencijalnim usporavanjem
  4. Prati korišćenje tokena - Prati potrošnju za kontrolu troškova
  5. Koristi odgovarajuće modele - Koristi gpt-4o-mini za jednostavne zadatke, gpt-4o za složene
  6. Validiraj izlaze - Uvek validira VI generisani sadržaj pre slanja kupcima

Bezbednost

  • Bearer token autentifikacija - API ključevi preneti putem Authorization headera
  • Samo server-side - Nikada ne izlažu API ključeve u klijentskom kodu
  • Rotacija ključeva - Redovno rotiraj API ključeve putem OpenAI dashboard-a
  • Praćenje korišćenja - Postavi limite potrošnje u OpenAI podešavanjima naplate
  • Moderacija sadržaja - Koristi Moderations API za filtriranje nesigurnog sadržaja
  • Privatnost podataka - Pregled OpenAI politika korišćenja podataka za tvoj slučaj upotrebe

Povezani resursi

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здраво! Питајте ме о документацији.