Product•2 min read

Migrating from Resend to Piisend without downtime

Transitioning your transactional email provider can be smooth with the right strategy. Learn how to migrate your email API from Resend to Piisend, a robust Resend alternative, ensuring zero downtime for your critical transactional email API flows.

Migrating from Resend to Piisend without downtime

Section 1

Seamlessly Transitioning Your Transactional Email API

Migrating your transactional email API provider is a critical task that demands careful planning to avoid service interruptions. As a robust Resend alternative, Piisend offers a developer-friendly API designed for high deliverability and ease of integration. This guide outlines a step-by-step process for a smooth API migration from Resend to Piisend, ensuring your essential email communications remain uninterrupted throughout the transition.

Section 2

Mapping Your API Calls: Resend to Piisend

The core of any API migration is understanding the endpoint and payload differences. Piisend's API is intuitive, focusing on a single, powerful endpoint for sending emails. You'll map your existing Resend API calls to Piisend's POST https://api.piisend.com/api/v1/emails endpoint, adjusting the request body as needed. Our API supports to, from, subject, html, text, and variables for dynamic content.

bash
1curl -X POST https://api.piisend.com/api/v1/emails \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "to": "recipient@example.com",
6 "from": "sender@yourdomain.com",
7 "subject": "Your Order Confirmation",
8 "html": "<h1>Thanks for your order!</h1><p>Your order #12345 has been placed.</p>",
9 "text": "Thanks for your order! Your order #12345 has been placed."
10 }'

Section 3

Recreating Templates and Handling Merge Variables

If you're using templates in Resend, you'll want to recreate them within Piisend's platform. Piisend supports dynamic content through merge variables, allowing you to personalize emails just as you did before. Ensure your template variables in Piisend match the keys you'll send in your API request payload. This ensures a consistent user experience and simplifies your code.

python
1import requests
2
3api_key = "YOUR_API_KEY"
4url = "https://api.piisend.com/api/v1/emails"
5headers = {
6 "Authorization": f"Bearer {api_key}",
7 "Content-Type": "application/json"
8}
9payload = {
10 "to": "recipient@example.com",
11 "from": "sender@yourdomain.com",
12 "subject": "Welcome to Piisend!",
13 "html": "<p>Hello <strong>{{name}}</strong>, welcome to Piisend!</p>",
14 "text": "Hello {{name}}, welcome to Piisend!",
15 "variables": {
16 "name": "Developer"
17 }
18}
19
20response = requests.post(url, headers=headers, json=payload)
21
22if response.status_code == 200:
23 print("Email sent successfully!")
24 print(response.json())
25else:
26 print(f"Failed to send email: {response.status_code}")
27 print(response.text)

Section 4

Configuring Webhooks and a Parallel Send Strategy

For critical event tracking, configure Piisend webhooks to receive delivery events like delivered, opened, clicked, and bounced. A robust API migration strategy often involves a period of parallel sending, where you send emails through both Resend and Piisend for a subset of your traffic. This allows you to compare delivery rates and webhook responses, building confidence before a full cutover. Monitor your Piisend delivery logs closely during this phase.

Section 5

Verifying Your Domain and Finalizing the Switch

Before fully cutting over, ensure your sending domains are verified in Piisend, including proper SPF and DKIM records. This is crucial for email deliverability and sender reputation. Once you've thoroughly tested Piisend with a parallel send strategy and verified your domain, you can confidently switch all your transactional email traffic to Piisend. Enjoy the benefits of a reliable and scalable email API for developers.

Start sending

Ship transactional email in minutes

Create an API key, verify a domain, and send your first message with Piisend.