Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Mengirim Email

Kirim email transaksional satuan menggunakan endpoint /v3/smtp/email.

Endpoint

POST /v3/smtp/email

Isi permintaan

Email dasar

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

Email lanjutan

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

Contoh kode

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

Respons

Respons berhasil (201 Created)

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

Respons error

API key tidak valid (401)

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

Format email tidak valid (400)

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

Batas laju terlampaui (429)

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

Parameter

Parameter wajib

ParameterTipeDeskripsi
senderobjectInformasi pengirim
toarrayArray berisi objek penerima
subjectstringBaris subjek email

Parameter opsional

ParameterTipeDeskripsi
htmlContentstringKonten HTML dari email
textContentstringKonten teks dari email
ccarrayPenerima CC
bccarrayPenerima BCC
replyToobjectAlamat balasan
attachmentsarrayLampiran berkas
paramsobjectParameter template
tagsarrayTag email untuk pelacakan
headersobjectHeader khusus

Variabel template

Gunakan variabel template pada subjek dan konten Anda:

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

Lampiran

Sertakan lampiran berkas:

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

Praktik terbaik

  1. Selalu sertakan konten HTML dan teks untuk keterkiriman yang lebih baik
  2. Gunakan variabel template alih-alih menggabungkan konten secara manual
  3. Sertakan informasi pengirim yang benar agar terhindar dari filter spam
  4. Tambahkan tag untuk pelacakan dan analitik
  5. Validasi alamat email sebelum mengirim
  6. Tangani error dengan baik menggunakan logika percobaan ulang

Batas laju

  • Akun gratis: 300 email/hari
  • Akun berbayar: Sesuai paket Anda
  • Batas lonjakan: 100 email/menit

Pelacakan

Email yang dikirim melalui endpoint ini otomatis dilacak untuk:

  • Status pengiriman
  • Rasio buka
  • Pelacakan klik
  • Penanganan bounce

Lihat analitik terperinci di dasbor Brevo Anda pada StatisticsTransactional.

Endpoint terkait

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.