> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AutoSend

> Scopri come utilizzare l'API email di AutoSend per inviare email transazionali automatizzate per le tue transazioni, rimborsi ed eventi di pagamento di Dodo Payments.

## Introduzione

L'integrazione tra AutoSend e Dodo Payments ti consente di inviare automaticamente notifiche email in tempo reale per tutti gli eventi di pagamento, dalle transazioni riuscite ai tentativi falliti e alle conferme di rimborso.

Invia email transazionali per eventi di pagamento utilizzando la potente API email di AutoSend.

<Info>
  Questa integrazione richiede la tua chiave API AutoSend per l'autenticazione. Puoi trovare la tua chiave API nella dashboard di AutoSend in Impostazioni > Chiavi API.
</Info>

## Iniziare

Segui questi passaggi per integrare AutoSend con Dodo Payments:

<Steps>
  <Step title="Open Webhook Section">
    Vai alla sezione Webhooks nella dashboard di Dodo Payments.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/VOF9xBBvs1EjN4xq/images/integrations/autosend.png?fit=max&auto=format&n=VOF9xBBvs1EjN4xq&q=85&s=8645c6b295d3fecdf62f046e4480b1e4" alt="Aggiungi Endpoint e menu a tendina integrazioni" style={{ maxHeight: '500px', width: 'auto' }} width="1750" height="1234" data-path="images/integrations/autosend.png" />
    </Frame>
  </Step>

  <Step title="Select AutoSend Integration">
    Scegli AutoSend dall'elenco delle integrazioni disponibili.
  </Step>

  <Step title="Enter API Key">
    Fornisci la tua chiave API AutoSend per l'autenticazione. Puoi trovare la tua chiave API nella dashboard di AutoSend in Impostazioni > Chiavi API.

    <Card title="Learn how to create and manage API keys" icon="key" href="https://docs.autosend.com/api-keys">
      Consulta la documentazione di AutoSend per istruzioni dettagliate sulla creazione e gestione delle chiavi API.
    </Card>
  </Step>

  <Step title="Configure Transformation">
    Configura gestori di trasformazione JavaScript per personalizzare il contenuto delle email in base agli eventi di pagamento.
  </Step>

  <Step title="Test & Create">
    Testa la configurazione del webhook per assicurarti che le email vengano inviate correttamente, quindi crea l'integrazione.
  </Step>

  <Step title="Activation Complete">
    🎉 La tua integrazione AutoSend è ora attiva e invierà automaticamente email per gli eventi di pagamento configurati.
  </Step>
</Steps>

## Esempi di codice

### Email di conferma pagamento

Invia un'email di conferma quando un pagamento viene elaborato con successo:

```javascript payment_confirmation.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: p.customer.email,
        name: p.customer.name,
      },
      from: {
        email: "payments@mail.yourdomain.com",
        name: "Your Company",
      },
      subject: "Payment Successful - Thank you for your purchase!",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: p.customer.name,
        amount: p.amount,
        currency: p.currency,
        paymentId: p.payment_id,
        paymentDate: new Date(p.created_at).toLocaleDateString(),
      },
      replyTo: {
        email: "support@yourdomain.com",
        name: "Support Team",
      },
    };
  }
  return webhook;
}
```

### Email di benvenuto per abbonamento

Invia un'email di benvenuto quando viene creato un nuovo abbonamento:

```javascript subscription_welcome.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "subscription.active") {
    const s = webhook.payload.data;
    webhook.url = "https://api.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: s.customer.email,
        name: s.customer.name,
      },
      from: {
        email: "subscriptions@mail.yourdomain.com",
        name: "Your Company",
      },
      subject: "Welcome to your subscription!",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: s.customer.name,
        planName: s.plan.name,
        billingInterval: s.billing_interval,
        nextBillingDate: new Date(s.next_billing_at).toLocaleDateString(),
        subscriptionId: s.subscription_id,
      },
      replyTo: {
        email: "support@yourdomain.com",
        name: "Support Team",
      },
    };
  }
  return webhook;
}
```

### Notifica di fallimento pagamento

Invia un'email di notifica quando un pagamento fallisce:

```javascript payment_failure.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "payment.failed") {
    const p = webhook.payload.data;
    webhook.url = "https://api.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: p.customer.email,
        name: p.customer.name,
      },
      from: {
        email: "billing@mail.yourdomain.com",
        name: "Your Company Billing",
      },
      subject: "Payment Failed - Action Required",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: p.customer.name,
        amount: p.amount,
        currency: p.currency,
        failureReason: p.failure_reason,
        paymentId: p.payment_id,
        retryUrl: `https://yourdomain.com/billing/retry/${p.payment_id}`,
      },
      replyTo: {
        email: "billing@yourdomain.com",
        name: "Billing Support",
      },
    };
  }
  return webhook;
}
```

## Migliori pratiche

* **Verifica il tuo dominio mittente**: Assicurati che il dominio email del mittente sia verificato in AutoSend per migliorare la consegna e evitare problemi di autenticazione. I domini verificati aiutano a prevenire che le email finiscano nelle cartelle spam.

* **Usa dati dinamici per la personalizzazione**: Usa il campo `dynamicData` per personalizzare le email con informazioni specifiche del cliente come nomi, importi dei pagamenti e dettagli dell'abbonamento. Le email personalizzate hanno tassi di coinvolgimento più elevati.

* **Scrivi oggetti chiari**: Scrivi oggetti descrittivi che indicano chiaramente lo scopo dell'email. Evita parole che attivano lo spam e mantieni gli oggetti concisi (sotto i 50 caratteri).

* **Testa prima della produzione**: Testa sempre le tue email prima di inviarle in produzione. Questo assicura che il contenuto delle tue email venga visualizzato correttamente e che tutti i dati dinamici siano mappati correttamente.

## Riferimento API

Per dettagli completi sull'API di AutoSend, inclusi tutti i parametri disponibili e i codici di errore, visita la [Documentazione API di AutoSend](https://docs.autosend.com/api-reference/mails/send).

## Risoluzione dei problemi

<AccordionGroup>
  <Accordion title="Emails not being sent">
    * Verifica che la chiave API sia corretta e attiva
    * Controlla che il dominio del mittente sia verificato in AutoSend
    * Assicurati che gli indirizzi email dei destinatari siano validi
    * Esamina i limiti e le quote di invio di AutoSend
    * Verifica che l'URL dell'endpoint API sia corretto: `https://api.autosend.com/v1/mails/send`
    * Controlla che i parametri richiesti siano presenti nel payload
  </Accordion>

  <Accordion title="Transformation errors">
    * Verifica che la struttura JSON corrisponda al formato API di AutoSend
    * Controlla che tutti i campi obbligatori siano presenti (`to`, `from`, `templateId` o `html`/`text`)
    * Assicurati che gli indirizzi email siano formattati correttamente
    * Verifica che `templateId` sia valido se si utilizzano template
    * Controlla che le chiavi `dynamicData` corrispondano alle variabili del template
  </Accordion>

  <Accordion title="Template issues">
    * Verifica che il tuo ID template sia corretto e attivo in AutoSend
    * Assicurati che le chiavi `dynamicData` corrispondano alle variabili utilizzate nel template
    * Controlla che tutte le variabili richieste del template siano fornite
    * Testa il tuo template in modo indipendente nella dashboard di AutoSend
  </Accordion>
</AccordionGroup>
