Conector OpenAI

Conecte o OpenAI ao Brevo através do Tajo para aproveitar a geração de conteúdo com IA, análise de sentimento de clientes, segmentação inteligente e análises preditivas para seus workflows de automação de marketing.

Visão geral

PropriedadeValor
PlataformaOpenAI
CategoriaIA / ML (Personalizado)
Complexidade de configuraçãoMédia
Integração oficialNão
Dados sincronizadosConteúdo, Embeddings, Insights, Predições
Método de autenticaçãoAPI Key (Bearer Token)

Recursos

  • Geração de conteúdo com IA - Gere assuntos de e-mail, corpo de texto e CTAs com modelos GPT
  • Análise de sentimento de clientes - Analise tickets de suporte e feedback com pontuação de sentimento
  • Segmentação inteligente - Use embeddings para agrupar clientes por padrões de comportamento
  • Análises preditivas - Preveja churn, LTV e propensão de compra
  • Conteúdo multilíngue - Gere conteúdo de marketing em qualquer idioma suportado
  • Geração de imagens - Crie imagens para campanhas com integração DALL-E

Pré-requisitos

Antes de começar, certifique-se de ter:

  1. Uma conta OpenAI com acesso à API
  2. Uma chave de API do painel da OpenAI
  3. Uma conta Brevo com acesso à API
  4. Uma conta Tajo com permissões de conector
  5. Créditos suficientes na API OpenAI para o uso esperado

Autenticação

Autenticação por API Key

A OpenAI usa autenticação Bearer token para todas as requisições à 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
};

Segurança da API Key

Nunca exponha sua API key da OpenAI em código do lado do cliente. Sempre use variáveis de ambiente e requisições do lado do servidor. Faça rotação periódica das chaves pelo painel da OpenAI.

Configuração

Configuração básica

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

Templates de geração de conteúdo

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

Endpoints da API

EndpointMétodoDescrição
https://api.openai.com/v1/responsesPOSTCriar respostas de IA (Responses API)
https://api.openai.com/v1/chat/completionsPOSTGerar completions de texto
https://api.openai.com/v1/embeddingsPOSTCriar embeddings de texto
https://api.openai.com/v1/images/generationsPOSTGerar imagens
https://api.openai.com/v1/audio/speechPOSTGeração de texto para fala
https://api.openai.com/v1/audio/transcriptionsPOSTTranscrição de fala para texto
https://api.openai.com/v1/moderationsPOSTModeração de conteúdo
https://api.openai.com/v1/modelsGETListar modelos disponíveis

Exemplos de código

Inicializar o conector

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

Gerar conteúdo de e-mail

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

Análise de sentimento do cliente

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

Segmentação inteligente com 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

Limites de taxa

ModeloRPM (Requisições/Min)TPM (Tokens/Min)RPD (Requisições/Dia)
gpt-4o50030.00010.000
gpt-4o-mini500200.00010.000
text-embedding-3-small5001.000.00010.000
dall-e-35N/A200

Cabeçalhos de limite de taxa

Monitore os cabeçalhos de limite de taxa (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) nas respostas da API para implementar throttling proativo e evitar erros 429.

Solução de problemas

ProblemaCausaSolução
401 UnauthorizedAPI key inválidaVerifique a chave no painel da OpenAI
429 Rate LimitedMuitas requisiçõesImplemente backoff exponencial
500 Server ErrorIndisponibilidade da OpenAIVerifique status.openai.com e tente novamente
Resposta truncadamax_tokens muito baixoAumente o parâmetro max_tokens
Qualidade ruim do conteúdoTemperature muito altaReduza a temperature para consistência

Modo de depuração

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

Melhores práticas

  1. Faça cache das respostas - Armazene conteúdo gerado para reduzir chamadas à API e custos
  2. Use saídas estruturadas - Solicite respostas em JSON para parsing confiável
  3. Implemente lógica de retry - Trate limites de taxa com backoff exponencial
  4. Monitore o uso de tokens - Acompanhe o consumo para controlar custos
  5. Use os modelos apropriados - Use gpt-4o-mini para tarefas simples, gpt-4o para as complexas
  6. Valide as saídas - Sempre valide conteúdo gerado por IA antes de enviar aos clientes

Segurança

  • Autenticação Bearer token - API keys transmitidas via cabeçalho Authorization
  • Somente do lado do servidor - Nunca exponha API keys em código do lado do cliente
  • Rotação de chaves - Faça rotação das API keys regularmente pelo painel da OpenAI
  • Monitoramento de uso - Defina limites de gasto nas configurações de cobrança da OpenAI
  • Moderação de conteúdo - Use a Moderations API para filtrar conteúdo inseguro
  • Privacidade de dados - Revise as políticas de uso de dados da OpenAI para seu caso de uso

Recursos relacionados

Subscribe to updates

developer-docs

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

auto-detect
Assistente AI

Olá! Pergunte-me qualquer coisa sobre a documentação.