---
title: "Connettore OpenAI"
description: "Guida completa all'integrazione di OpenAI per generazione di contenuti AI-powered, insight sui clienti e marketing automation intelligente con Brevo tramite Tajo."
url: https://tajo.io/it/docs/connectors/custom/openai/
markdown: https://tajo.io/it/docs/connectors/custom/openai.md
lang: it-IT
robots: noindex
---

Richiedi l’accesso anticipato

Inserisci il tuo nome e indirizzo email aziendale. Ti invieremo un link per confermare la richiesta di accesso a Tajo.

# Connettore OpenAI

Stato del connettore: Pianificato Non ancora realizzato. Oggi Tajo non esegue questo connettore.

| Campo di origine | Campo di destinazione | Valore di esempio |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Collega OpenAI a Brevo tramite Tajo per sfruttare generazione di contenuti AI-powered, analisi del sentiment, segmentazione intelligente e analytics predittive nei tuoi flussi di marketing automation.

## Panoramica

| Proprietà | Valore |
| --- | --- |
| **Piattaforma** | OpenAI |
| **Categoria** | AI / ML (Custom) |
| **Complessità di setup** | Media |
| **Integrazione ufficiale** | No |
| **Dati sincronizzati** | Contenuti, Embeddings, Insight, Predizioni |
| **Metodo di autenticazione** | API Key (Bearer Token) |

## Funzionalità

- **Generazione contenuti AI** - Genera oggetti email, corpo del messaggio e CTA con i modelli GPT
- **Analisi sentiment clienti** - Analizza ticket di supporto e feedback per calcolare sentiment score
- **Segmentazione smart** - Usa embeddings per raggruppare i clienti per pattern di comportamento
- **Analytics predittive** - Prevedi churn, LTV e propensione all’acquisto
- **Contenuti multilingua** - Genera contenuti marketing in qualsiasi lingua supportata
- **Generazione immagini** - Crea visual per campagne con l’integrazione DALL-E

## Prerequisiti

Prima di iniziare, assicurati di avere:

1. Un account OpenAI con accesso API
2. Una API key dalla [dashboard OpenAI](https://platform.openai.com/api-keys)
3. Un account Brevo con accesso API
4. Un account Tajo con permessi sui connettori
5. Crediti API OpenAI sufficienti per l’uso previsto

## Autenticazione

### Autenticazione con API Key

OpenAI usa l’autenticazione Bearer token per tutte le richieste API:

```bash
# Imposta le tue API key
export OPENAI_API_KEY=sk-your-api-key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key
```

```javascript
// Tutte le richieste richiedono l'header Authorization
const headers = {
  'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
  'Content-Type': 'application/json'
};

// Per accesso con scope di organizzazione
const orgHeaders = {
  ...headers,
  'OpenAI-Organization': process.env.OPENAI_ORG_ID,
  'OpenAI-Project': process.env.OPENAI_PROJECT_ID
};
```

Sicurezza dell'API key

Non esporre mai la tua API key OpenAI in codice client-side. Usa sempre variabili d’ambiente e richieste server-side. Ruota periodicamente le chiavi tramite la dashboard OpenAI.

## Configurazione

### Setup di base

```yaml
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
```

### Template di generazione contenuti

```yaml
templates:
  email_subject:
    model: "gpt-4o"
    system_prompt: |
      Sei un esperto di email marketing. Genera oggetti
      efficaci che aumentino il tasso di apertura.
    max_tokens: 100
    temperature: 0.8

  email_body:
    model: "gpt-4o"
    system_prompt: |
      Genera contenuti email personalizzati basati sui dati
      cliente e sugli obiettivi della campagna.
    max_tokens: 2048
    temperature: 0.7
```

## Endpoint API

| Endpoint | Metodo | Descrizione |
| --- | --- | --- |
| `https://api.openai.com/v1/responses` | POST | Crea risposte AI (Responses API) |
| `https://api.openai.com/v1/chat/completions` | POST | Genera completion di testo |
| `https://api.openai.com/v1/embeddings` | POST | Crea embedding di testo |
| `https://api.openai.com/v1/images/generations` | POST | Genera immagini |
| `https://api.openai.com/v1/audio/speech` | POST | Generazione text-to-speech |
| `https://api.openai.com/v1/audio/transcriptions` | POST | Trascrizione speech-to-text |
| `https://api.openai.com/v1/moderations` | POST | Moderazione contenuti |
| `https://api.openai.com/v1/models` | GET | Elenca i modelli disponibili |

## Esempi di codice

### Inizializzare il connettore

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

### Generare contenuti email

```javascript
// Genera oggetti email personalizzati
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: 'Genera 5 oggetti email efficaci per il lancio di un prodotto.'
      },
      {
        role: 'user',
        content: `Prodotto: ${product.name}. Target: ${segment.description}.`
      }
    ],
    max_tokens: 200,
    temperature: 0.8
  })
});

const result = await response.json();
const subjectLines = result.choices[0].message.content;
```

### Analisi del sentiment cliente

```javascript
// Analizza il sentiment del feedback cliente
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: 'Analizza il sentiment. Restituisci JSON: {score: -1 a 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 }
});
```

### Segmentazione smart con embeddings

```javascript
// Genera embeddings per il clustering dei clienti
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();
// Usa gli embedding per il clustering clienti basato sulla similarità
```

## Limiti di rate

| Modello | RPM (Richieste/Min) | TPM (Token/Min) | RPD (Richieste/Giorno) |
| --- | --- | --- | --- |
| 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 |

Header del rate limit

Monitora gli header del rate limit (`x-ratelimit-remaining-requests`, `x-ratelimit-remaining-tokens`) nelle risposte API per implementare throttling proattivo ed evitare errori 429.

## Risoluzione dei problemi

| Problema | Causa | Soluzione |
| --- | --- | --- |
| 401 Unauthorized | API key non valida | Verifica la key nella dashboard OpenAI |
| 429 Rate Limited | Troppe richieste | Implementa exponential backoff |
| 500 Server Error | Outage OpenAI | Controlla status.openai.com e riprova |
| Risposta troncata | max\_tokens troppo basso | Aumenta il parametro max\_tokens |
| Qualità contenuti scarsa | Temperature troppo alta | Abbassa la temperature per coerenza |

### Modalità debug

```yaml
connectors:
  openai:
    debug: true
    log_level: verbose
    log_prompts: false  # Non loggare i prompt in produzione
    log_usage: true
```

## Best practice

1. **Memorizza in cache le risposte** - Archivia i contenuti generati per ridurre chiamate API e costi
2. **Usa output strutturati** - Richiedi risposte JSON per un parsing affidabile
3. **Implementa logica di retry** - Gestisci i rate limit con exponential backoff
4. **Monitora l’uso dei token** - Traccia il consumo per controllare i costi
5. **Usa modelli appropriati** - Usa gpt-4o-mini per task semplici, gpt-4o per quelli complessi
6. **Valida gli output** - Valida sempre i contenuti generati dall’AI prima di inviarli ai clienti

## Sicurezza

- **Autenticazione Bearer token** - API key trasmesse tramite header Authorization
- **Solo server-side** - Non esporre mai le API key in codice client-side
- **Rotazione chiavi** - Ruota regolarmente le API key tramite la dashboard OpenAI
- **Monitoraggio dell’uso** - Imposta limiti di spesa nelle impostazioni di fatturazione OpenAI
- **Moderazione dei contenuti** - Usa la Moderations API per filtrare contenuti non sicuri
- **Privacy dei dati** - Rivedi le policy di utilizzo dati di OpenAI per il tuo caso d’uso

## Risorse correlate

- [Connettore Brevo](https://tajo.io/it/docs/connectors/marketing/brevo)
- [Skill Customer Sync](https://tajo.io/it/docs/skills/data-sync/customer-sync)
- [Skill Email Marketing](https://tajo.io/it/docs/skills/email-marketing)
- [OpenAI API Reference](https://platform.openai.com/docs/api-reference)
