Route · Email API
Email API
Отправляйте OTP, сбросы паролей, уведомления об аккаунте, счета и lifecycle-сообщения через один API. Sendarix рассчитан на предсказуемое поведение в масштабе, а не на хрупкие интеграции.
# Отправить критическое письмо через routing policy curl -sS -X POST 'https://app.sendarix.com/v1/email/send' \ -H 'Content-Type: application/json' \ -H 'X-API-Key: YOUR_API_KEY' \ -H 'Idempotency-Key: otp_8842' \ -d '{"to":"user@acme.com","template":"password_reset","routing_policy":"transactional-critical"}'
const sendarix = require("sendarix")(process.env.SENDARIX_KEY); await sendarix.email.send({ to: "user@acme.com", template: "password_reset", routingPolicy: "transactional-critical", idempotencyKey: "otp_8842" });
# Drop-in SMTP — сохраните интеграцию и получите control plane host: smtp.sendarix.com port: 587 (STARTTLS) username: "your_sending_key" header: X-Sendarix-Policy: transactional-critical
Стабильный контракт
Практичный API для команд, которые быстро выпускают продукт
Аутентифицируйте запросы, отправляйте сообщения и отслеживайте результаты в едином конвейере. Каждую отправку можно наблюдать через логи, события и вебхуки.
Репрезентативный UI продукта — примерные данные, не live-метрики клиентов.
Что вы получаете
API намеренно простой: создавать и отправлять сообщения, проверять исходы и автоматизировать реакции. Это помогает продуктовым командам двигаться быстрее без потери надёжности.
Быстрая интеграция по REST
Понятные шаблоны запрос/ответ и предсказуемое поведение для современных бэкенд-сервисов и внутренних инструментов.
Отслеживание жизненного цикла сообщения
Отслеживайте состояния принято, доставлено, отказ (bounce) и жалобы, чтобы продукт реагировал в реальном времени.
Операционная прозрачность
Поиск по логам и потоки событий сокращают время разбора, когда пользователи сообщают о проблемах доставки.
Масштаб без переписывания
От ранних нагрузок до высокопоточных сценариев — один контракт API по мере роста объёма.
Подстановка данных в шаблоны
Передавайте динамические переменные аккуратно, чтобы транзакционные шаблоны оставались согласованными между продуктами.
Идемпотентные паттерны отправки
Предотвращайте дубли при повторных попытках с детерминированной обработкой запросов.
Типичный поток API
Простой шаблон, который команда реализует один раз и переиспользует во всех транзакционных сценариях.
1. Отправка запроса
Ваш сервис публикует полезную нагрузку с получателем, данными шаблона и метаданными.
2. Проверка и очередь
Проверки входных данных, логика подавления и постановка в очередь выполняются до этапа доставки.
3. Доставка
Сообщения маршрутизируются к провайдерам назначения с контролируемым поведением отправки.
4. Потребление событий
Используйте вебхуки и логи для обновления состояния продукта и запуска downstream-автоматизации.
Частые вопросы
Можно ли использовать API и SMTP вместе?
Да. Многие команды используют API для прикладных сценариев, а SMTP для легаси во время миграции.
Есть ли события по каждому сообщению?
Да. События доставки, отказов и жалоб доступны для операционных и продуктовых процессов.
Подходит ли высокий объём трафика?
Да. Та же модель API используется от фаз низкого объёма до устойчивой высокой нагрузки.
Нужны ли SPF, DKIM и DMARC для отправки через API?
Настоятельно рекомендуется аутентифицировать домен отправки. Это улучшает оценку почты провайдерами и является базовым ожиданием для продакшена.
Как устроены API-ключи и права?
Можно выдавать ключи для разных сред или сервисов и ограничивать действия каждого ключа, изолируя staging, CI и production.
Что если интеграция шлёт неверные или дублирующие запросы?
API возвращает понятные ошибки валидации для некорректных полезных нагрузок. При повторах используйте стабильные идентификаторы в приложении, чтобы не продублировать пользовательское письмо.
Можно ли связать вызовы API с последующей доставкой?
Да. Идентификаторы сообщений и временные линии событий связывают конкретную отправку API с исходами принято, доставлено, отказ, отложено.
Подходит ли Email API для сброса паролей и OTP?
Да. Это классические транзакционные сценарии: ожидание низкой задержки, высокая потребность в видимости и тесная связь с auth/риск-системами.
Нужен ли только HTTPS для трафика API?
Да. TLS защищает учётные данные и метаданные сообщений в пути. Относитесь к эндпоинтам API как к любой другой продакшен-поверхности с секретами.
What is the request rate limit on the Email API?
Rate limits vary by plan. Standard plans allow 1,000 requests/minute; enterprise plans support higher throughput. Rate limit headers are included in every response (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset). Exceeding the limit returns 429 Too Many Requests.
How do we handle API failures gracefully in our application?
Implement exponential backoff with jitter for retries. Treat 429 as a signal to slow down, 5xx as transient errors to retry, and 4xx (except 429) as permanent failures that should not retry. Store the message_id from successful submissions to correlate with downstream webhook events.
What is the maximum message size via API?
Messages up to 50MB total payload are accepted. For files larger than 25MB, Sendarix recommends hosting files externally and including a signed download link in the email body rather than attaching directly. Some mail servers reject messages exceeding 25MB.
Can we schedule email delivery for a future time?
Yes. Pass a scheduled_time parameter (ISO 8601 UTC timestamp) in your API request. Messages are queued and delivered at the specified time. Scheduled messages can be cancelled before delivery by calling the message cancel endpoint with the message_id.
How do we handle unsubscribe programmatically via the API?
The API provides /unsubscribes endpoints for managing suppression records. When a user unsubscribes, add them via the API to prevent future sends to that address. This integrates with the email webhooks unsubscribe event for automatic suppression list updates.
What response codes should our retry logic handle?
Handle these specifically: 200 OK (success, no retry), 400 Bad Request (invalid payload, fix before retry), 401 Unauthorized (invalid API key, do not retry), 422 Unprocessable Entity (validation error, fix payload), 429 Too Many Requests (rate limited, retry after X-RateLimit-Reset), 500 Internal Server Error (transient, retry with backoff).
Связанные продукты
Защитите критически важную почту по всем tenants.
Перенесите самый критичный поток в Sendarix на этой неделе. Все остальное оставьте там, где оно есть.
