Ваши SMS отправляются с вашего телефона.Узнайте, как это работает
ПЛАТФОРМАAPI первая архитектураЗащищенное устройствоВидимость доставкиМногофункциональный контрольВерсионная документация
Разработчик Hub/Электронная почта API

MAIL · 4 документированные операции

Документация API

Отправляйте электронную почту без обмена паролями почтового ящика, извлекайте содержимое почтового ящика и проверяйте статус отмены подписки.

Подключенные каналы электронной почты и обмена сообщениями синхронизированы через облако
Базовый URL RESThttps://api.smsmobileapi.com

JSON ответы · HTTPS требуется · UTF-8

Подключите ключ API

Подключитесь один раз, затем проверьте конечные точки через SMS, звонки, уведомления, WhatsApp и электронную почту.

Начни здесь

Ваш первый запрос в четыре этапа

1

Настройте почтовый ящик на приборной панели.

2

Копируйте как apikey, так и почтовый ящик apikeybox.

3

Сначала отправьте простой текстовый e-mail.

4

Добавлять вложения или встраиваемые изображения только после того, как основной запрос сработает.

WEBHOOK V2 ДЛЯ ЭТОГО API

Подписывайтесь только на мобильные события, которые нужны вашему рабочему процессу.

2 типов событий

Одна конечная точка может принимать всё, либо вы можете разделить продакшн‑системы, аналитику и операционные оповещения. Каждое событие имеет точное имя, чтобы ваше приложение обрабатывало его предсказуемо.

email.sent

Электронное письмо отправлено

Запрос на отправку электронного письма был создан SMSMobileAPI.

email.received

Электронное письмо получено

Подключённый почтовый ящик получил электронное письмо.

Аутентификация

Держите учетные данные на своем сервере

Конечные точки электронной почты требуют учетной записи apikey и почтового ящика apikeybox. Храните как учетные данные на стороне сервера, так и маскируйте их в журналах приложений.

Управление историей

Безопасная история: предварительный просмотр, удаление, отслеживание прогресса

Эти конечные точки очищают выбранную историю сервера для ключа API, а не сообщений на телефонах или внешних службах. Они не обеспечивают удаление аккаунта. После удаления может появиться новая активность.

Прочитайте руководство request_id и повторного использования
Интегрированная защита

По умолчанию, связанные или обрабатывающие записи остаются видимыми. Используйте include_linked=1 только в том случае, если вы согласны с тем, что интеграция или непрерывная обработка могут прекратить работу.

Как работает request_id

  1. Просмотрите подсчеты с action=preview. request_id не требуется, и никакие записи не удаляются.
  2. Создайте уникальный request_id для нового удаления, например, UUID. Сохраните его перед отправкой action=delete.
  3. Для повторных заходов, тайм-аутов или HTTP 202 повторно используйте тот же ключ API, конечную точку истории, значение request_id и include_linked. Никогда не создавайте новый идентификатор автоматически после ошибки.
  4. Когда completed=true будет готов, операция будет завершена. Повторное использование идентификатора возвращает тот же результат вместо удаления вновь поступивших записей. Используйте новый идентификатор только для преднамеренной очистки.

request_id идентифицирует вашу операцию удаления, а не отдельный SMS. Разрешенный формат: 16-128 букв ASCII, цифр, дефисов или подчеркиваний. UUID, созданный с помощью crypto.randomUUID(), подходит.

Удаление выполняется пакетами. При HTTP 202 и continue_required=true повторите action=delete через 3 секунды. Фоновый cron не запускается. action=status только читает прогресс и не продолжает удаление, даже при HTTP 200.

Примеры исключения и статуса

Замените образец request_id на свой собственный уникальный код перед началом. Следующие запросы на удаление изменяют реальную историю учетной записи; они не являются предварительными просмотрами.

POST - ключ API
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
POST - OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
GET - статус
curl -G "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

GET также принимает action=preview или action=delete. Рекомендуется POST: параметры URL могут просачиваться в историю браузера и журналы сервера. Никогда не размещайте URL-адрес удаления в общедоступной ссылке, изображении или приставке.

Для POST отправляйте все параметры в виде тела или объекта JSON, никогда в строке запроса. Неизвестные параметры отклоняются, не поддерживаются фиксированные даты или мобильные фильтры.

Аутентификация конечных точек истории

Используйте apikey или Authorization: Bearer, выпущенный SMSMobileAPI OAuth2. Не отправляйте токен обновления или ключ API в качестве токена Bearer. Просроченные токены отклоняются.

При установлении областей history:read позволяет предварительный просмотр / статус, а history:delete также позволяет удаление. Применяются ограничения как на токен, так и на клиент OAuth. Токены Legacy без ограничений сохраняют свой существующий доступ к учетной записи.

OAuth2 выбирает уникальный основной ключ API. Если существует несколько первичных ключей, также предоставьте apikey для выбора одного из них, принадлежащего учетной записи. Вторичные ключи никогда не предоставляют доступ к истории первичных ключей.

Прочитайте ответ, прежде чем продолжить

count_delete — это кумулятивное число, удаленное этой операцией. selected_at_start - это первоначальный выбор; protected_at_start подсчитывает исключенные записи. Используйте preview.linked_or_processing для подсчета связанных записей, даже если include_linked=1.

JSON 202 HTTP
{
    "result": {
        "error": 0,
        "history": "email",
        "action": "delete",
        "request_id": "6d54ac58-41f1-4fbc-9a39-6e6c86089451",
        "status": "processing",
        "completed": false,
        "count_delete": 100,
        "total_before": 250,
        "selected_at_start": 200,
        "protected_at_start": 50,
        "include_linked": 0,
        "continue_required": true,
        "message": "Repeat GET or POST with the same request_id and include_linked to continue. Status requests do not run deletion."
    }
}
  • 200 с completed=true: готово. Только 200 предварительных просмотров или ответов о статусе не доказывают завершенность.
  • 400 INVALID_REQUEST_ID: проверьте формат. 404 REQUEST_NOT_FOUND: для этого идентификатора, ключа API и истории не существует никакой операции.
  • 401: недействительные или просроченные учетные данные. 403: недостаточный объем OAuth или несанкционированная учетная запись.
  • 409 HISTORY_BUSY: еще одна уборка запущена; продолжайте ее с оригинального клиента. 409 INCLUDE_LINKED_CONFLICT: Восстановите исходное значение include_linked.
  • 409 OAUTH_ACCOUNT_AMBIGUOUS: предоставить ключ API, принадлежащий этой учетной записи.
  • 503 или прерывание сети: некоторые партии могут быть уже завершены. Проверьте конфигурацию, а затем повторите с оригинальным request_id. Не создавайте автоматически замену.
ПОЧТА

Отправить e-mail

#
Смыслhttps://api.smsmobileapi.com/sendemail/

Отправляет текстовую или HTML-почту через настроенный почтовый ящик.

Когда использовать его

Используйте его для транзакционной или оперативной электронной почты из вашего приложения.

Параметры

ИмяТипТребованиеОписание
apikey нить Необходимый Ваша учетная запись API ключ.
apikeybox нить Необходимый API ключ настроенного почтового ящика.
sender_name нить Необходимый Отображайте имя отправителя.
sender_email электронная почта Необходимый Адрес электронной почты отправителя.
recipient_email электронная почта Необходимый Адрес получателя.
mail_subject нить Необходимый Тема электронной почты.
mail_body нить Необходимый Простой текст или HTML тело.
allow_self_signed Да, нет Необходимый Устанавливается только тогда, когда настроенный почтовый сервер использует доверенный внутренний самоподписанный сертификат.
unsubscribe 1 факультативный Добавляет условия отмены подписки и ссылку.
email_cc1 электронная почта факультативный Первый факультативный получатель CC.
email_cc2 электронная почта факультативный Второй факультативный получатель CC.
email_cc3 электронная почта факультативный Третий факультативный получатель CC.
attachmentBase64 основание 64 факультативный Содержимое вложения, закодированное в Base64.
attachmentBase64_name_1 имя файла факультативный Оригинальное имя файла вложения с расширением, например invoice.pdf. Требуется, когда вложение База 64 имеет значение.
charset нить факультативный Набор символов; по умолчанию UTF-8.
embeddedImage HTTPS URL факультативный Изображение для вставки в электронную почту.
embeddedImage_cid нить факультативный Content-ID ссылается на HTML-тело.
format нить факультативный Запрошенный формат ответа.
reply_name нить факультативный Ответ на имя дисплея.
reply_email электронная почта факультативный Ответ на адрес.

Запросить пример

кёрл
curl -X POST "https://api.smsmobileapi.com/sendemail/" \
  -d "apikey=YOUR_API_KEY" \
  -d "apikeybox=YOUR_MAILBOX_KEY" \
  --data-urlencode "sender_name=Example Team" \
  -d "sender_email=team@example.com" \
  -d "recipient_email=customer@example.net" \
  --data-urlencode "mail_subject=Order confirmation" \
  --data-urlencode "mail_body=Your order has been confirmed." \
  --data-urlencode "attachmentBase64=BASE64_FILE_CONTENT" \
  -d "attachmentBase64_name_1=invoice.pdf" \
  -d "allow_self_signed=no"

Хотите выполнить этот запрос?Подключите ключ API в верхней части страницы, чтобы разблокировать интерактивный тестер.

Подключите ключ ↑
Хорошо знать
  • Предпочитаете POST, потому что электронные письма могут быть длинными.
  • Если вложение База 64 предусмотрено, вложение База 64 имя 1 требуется и должно включать расширение файла.
  • Вложения Base64 могут делать запросы большими; примените разумные ограничения по размеру в приложении.
ПОЛУЧАТЬ

Восстанавливать электронные письма

#
Смыслhttps://api.smsmobileapi.com/getemail/

Получает сообщения из настроенной папки почтового ящика.

Когда использовать его

Используйте его для синхронизации входящей электронной почты в справочную службу или рабочий процесс приложения.

Параметры

ИмяТипТребованиеОписание
apikey нить Необходимый Ваша учетная запись API ключ.
apikeybox нить Необходимый Почтовый ящик API ключ.
mbox нить Необходимый папка почтового ящика, например INBOX.
start целое число Необходимый Стартовый индекс: используйте 0 для первой страницы.

Запросить пример

кёрл
curl "https://api.smsmobileapi.com/getemail/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&mbox=INBOX&start=0"

Хотите выполнить этот запрос?Подключите ключ API в верхней части страницы, чтобы разблокировать интерактивный тестер.

Подключите ключ ↑
Хорошо знать
  • Ответы включают в себя доступную тему, отправителя, получателя, тело, временную метку и детали вложения.
ПОЛУЧАТЬ

Проверить неподписанные контакты

#
Смыслhttps://api.smsmobileapi.com/email/unsubscribed/

Проверяет отказ от подписки на записи, созданные по электронной почте, отправленной через платформу.

Когда использовать его

Используйте его перед отправкой кампаний и при синхронизации списков подавления.

Параметры

ИмяТипТребованиеОписание
apikey нить Необходимый Ваша учетная запись API ключ.
apikeybox нить Необходимый Почтовый ящик API ключ.
email электронная почта факультативный Фильтр один контакт. Пустой результат означает, что не было найдено никаких записей об отписке.

Запросить пример

кёрл
curl "https://api.smsmobileapi.com/email/unsubscribed/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&email=customer@example.net"

Хотите выполнить этот запрос?Подключите ключ API в верхней части страницы, чтобы разблокировать интерактивный тестер.

Подключите ключ ↑
Хорошо знать
  • Держите свою собственную базу данных получателей синхронизированной с результатами отмены подписки.
  • Вы несете ответственность за применимые правила борьбы со спамом и конфиденциальности.
POST · ПОЛУЧИТЬ

Очистить историю отправленных писем

#
Смыслhttps://api.smsmobileapi.com/delete-history-email/

Клирс отправил журналы электронной почты для этого ключа API через почтовые ящики. Он не удаляет сообщения в почтовом ящике. apikeybox не требуется.

Когда использовать его

Сначала используйте предварительный просмотр, проверьте счета, а затем явно запросите удаление. Это очищает всю выбранную историю для ключа API без фильтров даты, телефона или сообщений.

Параметры

ИмяТипТребованиеОписание
apikey нить факультативный Необходим без OAuth2. В OAuth2 необязательно выберите ключ API, принадлежащий той же учетной записи.
action Превью | Удалить | Статус факультативный preview подсчитывает записи без удаления; delete запускает или продолжает удаление; status только показывает прогресс. Значение по умолчанию в API — delete, в этом тестере — preview.
include_linked 0 | 1 факультативный По умолчанию 0: сохраняйте связанные или обрабатывающие записи. Набор 1 включает их, с риском нарушения интеграции. Сохраняйте это значение неизменным при продолжении удаления.
request_id нить факультативный Обязательно для delete и status, необязательно для preview. Используйте 16–128 букв ASCII, цифр, дефисов (-) или подчёркиваний (_). Создайте уникальный ID для каждого нового удаления и сохраняйте его при всех повторных попытках. Это не ID сообщения и не ключ API.

Запросить пример

кёрл
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=preview" -d "include_linked=0"
Примеры исключения и статуса

Замените образец request_id на свой собственный уникальный код перед началом. Следующие запросы на удаление изменяют реальную историю учетной записи; они не являются предварительными просмотрами.

POST - ключ API
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
POST - OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
GET - статус
curl -G "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

Пример ответа

JSON
{
    "result": {
        "error": 0,
        "history": "email",
        "action": "preview",
        "total": 120,
        "simple": 100,
        "linked_or_processing": 20,
        "selected": 100,
        "include_linked": 0,
        "operation_in_progress": false,
        "active_include_linked": null
    }
}

Хотите выполнить этот запрос?Подключите ключ API в верхней части страницы, чтобы разблокировать интерактивный тестер.

Подключите ключ ↑
Хорошо знать
  • Приведенный выше пример является предварительным просмотром, а не удалением. Графики являются иллюстративными; окончательный выбор фиксируется при начале удаления.
  • include_linked=1 может нарушить работу GHL, Zapier, автоматизацию, отмену подписки или отслеживание доставки. Он никогда не обходится без проверки целостности учетной записи или хранения.

Поиск неисправностей

Ошибки и безопасные повторы

Прочитайте статус HTTP и поле ошибок JSON перед повторным использованием. Не повторяйте валидацию или сбои аутентификации без предварительного исправления запроса.

HTTPКодЧто делать
400missing_parameterНеобходимый параметр пуст или отсутствует. Проверьте таблицу параметров для конечной точки.
403invalid_apikeyКлюч API неизвестен, истек или не разрешен для запрашиваемой функции.
429too_many_requestsЗапросы поступают слишком быстро. Подожди, а потом повтори экспоненциальный откат.
500server_errorСлужба не смогла выполнить запрос. Сохраняйте ответ и контактную поддержку, если он сохраняется.
Правило повторного использованияПовторите только временные ответы 429 и 5xx. Начните через 1 секунду, затем отойдите на 2, 4 и 8 секунд.

Нужна помощь?

Приведите контекст запроса, а не ваши секреты.

Поделитесь конечной точкой, временной меткой, статусом HTTP и дезинфицированным ответом. Никогда не включайте ключи API, токены или содержимое личных сообщений.

Поддержка API