Konektor OpenAI

Połącz OpenAI z Brevo przez Tajo, aby korzystać z generowania treści wspieranego przez AI, analizy sentymentu klientów, inteligentnej segmentacji i analityki predykcyjnej w przepływach automatyzacji marketingu.

Przegląd

WłaściwośćWartość
PlatformaOpenAI
KategoriaAI / ML (Niestandardowa)
Poziom konfiguracjiŚredni
Integracja oficjalnaNie
Synchronizowane daneTreść, Osadzenia, Wglądy, Predykcje
Metoda uwierzytelnianiaKlucz API (Token Bearer)

Funkcje

  • Generowanie treści AI - Generuj tematy e-maili, treść i CTA za pomocą modeli GPT
  • Analiza sentymentu klientów - Analizuj zgłoszenia pomocy technicznej i opinie dla oceny sentymentu
  • Inteligentna segmentacja - Używaj osadzeń do grupowania klientów według wzorców zachowań
  • Analityka predykcyjna - Prognozuj odejścia, LTV i skłonność do zakupu
  • Treść wielojęzyczna - Generuj treści marketingowe w dowolnym obsługiwanym języku
  • Generowanie obrazów - Twórz wizualizacje kampanii z integracją DALL-E

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  1. Konto OpenAI z dostępem do API
  2. Klucz API z dashboardu OpenAI
  3. Konto Brevo z dostępem do API
  4. Konto Tajo z uprawnieniami konektora
  5. Wystarczające kredyty API OpenAI dla oczekiwanego użytkowania

Uwierzytelnianie

Uwierzytelnianie kluczem API

OpenAI używa uwierzytelniania tokenem Bearer dla wszystkich żądań API:

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

Bezpieczeństwo klucza API

Nigdy nie ujawniaj swojego klucza API OpenAI w kodzie po stronie klienta. Zawsze używaj zmiennych środowiskowych i żądań po stronie serwera. Regularnie rotuj klucze przez dashboard OpenAI.

Konfiguracja

Podstawowa konfiguracja

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

Szablony generowania treści

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

Endpointy API

EndpointMetodaOpis
https://api.openai.com/v1/responsesPOSTTwórz odpowiedzi AI (Responses API)
https://api.openai.com/v1/chat/completionsPOSTGeneruj uzupełnienia tekstowe
https://api.openai.com/v1/embeddingsPOSTTwórz osadzenia tekstowe
https://api.openai.com/v1/images/generationsPOSTGeneruj obrazy
https://api.openai.com/v1/audio/speechPOSTGenerowanie tekstu na mowę
https://api.openai.com/v1/audio/transcriptionsPOSTTranskrypcja mowy na tekst
https://api.openai.com/v1/moderationsPOSTModeracja treści
https://api.openai.com/v1/modelsGETLista dostępnych modeli

Przykłady kodu

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

Generuj treść e-maila

// 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 sentymentu klientów

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

Inteligentna segmentacja z osadzeniami

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

Limity API

ModelRPM (Żądania/min)TPM (Tokeny/min)RPD (Żądania/dzień)
gpt-4o50030 00010 000
gpt-4o-mini500200 00010 000
text-embedding-3-small5001 000 00010 000
dall-e-35Nie dotyczy200

Nagłówki limitów

Monitoruj nagłówki limitów (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) w odpowiedziach API, aby wdrożyć proaktywne ograniczanie przepustowości i unikać błędów 429.

Rozwiązywanie problemów

ProblemPrzyczynaRozwiązanie
401 UnauthorizedNieprawidłowy klucz APIZweryfikuj klucz w dashboardzie OpenAI
429 Rate LimitedZa dużo żądańWdrożyj wykładnicze wycofanie
500 Server ErrorAwaria OpenAISprawdź status.openai.com i ponów próbę
Obcięta odpowiedźmax_tokens zbyt niskiZwiększ parametr max_tokens
Niska jakość treściTemperatura zbyt wysokaObniż temperaturę dla spójności

Tryb debug

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

Najlepsze praktyki

  1. Buforuj odpowiedzi - Przechowuj wygenerowaną treść, aby zmniejszyć wywołania API i koszty
  2. Używaj ustrukturyzowanych wyników - Żądaj odpowiedzi JSON dla niezawodnego parsowania
  3. Wdrożyj logikę ponownych prób - Obsługuj limity szybkości z wykładniczym wycofaniem
  4. Monitoruj użycie tokenów - Śledź zużycie, aby kontrolować koszty
  5. Używaj odpowiednich modeli - Używaj gpt-4o-mini dla prostych zadań, gpt-4o dla złożonych
  6. Waliduj wyniki - Zawsze waliduj treści generowane przez AI przed wysłaniem do klientów

Bezpieczeństwo

  • Uwierzytelnianie tokenem bearer - Klucze API przesyłane przez nagłówek Authorization
  • Tylko po stronie serwera - Nigdy nie ujawniaj kluczy API w kodzie po stronie klienta
  • Rotacja kluczy - Regularnie rotuj klucze API przez dashboard OpenAI
  • Monitorowanie użycia - Ustaw limity wydatków w ustawieniach rozliczeniowych OpenAI
  • Moderacja treści - Używaj Moderations API do filtrowania nieodpowiedniej treści
  • Prywatność danych - Zapoznaj się z polityką użytkowania danych OpenAI dla swojego przypadku użycia

Powiązane zasoby

Subscribe to updates

developer-docs

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

auto-detect
Asystent AI

Cześć! Zapytaj mnie o dokumentację.