- Added complete MMS (Multimedia Messaging Service) functionality
MMSServiceclass with methods for sending MMS with imagessendWithImage()- Upload and send MMS in one stepgetSignedUploadUrl()- Get S3 signed URL for image uploaduploadImageToSignedUrl()- Upload image to S3send()- Send MMS to multiple recipientssendSingle()- Send MMS to a single recipient- Support for JPEG, PNG, GIF, and other image formats
- Automatic image upload to S3 with signed URLs
- Added
WebhookEventmodel for parsing webhook payloads parseWebhookEvent()- Parse incoming webhook JSONvalidateWebhookSignature()- HMAC SHA-256 signature validation- Constant-time signature comparison for security
- Support for all event types: SMS/Email sent/delivered/failed, contact unsubscribed
- Added
debugModeflag for detailed logging - Added
maxRetriesconfiguration for automatic retry logic - Added
timeoutMsconfiguration for request timeouts - Improved validation with helpful error messages
- Already present:
useTestEnvironmentconfiguration option - Automatic URL switching between production and test environments
- Environment variable overrides for custom URLs
- Created
MMSService,MMSRequest,MMSCampaignclasses - Created
Accountclass for MMS recipients - Created
SignedUploadUrlRequestandSignedUploadUrlResponseclasses - Enhanced
WebhookServicewith event parsing and signature validation - Updated
CCAIClientto includemmsservice - All implementations in Kotlin for consistency
None - This release is backward compatible with 1.0.0
If upgrading from 1.0.0:
- Update dependency version to 1.0.1
- Optionally add
CCAI_USE_TEST_ENVIRONMENT=trueto use test environment - No code changes required - all existing SMS and Email code continues to work
- New MMS functionality available via
ccai.mms
- Java 11+
- Kotlin 1.9.0
- OkHttp 4.x
- Jackson 2.x
- SMS messaging support
- Email campaign support
- Webhook management
- Spring Boot integration
- Comprehensive error handling