Заявете ранен достъп

Посочете името си и имейл адрес или телефонен номер. Ще Ви изпратим информация за достъп до Tajo.

Изпращане на имейл

Изпращайте отделни транзакционни имейли чрез крайната точка /v3/smtp/email.

Крайна точка

POST /v3/smtp/email

Тяло на заявката

Основен имейл

{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"subject": "Welcome to our service!",
"htmlContent": "<html><body><h1>Welcome!</h1><p>Thank you for signing up.</p></body></html>"
}

Разширен имейл

{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"cc": [
{
"email": "[email protected]",
"name": "CC User"
}
],
"bcc": [
{
"email": "[email protected]"
}
],
"subject": "Order Confirmation #{{order_id}}",
"htmlContent": "<html><body><h1>Order Confirmed</h1><p>Your order {{order_id}} has been confirmed.</p></body></html>",
"textContent": "Your order {{order_id}} has been confirmed.",
"params": {
"order_id": "12345"
},
"tags": ["transactional", "order-confirmation"],
"headers": {
"X-Custom-Header": "custom-value"
}
}

Примери за код

JavaScript/Node.js

const brevo = require('@getbrevo/brevo');
const apiInstance = new brevo.TransactionalEmailsApi();
apiInstance.setApiKey(brevo.TransactionalEmailsApiApiKeys.apiKey, process.env.BREVO_API_KEY);
const sendEmail = async () => {
const sendSmtpEmail = new brevo.SendSmtpEmail();
sendSmtpEmail.subject = "Welcome to our service!";
sendSmtpEmail.htmlContent = "<html><body><h1>Welcome!</h1></body></html>";
sendSmtpEmail.sender = { name: "Your App", email: "[email protected]" };
sendSmtpEmail.to = [{ email: "[email protected]", name: "John Doe" }];
try {
const result = await apiInstance.sendTransacEmail(sendSmtpEmail);
console.log('Email sent:', result);
return result;
} catch (error) {
console.error('Error sending email:', error);
throw error;
}
};

Python

import sib_api_v3_sdk
from sib_api_v3_sdk.rest import ApiException
configuration = sib_api_v3_sdk.Configuration()
configuration.api_key['api-key'] = 'YOUR_API_KEY'
api_instance = sib_api_v3_sdk.TransactionalEmailsApi(sib_api_v3_sdk.ApiClient(configuration))
send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(
to=[{"email": "[email protected]", "name": "John Doe"}],
sender={"name": "Your App", "email": "[email protected]"},
subject="Welcome to our service!",
html_content="<html><body><h1>Welcome!</h1></body></html>"
)
try:
api_response = api_instance.send_transac_email(send_smtp_email)
print(api_response)
except ApiException as e:
print("Exception when calling TransactionalEmailsApi->send_transac_email: %s\n" % e)

cURL

Terminal window
curl -X POST "https://api.brevo.com/v3/smtp/email" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"subject": "Welcome to our service!",
"htmlContent": "<html><body><h1>Welcome!</h1></body></html>"
}'

Отговор

Успешен отговор (201 Created)

{
"messageId": "<[email protected]>"
}

Отговори при грешка

Невалиден API ключ (401)

{
"code": "unauthorized",
"message": "Invalid API key provided"
}

Невалиден формат на имейл адрес (400)

{
"code": "invalid_parameter",
"message": "Invalid email format in 'to' field"
}

Превишено ограничение на заявките (429)

{
"code": "too_many_requests",
"message": "Rate limit exceeded"
}

Параметри

Задължителни параметри

ПараметърТипОписание
senderobjectИнформация за подателя
toarrayМасив от обекти на получателите
subjectstringТема на имейла

Незадължителни параметри

ПараметърТипОписание
htmlContentstringHTML съдържание на имейла
textContentstringТекстово съдържание на имейла
ccarrayПолучатели на копие
bccarrayПолучатели на скрито копие
replyToobjectАдрес за отговор
attachmentsarrayПрикачени файлове
paramsobjectПараметри на шаблона
tagsarrayЕтикети на имейла за проследяване
headersobjectПерсонализирани хедъри

Променливи в шаблона

Използвайте променливи от шаблона в темата и съдържанието:

{
"subject": "Welcome {{firstName}}!",
"htmlContent": "<h1>Hello {{firstName}} {{lastName}}</h1>",
"params": {
"firstName": "John",
"lastName": "Doe"
}
}

Прикачени файлове

Добавете прикачени файлове:

{
"attachments": [
{
"content": "base64_encoded_content",
"name": "invoice.pdf"
},
{
"url": "https://example.com/document.pdf",
"name": "document.pdf"
}
]
}

Добри практики

  1. Винаги включвайте както HTML, така и текстово съдържание за по-добра доставимост
  2. Използвайте променливи от шаблона, вместо да слепвате съдържанието ръчно
  3. Посочвайте коректна информация за подателя, за да избегнете спам филтрите
  4. Добавяйте етикети за проследяване и анализи
  5. Валидирайте имейл адресите преди изпращане
  6. Обработвайте грешките внимателно с логика за повторни опити

Ограничения на заявките

  • Безплатни акаунти: 300 имейла на ден
  • Платени акаунти: според Вашия план
  • Пиков лимит: 100 имейла в минута

Проследяване

Имейлите, изпратени през тази крайна точка, се проследяват автоматично за:

  • Статус на доставката
  • Процент на отваряния
  • Проследяване на кликванията
  • Обработка на върнатите имейли

Вижте подробните анализи във Вашето табло в Brevo, в раздела StatisticsTransactional.

Свързани крайни точки

Заявете ранен достъп

Посочете името си и имейл адрес или телефонен номер. Ще Ви изпратим информация за достъп до Tajo.

автоматично разпознаване
AI асистент

Здравейте! Попитайте ме за документацията.