OpenAI Konektor
Povežite OpenAI s Brevom putem Taja kako biste iskoristili AI generiranje sadržaja, analizu osjećaja klijenata, inteligentnu segmentaciju i prediktivnu analitiku za vaše marketinške automatizacijske tijekove rada.
Pregled
| Svojstvo | Vrijednost |
|---|---|
| Platforma | OpenAI |
| Kategorija | AI / ML (Prilagođeno) |
| Složenost postavljanja | Srednje |
| Službena integracija | Ne |
| Sinkronizirani podaci | Sadržaj, Ugradnje, Uvidi, Predviđanja |
| Metoda autentifikacije | API Key (Bearer Token) |
Značajke
- AI generiranje sadržaja - Generirajte naslove e-pošte, tekst tijela i CTA s GPT modelima
- Analiza osjećaja klijenata - Analizirajte tikete podrške i povratne informacije za ocjenjivanje osjećaja
- Pametna segmentacija - Koristite ugradnje za grupiranje klijenata prema obrascima ponašanja
- Prediktivna analitika - Predviđajte odljev, LTV i sklonost kupnji
- Višejezični sadržaj - Generirajte marketinški sadržaj na bilo kojemu podržanom jeziku
- Generiranje slika - Stvorite vizuale kampanje s DALL-E integracijom
Preduvjeti
Prije nego što počnete, osigurajte da imate:
- OpenAI račun s API pristupom
- API ključ iz OpenAI nadzorne ploče
- Brevo račun s API pristupom
- Tajo račun s dozvolama konektora
- Dovoljno OpenAI API kredita za očekivanu upotrebu
Autentifikacija
Autentifikacija API ključem
OpenAI koristi Bearer token autentifikaciju za sve API zahtjeve:
# Postavite svoje API ključeveexport OPENAI_API_KEY=sk-your-api-keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_key// Svi zahtjevi zahtijevaju zaglavlje Authorizationconst headers = { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json'};
// Za pristup ograničen na organizacijuconst orgHeaders = { ...headers, 'OpenAI-Organization': process.env.OPENAI_ORG_ID, 'OpenAI-Project': process.env.OPENAI_PROJECT_ID};Sigurnost API ključa
Nikada ne izlažite svoj OpenAI API ključ u kodu na strani klijenta. Uvijek koristite varijable okoline i zahtjeve na strani servera. Periodično rotirajte ključeve putem OpenAI nadzorne ploče.
Konfiguracija
Osnovna konfiguracija
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.7Predlošci za generiranje sadržaja
templates: email_subject: model: "gpt-4o" system_prompt: | Vi ste stručnjak za e-mail marketing. Generirajte privlačne naslove koji povećavaju stopu otvaranja. max_tokens: 100 temperature: 0.8
email_body: model: "gpt-4o" system_prompt: | Generirajte personalizirani sadržaj e-pošte na temelju korisničkih podataka i ciljeva kampanje. max_tokens: 2048 temperature: 0.7API krajnje točke
| Krajnja točka | Metoda | Opis |
|---|---|---|
https://api.openai.com/v1/responses | POST | Stvaranje AI odgovora (Responses API) |
https://api.openai.com/v1/chat/completions | POST | Generiranje tekstualnih dovršetaka |
https://api.openai.com/v1/embeddings | POST | Stvaranje tekstualnih ugradnji |
https://api.openai.com/v1/images/generations | POST | Generiranje slika |
https://api.openai.com/v1/audio/speech | POST | Generiranje govora iz teksta |
https://api.openai.com/v1/audio/transcriptions | POST | Transkripcija govora u tekst |
https://api.openai.com/v1/moderations | POST | Moderacija sadržaja |
https://api.openai.com/v1/models | GET | Popis dostupnih modela |
Primjeri 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'});Generiranje sadržaja e-pošte
// Generiranje personaliziranih naslova e-pošteconst 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: 'Generirajte 5 privlačnih naslova e-pošte za lansiranje proizvoda.' }, { role: 'user', content: `Proizvod: ${product.name}. Ciljna skupina: ${segment.description}.` } ], max_tokens: 200, temperature: 0.8 })});
const result = await response.json();const subjectLines = result.choices[0].message.content;Analiza osjećaja klijenata
// Analiza osjećaja povratnih informacija klijenataconst 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: 'Analizirajte osjećaj. Vratite JSON: {score: -1 do 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 s ugradnjama
// Generiranje ugradnji za grupiranje klijenataconst 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();// Koristite ugradnje za grupiranje klijenata temeljeno na sličnostiOgraničenja brzine
| Model | RPM (Zahtjevi/Min) | TPM (Tokeni/Min) | RPD (Zahtjevi/Dan) |
|---|---|---|---|
| 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/A | 200 |
Zaglavlja ograničenja brzine
Pratite zaglavlja ograničenja brzine (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) u API odgovorima za implementaciju proaktivnog usporavanja i izbjegavanje grešaka 429.
Rješavanje problema
| Problem | Uzrok | Rješenje |
|---|---|---|
| 401 Unauthorized | Nevažeći API ključ | Provjerite ključ u OpenAI nadzornoj ploči |
| 429 Rate Limited | Previše zahtjeva | Implementirajte eksponencijalni povratak |
| 500 Server Error | OpenAI prekid rada | Provjerite status.openai.com i pokušajte ponovo |
| Skraćeni odgovor | max_tokens prenizak | Povećajte parametar max_tokens |
| Loša kvaliteta sadržaja | Temperatura previsoka | Smanjite temperaturu za konzistentnost |
Način otklanjanja grešaka
connectors: openai: debug: true log_level: verbose log_prompts: false # Ne bilježite promptove u produkciji log_usage: truePreporučene prakse
- Predmemorirajte odgovore - Pohranite generirani sadržaj za smanjenje API poziva i troškova
- Koristite strukturirane izlaze - Zatražite JSON odgovore za pouzdano parsiranje
- Implementirajte logiku ponovnog pokušaja - Rukujte ograničenjima brzine s eksponencijalnim povratkom
- Pratite potrošnju tokena - Pratite potrošnju za kontrolu troškova
- Koristite odgovarajuće modele - Koristite gpt-4o-mini za jednostavne zadatke, gpt-4o za složene
- Validirajte izlaze - Uvijek validirajte AI generirani sadržaj prije slanja klijentima
Sigurnost
- Bearer token autentifikacija - API ključevi preneseni putem zaglavlja Authorization
- Samo na strani servera - Nikada ne izlažite API ključeve u kodu na strani klijenta
- Rotacija ključeva - Redovito rotirajte API ključeve putem OpenAI nadzorne ploče
- Praćenje potrošnje - Postavite ograničenja potrošnje u OpenAI postavkama naplate
- Moderacija sadržaja - Koristite Moderations API za filtriranje nesigurnog sadržaja
- Privatnost podataka - Pregledajte OpenAI politike korištenja podataka za vaš slučaj upotrebe