Kirim batch email dengan
Terima 1–100 email independen dengan validasi seluruh batch dan HTTP 202 saat penerimaan .
Kirim batch email dengan
curl -X POST "https://innomail-stable.cm253.com/innomail/v2/messages/batchsend" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"to": [
{
"email": "alice@example.net"
}
],
"from": {
"name": "Example",
"email": "notify@example.com"
},
"html": "<p>Your order has been confirmed.</p>",
"subject": "Order confirmation",
"messageType": "TRANSACTIONAL"
},
{
"to": [
{
"email": "bob@example.net"
}
],
"from": {
"name": "Example",
"email": "notify@example.com"
},
"text": "Your package is on its way.",
"subject": "Shipping update",
"messageType": "TRANSACTIONAL"
}
]
}'Batch diterima untuk pemrosesan asinkron per pesan.
{
"code": "000000",
"data": {
"status": "ACCEPTED",
"batchId": "BATCH-EXAMPLE-002",
"messages": [
{
"index": 0,
"status": "ACCEPTED",
"messageId": "SINGLE-EXAMPLE-003"
}
],
"requestId": "REQ-EXAMPLE-002",
"acceptedAt": "2026-11-11T03:00:00Z",
"acceptedCount": 1
},
"message": "success",
"traceId": "REQ-EXAMPLE-002",
"timestamp": "2026-11-11T03:00:00.123Z"
}Contoh respons dari kontrak yang ditinjau, bukan hasil permintaan nyata.
Terima 1–100 objek email independen. Satu item tidak valid menolak seluruh batch sebelum penerimaan; pesan yang diterima diproses secara independen. Keberhasilan mengembalikan HTTP 202 dan code=000000.
Gunakan AppKey InnoPaaS sebagai Bearer token. Buat atau kelola key di halaman API keys Console. Panduan API key
Authorization
Authorizationstring<bearer>wajibParameter Header
X-Idempotency-KeystringwajibUnique business-task key retained across retries, up to 128 characters.
1Panjang maksimum128X-Custom-TraceIdstringopsionalOptional customer trace ID, up to 256 characters after trimming.
256Body
application/jsonmessagesarray<object>wajibObjek email independen, 1–100 item; satu item tidak valid menolak seluruh batch.
Tampilkan atribut anak
ccarray<object>opsionalTembusan, maksimal 50 entri; harus kosong untuk pemasaran.
Tampilkan atribut anak
namestringopsionalNama tampilan tembusan opsional.
emailstringopsionalAlamat email tembusan langsung.
toarray<object>wajibPenerima, 1–50 entri; permintaan pemasaran asli harus tepat satu.
Tampilkan atribut anak
namestringopsionalNama tampilan penerima opsional.
emailstringopsionalAlamat email penerima langsung.
bccarray<object>opsionalTembusan tersembunyi, maksimal 50 entri; harus kosong untuk pemasaran.
Tampilkan atribut anak
namestringopsionalNama tampilan tembusan tersembunyi opsional.
emailstringopsionalAlamat email tembusan tersembunyi langsung.
fromobjectopsionalPengirim, harus menggunakan alamat yang diotorisasi untuk akun.
Tampilkan atribut anak
namestringopsionalNama tampilan pengirim opsional.
emailstringopsionalAlamat email pengirim langsung.
htmlstringopsionalIsi HTML; tidak dapat diberikan bersama template.
524288tagsarray<object>opsionalTag bisnis, maksimal 20 item.
Tampilkan atribut anak
namestringopsionalNama tag, maksimal 32 karakter.
32valuestringopsionalNilai tag, maksimal 64 karakter.
64textstringopsionalIsi teks biasa; setidaknya satu dari text/HTML tidak kosong, abaikan saat menggunakan template.
524288headersjsonopsionalHeader email kustom, maksimal 25 item, tidak dapat menimpa header yang dikelola.
replyTostringopsionalSatu alamat balasan yang mengalahkan default alamat pengirim.
320subjectstringwajibSubjek email, wajib untuk konten langsung atau template.
998metadatajsonopsionalMetadata bisnis, tidak dirender dan tidak dijamin dalam notifikasi event.
templateobjectopsionalReferensi template yang telah disetujui dan diaktifkan.
Tampilkan atribut anak
languagestringopsionalField cadangan, tidak memilih bahasa template secara otomatis.
32variablesjsonopsionalNilai template kali ini, kunci yang sama menimpa variables tingkat atas.
templateIdstringwajibTemplate ID yang tersedia untuk akun.
128variablesjsonopsionalVariabel template umum; konten langsung tidak dirender.
attachmentsjsonopsionalReferensi lampiran cadangan; penyimpanan konten dan pengiriman lampiran tidak tersedia, abaikan.
messageTypestringopsionalMARKETING atau TRANSACTIONAL; default non-template adalah pemasaran.
Respons
application/jsonBatch diterima untuk pemrosesan asinkron per pesan.
codestringopsionalKode bisnis, 000000 untuk penerimaan berhasil.
datajsonopsionalData penerimaan batch berisi requestId, batchId, status ACCEPTED, acceptedCount, acceptedAt, dan hasil per pesan.
messagestringopsionalPenjelasan hasil.
traceIdstringopsionalIdentitas pelacakan untuk permintaan HTTP ini.
timestampstringopsionalWaktu pembuatan respons.
{
"code": "000000",
"data": {
"status": "ACCEPTED",
"batchId": "BATCH-EXAMPLE-002",
"messages": [
{
"index": 0,
"status": "ACCEPTED",
"messageId": "SINGLE-EXAMPLE-003"
}
],
"requestId": "REQ-EXAMPLE-002",
"acceptedAt": "2026-11-11T03:00:00Z",
"acceptedCount": 1
},
"message": "success",
"traceId": "REQ-EXAMPLE-002",
"timestamp": "2026-11-11T03:00:00.123Z"
}Contoh respons dari kontrak yang ditinjau, bukan hasil permintaan nyata.