رفتن به محتوای اصلی
سندک

مستنداتارسال

ارسال دسته‌ای

یک ایمیل با متغیرهای متفاوت برای چند گیرنده، در یک درخواست.

آخرین ویرایش: ۲۱ آبان ۱۴۰۵

وقتی یک قالب را برای چند نفر می‌فرستید، با یک درخواست به‌جای چند درخواست انجام می‌شود. هر گیرنده یک ایمیل جدا می‌گیرد؛ گیرنده‌ها همدیگر را نمی‌بینند.

endpoint
POST https://api.sendak.ir/v1/emails/batch

نمونه

بدنه
{
  "from": "hello@shop.ir",
  "subject": "سفارش {{order}} ارسال شد",
  "html": "<p>سلام {{name}}، سفارش {{order}} امروز ارسال شد.</p>",
  "variables": { "shop": "فروشگاه" },
  "recipients": [
    { "to": "ali@gmail.com", "variables": { "name": "علی", "order": "1201" } },
    { "to": "sara@example.ir", "variables": { "name": "سارا", "order": "1202" } }
  ]
}

فیلدها

فیلدهای مشترک مثل from، subject، text، html، template_id، tags و attachments همان‌هایی‌اند که در ارسال ایمیل آمده است. تفاوت‌ها:

  • به‌جای to، آرایه‌ی recipients می‌دهید. هر عضو یک to (فقط یک نشانی) و variables اختیاری دارد.
  • variables بیرونی برای همه مشترک است؛ variables هر گیرنده روی آن می‌نشیند و در تداخل، مقدار گیرنده برنده است.
  • اگر cc یا bcc بدهید، به هر پیام اضافه می‌شود؛ یعنی آن گیرنده برای هر عضو recipients یک نسخه می‌گیرد. در ارسال دسته‌ای از آن‌ها استفاده نکنید.
  • recipients حداکثر ۵۰ عضو دارد.

همه یا هیچ

درخواست دسته‌ای یک تراکنش است. اگر وسط کار خطایی بیاید (مثلاً سهمیه تمام شود)، هیچ‌کدام صف نمی‌شود و خطا برمی‌گردد. پس اگر درخواست را دوباره بفرستید، گیرنده‌های اول دو بار ایمیل نمی‌گیرند.

نکته: برای اطمینان بیشتر هنگام تلاش دوباره، Idempotency-Key بگذارید. ببینید کلید یکتایی درخواست.

پاسخ

202 Accepted
{
  "data": [
    { "to": "ali@gmail.com", "id": "01JCX9…", "status": "queued" },
    { "to": "sara@example.ir", "id": "01JCXA…", "status": "queued" }
  ]
}

ترتیب پاسخ به ترتیب recipients است. گیرنده‌ی داخل فهرست حذف با suppressed برمی‌گردد.

محدودیت حجم

اندازه‌ی بدنه ضرب‌در تعداد گیرنده‌ها نباید از ۱۰ مگابایت بیشتر شود؛ در غیر این صورت خطای batch_too_large می‌گیرید. در این حالت گیرنده‌ها را در چند گروه بفرستید.