Skip to main content

Provider Overview

MessagePipe supports multiple email and SMS providers with automatic failover capabilities. This ensures reliable message delivery even when individual providers experience issues.

How Provider Failover Works

MessagePipe uses a priority-based system:

  1. Priority Assignment: Each provider gets a priority number (lower = higher priority)
  2. Primary Attempt: MessagePipe tries the highest priority provider first
  3. Automatic Failover: If the primary fails, it tries the next highest priority provider
  4. Success or Exhaustion: Process continues until successful delivery or all providers fail

Provider Priority Example

Provider A (Priority 1) → Try first
Provider B (Priority 2) → Try if A fails
Provider C (Priority 3) → Try if A and B fail

Supported Providers

Email Providers

  • SendGrid
  • Mailgun
  • Amazon SES
  • SMTP

SMS Providers

  • Twilio
  • Termii
  • Amazon SNS

Configuration Requirements

Each provider type requires specific configuration parameters:

Email Provider Schemas

Get configuration schemas for all email providers:

GET /email-config/provider-schemas
Authorization: Bearer {your-jwt-token}

Get schema for a specific email provider:

GET /email-config/provider-schemas/{provider}
Authorization: Bearer {your-jwt-token}

SMS Provider Schemas

Get configuration schemas for all SMS providers:

GET /sms-config/provider-schemas  
Authorization: Bearer {your-jwt-token}

Get schema for a specific SMS provider:

GET /sms-config/provider-schemas/{provider}
Authorization: Bearer {your-jwt-token}

Provider Management

List Configured Providers

Email Providers:

GET /email-config/providers?projectId={projectId}
Authorization: Bearer {your-jwt-token}

SMS Providers:

GET /sms-config/providers?projectId={projectId}
Authorization: Bearer {your-jwt-token}

Provider Status

Providers can be:

  • Enabled: Available for message sending
  • Disabled: Temporarily excluded from failover chain
  • Priority: Order in failover sequence

Best Practices

  • Configure multiple providers
  • Set different priorities to control failover order
  • Test provider configurations before going live
  • Monitor provider performance and adjust priorities as needed
  • Keep provider credentials secure and rotate regularly
  • Use primary providers with proven reliability for your region