#Отправить письмо

POST /v1/mail/messages

Отправляет письмо от имени указанного отправителя. Отправленное письмо сохраняется в папку Отправленные почтового ящика.

#Поля запроса (body)

Поле Тип Обяз. Описание
from string да Адрес отправителя. Допустимые значения — из GET /v1/mail/mailboxes/:id/senders
to array of strings да Адреса получателей
subject string да Тема письма
body string да Текст письма
cc array of strings нет Адреса для копии
bcc array of strings нет Адреса для скрытой копии

#Примеры

#curl — личный ключ

Terminal
curl -X POST \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  https://vibecode.bitrix24.tech/v1/mail/messages \
  -d '{
    "from": "sender@example.com",
    "to": ["recipient@example.com"],
    "subject": "Тема письма",
    "body": "Текст письма"
  }'

#curl — OAuth-приложение

Terminal
curl -X POST \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  https://vibecode.bitrix24.tech/v1/mail/messages \
  -d '{
    "from": "sender@example.com",
    "to": ["recipient@example.com"],
    "subject": "Тема письма",
    "body": "Текст письма"
  }'

#JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/mail/messages', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    from: 'sender@example.com',
    to: ['recipient@example.com'],
    subject: 'Тема письма',
    body: 'Текст письма',
  }),
})
const data = await res.json()
console.log(data.data.to)

#JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/mail/messages', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    from: 'sender@example.com',
    to: ['recipient@example.com'],
    subject: 'Тема письма',
    body: 'Текст письма',
  }),
})
const data = await res.json()

#Поля ответа

Поле Тип Описание
success boolean true при успешном выполнении запроса
data.success boolean true при успешной отправке
data.to array of strings Список адресов, которым отправлено письмо

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

JSON
{
  "success": true,
  "data": {
    "success": true,
    "to": ["recipient@example.com"]
  }
}

#Пример ответа при ошибке

422 — нарушена валидация запроса:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Ошибка при валидации объекта запроса"
  }
}

#Ошибки

HTTP Код Описание
422 BITRIX_ERROR Не передано обязательное поле, адреса получателей не определены или отправка не выполнена
403 SCOPE_DENIED Ключу не хватает скоупа mail
401 TOKEN_MISSING У API-ключа не настроены токены доступа к почтовому ящику
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Неверный API-ключ
401 KEY_INACTIVE API-ключ неактивен
401 KEY_EXPIRED Срок действия API-ключа истёк
429 RATE_LIMITED Превышен общий лимит запросов платформы
502 BITRIX_UNAVAILABLE Битрикс24 недоступен

Полный список общих ошибок API — Ошибки.

#Смотрите также