Solicită acces anticipat

Introduceți prenumele și adresa de e-mail profesională. Vă vom trimite un link pentru a confirma cererea de acces la Tajo.

Trimite un e-mail

Trimite e-mailuri tranzacționale individuale folosind endpointul /v3/smtp/email.

Endpoint

POST /v3/smtp/email

Corpul cererii

E-mail simplu

{
"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>"
}

E-mail avansat

{
"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"
}
}

Exemple de cod

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>"
}'

Răspuns

Răspuns de succes (201 Created)

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

Răspunsuri de eroare

Cheie API invalidă (401)

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

Format de e-mail invalid (400)

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

Limită de rată depășită (429)

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

Parametri

Parametri obligatorii

ParametruTipDescriere
senderobjectInformații despre expeditor
toarrayLista obiectelor destinatar
subjectstringSubiectul e-mailului

Parametri opționali

ParametruTipDescriere
htmlContentstringConținutul HTML al e-mailului
textContentstringConținutul text al e-mailului
ccarrayDestinatari în copie
bccarrayDestinatari în copie ascunsă
replyToobjectAdresa de răspuns
attachmentsarrayFișiere atașate
paramsobjectParametrii șablonului
tagsarrayEtichete de e-mail pentru urmărire
headersobjectAnteturi personalizate

Variabile de șablon

Folosește variabile de șablon în subiect și în conținut:

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

Atașamente

Include fișiere atașate:

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

Bune practici

  1. Include mereu atât conținut HTML, cât și text pentru o livrabilitate mai bună
  2. Folosește variabile de șablon în loc să concatenezi conținutul
  3. Completează corect datele expeditorului ca să eviți filtrele antispam
  4. Adaugă etichete pentru urmărire și analize
  5. Validează adresele de e-mail înainte de trimitere
  6. Tratează erorile elegant, cu logică de reîncercare

Limite de rată

  • Limita de rată API: pe nivelul general, pe care îl primește orice plan, acest endpoint permite 1.000 de cereri pe secundă și 3.600.000 pe oră. Nivelul avansat (Professional și Enterprise) permite 2.000 pe secundă, iar nivelul extins (Enterprise) 6.000.
  • Volumul de trimitere: câte e-mailuri poți trimite este stabilit de planul tău Brevo, separat de limita de rată.

Vezi Limite de rată și pagina Brevo despre limitele de rată.

Urmărire

E-mailurile trimise prin acest endpoint sunt urmărite automat pentru:

  • Starea livrării
  • Rata de deschidere
  • Urmărirea clicurilor
  • Gestionarea respingerilor

Vezi analize detaliate în panoul tău de administrare Brevo, la Statistics → Transactional.

Endpointuri conexe

Solicită acces anticipat

Introduceți prenumele și adresa de e-mail profesională. Vă vom trimite un link pentru a confirma cererea de acces la Tajo.

Asistent AI

Bună! Întreabă-mă orice despre documentație.