Registro de cambios

Prevenir emails duplicados con idempotency

Publicado el:

Con la nueva función de idempotency en Lettermint, puedes prevenir que los destinatarios reciban emails duplicados. Con una idempotency key, puedes asegurarte de que un email se envíe solo una vez, incluso si se realizan múltiples intentos de envío a través de API, SMTP u otras integraciones.

¿Qué es idempotency?

Idempotency es un término que se usa a menudo en el mundo del desarrollo de software. Significa que una operación siempre produce el mismo resultado, sin importar cuántas veces se realice. En el caso de los emails, idempotency asegura que el mismo email no se envíe múltiples veces al mismo destinatario.

Imagina que ocurre un problema de red o que una función dentro de una aplicación se ejecuta accidentalmente dos veces. Con idempotency, puedes prevenir emails duplicados.

¿Cuándo usar idempotency?

Idempotency es útil en situaciones donde deseas evitar que la misma acción se realice múltiples veces, como:

  • Errores de usuario: Asegura que al hacer clic en un botón solo se envíe un email.
  • Problemas del servidor: Previene emails duplicados en caso de errores del servidor.
  • Problemas de red: Previene emails duplicados durante interrupciones.

Por lo tanto, no es un problema enviar todos los emails con idempotency de manera predeterminada. Esto es especialmente útil para los transactional emails con información importante.

¿Cómo funciona idempotency en Lettermint?

Idempotency está disponible en muchas de nuestras integraciones, como PHP, Laravel, Node.js y a través de nuestro SMTP y API. Esto facilita la aplicación de idempotency y asegura que los emails se envíen sin duplicados.

A continuación, se muestra un ejemplo de cómo usar esta función en nuestro SDK de PHP:

          $lettermint = new Lettermint\Lettermint('your-api-token');

$lettermint->email
    ->from('John Doe <john@yourdomain.com>')
    ->to('recipient@example.com')
    ->subject('Hello from Lettermint!')
    ->text('Hello! This is a test email.')
    ->idempotencyKey('123e4567-e89b-12d3-a456-426614174000')
    ->send();

        

En este ejemplo, se utiliza el idempotencyKey para asegurarse de que el email se envíe solo una vez, incluso si la función send() se llama varias veces con la misma key.

¿Quieres saber más sobre idempotency y ver ejemplos de otras integraciones como Node.js, SMTP o API? Consulta nuestra documentación.