OpenAI-connector
Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.
Illustratie · voorbeelddata
Voorbeeld van synchronisatie
Bron
OpenAI
Connectorstatus: Gepland
Bestemming
Je andere tool
Connectorstatus: Eigen tool
Veldtoewijzing
| Bronveld | Doelveld | Voorbeeldwaarde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Opstellen
- Eén record controleren
- Deze versie goedkeuren
Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.
Verbind OpenAI met Brevo via Tajo om gebruik te maken van AI-gestuurde contentgeneratie, klant-sentimentanalyse, intelligente segmentatie en voorspellende analyses voor je marketingautomatiseringsworkflows.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | OpenAI |
| Categorie | AI / ML (Custom) |
| Setupcomplexiteit | Gemiddeld |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Content, Embeddings, Inzichten, Voorspellingen |
| Auth-methode | API Key (Bearer Token) |
Functies
- AI-contentgeneratie - Genereer e-mailonderwerpregels, body-copy en CTA’s met GPT-modellen
- Klant-sentimentanalyse - Analyseer supporttickets en feedback voor sentimentscoring
- Slimme segmentatie - Gebruik embeddings om klanten te clusteren op gedragspatronen
- Voorspellende analyses - Voorspel churn, LTV en aankoopkans
- Meertalige content - Genereer marketingcontent in elke ondersteunde taal
- Beeldgeneratie - Maak campagnevisuals met DALL-E-integratie
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een OpenAI-account met API-toegang
- Een API key uit het OpenAI dashboard
- Een Brevo-account met API-toegang
- Een Tajo-account met connector-rechten
- Voldoende OpenAI API-credits voor je verwachte gebruik
Authenticatie
API Key-authenticatie
OpenAI gebruikt Bearer-token-authenticatie voor alle API-requests:
# Set your API keysexport OPENAI_API_KEY=sk-your-api-keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_key// All requests require the Authorization headerconst headers = { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json'};
// For organization-scoped accessconst orgHeaders = { ...headers, 'OpenAI-Organization': process.env.OPENAI_ORG_ID, 'OpenAI-Project': process.env.OPENAI_PROJECT_ID};API key-beveiliging
Gebruik je OpenAI API key nooit in client-side code. Werk altijd met environment variables en server-side requests. Roteer keys regelmatig via het OpenAI-dashboard.
Configuratie
Basisinstelling
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.7Templates voor contentgeneratie
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.7API-endpoints
| Endpoint | Method | Beschrijving |
|---|---|---|
https://api.openai.com/v1/responses | POST | AI-responses aanmaken (Responses API) |
https://api.openai.com/v1/chat/completions | POST | Tekstcompletions genereren |
https://api.openai.com/v1/embeddings | POST | Tekstembeddings aanmaken |
https://api.openai.com/v1/images/generations | POST | Afbeeldingen genereren |
https://api.openai.com/v1/audio/speech | POST | Tekst-naar-spraakgeneratie |
https://api.openai.com/v1/audio/transcriptions | POST | Spraak-naar-teksttranscriptie |
https://api.openai.com/v1/moderations | POST | Contentmoderatie |
https://api.openai.com/v1/models | GET | Beschikbare modellen opvragen |
Codevoorbeelden
Connector initialiseren
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-mailcontent genereren
// Generate personalized email subject linesconst 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;Klant-sentimentanalyse
// Analyze customer feedback sentimentconst 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 }});Slimme segmentatie met embeddings
// Generate embeddings for customer clusteringconst 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 clusteringRate limits
| Model | RPM (Requests/Min) | TPM (Tokens/Min) | RPD (Requests/Dag) |
|---|---|---|---|
| gpt-4o | 500 | 30.000 | 10.000 |
| gpt-4o-mini | 500 | 200.000 | 10.000 |
| text-embedding-3-small | 500 | 1.000.000 | 10.000 |
| dall-e-3 | 5 | N.v.t. | 200 |
Rate limit-headers
Monitor rate limit-headers (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) in API-responses om proactieve throttling te implementeren en 429-fouten te voorkomen.
Probleemoplossing
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| 401 Unauthorized | Ongeldige API key | Verifieer key in OpenAI-dashboard |
| 429 Rate Limited | Te veel requests | Implementeer exponentiële backoff |
| 500 Server Error | OpenAI-storing | Check status.openai.com en probeer opnieuw |
| Afgekapte response | max_tokens te laag | Verhoog de max_tokens-parameter |
| Slechte contentkwaliteit | Temperature te hoog | Verlaag temperature voor consistentie |
Debugmodus
connectors: openai: debug: true log_level: verbose log_prompts: false # Don't log prompts in production log_usage: trueBest practices
- Cache responses - Sla gegenereerde content op om API-calls en kosten te beperken
- Gebruik gestructureerde outputs - Vraag JSON-responses aan voor betrouwbare parsing
- Implementeer retry-logica - Behandel rate limits met exponentiële backoff
- Monitor token-gebruik - Volg consumptie om kosten te beheersen
- Gebruik passende modellen - Gebruik gpt-4o-mini voor eenvoudige taken, gpt-4o voor complexe
- Valideer outputs - Valideer altijd AI-gegenereerde content voordat je deze naar klanten stuurt
Beveiliging
- Bearer token-auth - API keys verzonden via Authorization-header
- Alleen server-side - Stel API keys nooit bloot in client-side code
- Key-rotatie - Roteer API keys regelmatig via OpenAI-dashboard
- Gebruiksmonitoring - Stel uitgavenlimieten in via OpenAI-billing settings
- Contentmoderatie - Gebruik de Moderations API om onveilige content te filteren
- Dataprivacy - Bekijk OpenAI’s data usage policies voor je use case