ISV Partner Program: Embed Messaging via API | SendSeven

Embed WhatsApp, SMS, email and more in your SaaS with one API. Usage-based pricing, OAuth2 apps, real-time webhooks, isolated tenants per customer.

Add Messaging to Your Product, Not to Your Complexity

Embed every messaging channel into your SaaS through a single API. No fixed platform fees, costs scale with your customers' usage. OAuth2 for secure account connections, and real-time webhook events for instant sync.

Building messaging from scratch means integrating with WhatsApp's Business Platform API, Telegram's Bot API, Meta's Messenger Platform, Instagram's Graph API, SMS gateways, email infrastructure, and a live chat system. Each has its own auth, webhooks, rate limits, and compliance rules. Even maintaining one channel requires ongoing work as platforms update APIs and deprecate endpoints. For most SaaS products, messaging is not the core value; it supports the core product. A CRM needs WhatsApp messages, an e-commerce platform needs order confirmations, a scheduling tool needs reminders. The question is how to add messaging without diverting your engineering team from what makes your product valuable.

SendSeven provides a unified REST API where every messaging channel follows the same request and response patterns. You write your integration once, and it works across WhatsApp, SMS, Email, Instagram DM, Facebook Messenger, Live Chat, Telegram, and Browser Push. The API handles channel-specific formatting, rate limiting, and delivery optimization internally so your code stays clean and channel-agnostic.

Every channel follows the same request/response pattern: same endpoint, same JSON structure, different channel parameter. Responses include delivery status, message ID, timestamp, and cost in a consistent format. No channel-specific logic needed for basic operations. OpenAPI 3.0 spec with interactive docs and consistent error handling across all endpoints.

Real-time notifications for every messaging lifecycle event: sent, delivered, read, received, failed. Plus conversation, contact, campaign, and email events (opens, bounces, complaints). Each payload includes full object data, no follow-up API calls needed. Configure which events each endpoint receives. HMAC-SHA256 signed with automatic retry and exponential backoff.

Customers connect their SendSeven accounts via standard OAuth2 authorization code flow. Your app requests scopes, customers review and approve, and you receive access/refresh tokens, never handling credentials directly. Supports PKCE for SPAs, refresh token rotation, and granular scope selection.

A CRM adds a "Send WhatsApp" button to customer profiles. The API sends through the customer's connected WhatsApp Business account, and incoming replies trigger webhooks back to your platform. Conversations display inline; the sales rep never leaves your product. Message history sits alongside deal stages, support tickets, and contact activity.

A scheduling app sends reminders via WhatsApp, SMS, or Email: same API call, different channel parameter. Delivery receipts come back via webhooks. If WhatsApp fails, automatically fall back to SMS using the same API. One code path handles all channels. 10,000 reminders/month costs EUR 250 on Pay as you go or EUR 120 on Business.

Add support capabilities without building messaging infrastructure. Incoming messages trigger webhooks; your platform routes conversations based on product area, language, tier, or availability. Agents see conversations in your interface and reply through the API. Upload product docs to the knowledge base, and AI generates contextual reply suggestions. The entire support flow is embedded in your product, with SendSeven handling the infrastructure invisibly.

We built SendSeven's API for developers who have integrated with enough poorly documented services to know the difference. The developer experience starts with comprehensive documentation and extends through testing, debugging, and production monitoring.

Full OpenAPI 3.0 spec with try-it-out on every endpoint. Request/response examples per channel, error code docs, rate limit info, and auth guides. Generated from the live API schema, always in sync.

Ready-to-run examples in Python, Node.js, PHP, and cURL. Send your first message in under ten lines of code. Includes webhook receiver templates and common patterns for delivery receipts and conversation management.

100 test messages to try before going live. Full API access with no feature limitations. Test webhooks with real delivery events. Same endpoints as production, no code changes needed to go live.

Direct access to our engineering team. Architecture reviews, optimization suggestions, and when you hit edge cases, you talk to the engineers who built the API. Average response time under four hours.

Pay as you go (9 EUR/channel/mo) is ideal for building or launching with unpredictable volume: a low per-channel minimum consumed by usage, no per-seat fees. Scale (EUR 199/mo) and Business (EUR 499/mo) reduce per-message costs by 28% and 52%. No per-user fees, so your customers can invite their entire team. Example: 100 customers sending 500 messages each = 50,000/mo. Cost: EUR 1,250 (Pay as you go), EUR 900 (Scale), or EUR 600 (Business).

FAQ

Can my customers have separate SendSeven accounts?

Yes. Each customer gets their own tenant with isolated data, separate channels, and independent billing. Your OAuth2 integration connects to their tenant within granted scopes. You can also manage tenants centrally if your model requires it; both patterns are supported.

What are the rate limits for API calls?

Rate limits scale with your plan and comfortably support high-throughput sending, with higher limits for read operations. Bulk campaign endpoints handle thousands of messages per minute with built-in queuing and retry. Contact us for your tenant's specific limits or to raise them.

Do you support channel fallback?

Yes. Attempt the preferred channel first, monitor delivery via webhooks, and fall back to another channel using the same API. Delivery status webhooks provide clear signals (delivered, read, failed with reason code) for your fallback logic.

How do I handle multiple tenants in my integration?

Each OAuth2 token maps to a specific tenant. Store tokens per customer and include in the Authorization header; the token determines which tenant the request operates on. No manual tenant routing needed. Refresh via standard OAuth2 flow.