پرش به مستندات
پایگاه دانش

API ایمیل

در هر فراخوانی یک یا صد پیام بفرستید، همین حالا یا بعداً، و بدون دوبار فرستادن دوباره تلاش کنید.

جزئیات

  • POST /emails یک پیام و POST /emails/batch تا 100 پیام مستقل می‌فرستد. دسته هرگز همه یا هیچ نیست: یک نشانی نادرست در مورد 7 فقط مورد 7 را ناموفق می‌کند، بقیه می‌روند و پاسخ برای هر مورد جداگانه گزارش می‌دهد.
  • محتوا دقیقاً از یک منبع می‌آید: html و/یا text، یک قالب ذخیره‌شده با شناسه یا slug (اگر متن مال کس دیگری است نسخه‌اش را ثابت کنید) یا یک پیش‌نویس موجود. تا 10 برچسب همراهش می‌روند و در هر بار خواندن برمی‌گردند.
  • scheduledAt پیام را تا 365 روز نگه می‌دارد، به‌صورت لحظه ISO 8601 یا مدتی مثل PT1H. cancellableForSeconds به ارسال فوری فرصت لغوی تا 900 ثانیه می‌دهد. هر دو را تا وقتی نرفته می‌توان لغو کرد و ارسال زمان‌بندی‌شده را جابه‌جا کرد.
  • هر ارسال یک Idempotency-Key دارد که پیش از فرستادن هر چیزی رزرو می‌شود، پس تلاش دوباره پس از پایان مهلت، نتیجه اول را با Idempotency-Replayed: true برمی‌گرداند. همان کلید با محتوای دیگر با خطای idempotency_key_reuse رد می‌شود.
  • هر ارسال از لحظه پذیرفته شدن یک شناسه msg_ دارد. GET /emails/{id} آن را می‌خواند، /events رد هر گیرنده را و /tracking باز شدن‌ها و کلیک‌ها را می‌دهد.
  • translate را اضافه کنید تا پیام به زبان گیرنده تحویل شود. ترجمه هنگام پذیرش درخواست انجام می‌شود، پس ارسال زمان‌بندی‌شده همان متنی را دارد که تأیید کرده‌اید، و ترجمه‌ای که ساخته نشود به‌جای برگشت به متن اصلی، ارسال را رد می‌کند.
  • پیوست‌ها: تا 20 فایل، که فایل‌های درون‌خطی روی هم حداکثر 5 مگابایت‌اند. فایل بزرگ‌تر با نام بردن از شناسه یک فایل فضای کاری فرستاده می‌شود و به‌صورت پیوند دانلود می‌رود.
  • آنچه نیست: هنوز حالت آزمایشی وجود ندارد، پس هر کلید واقعاً تحویل می‌دهد، و ردیف ارسال وضعیت برگشت ندارد. برگشت روی گفتگو برچسب می‌خورد و به‌صورت وب‌هوک email.bounced اعلام می‌شود، در حالی که GET /emails همچنان sent نشان می‌دهد.
  • فهرست توقیف، یعنی «نشانی‌های مسدود» در تنظیمات، روی API هم هست. GET /suppressions آن را با جست‌وجو و صافی دلیل می‌خواند، POST /suppressions یک نشانی را دستی مسدود می‌کند و DELETE /suppressions/{id} دوباره به یک نشانی اجازه می‌دهد، مگر بازگشت دائمی که می‌ماند. SDK و سرور MCP هم همین کار را می‌کنند و هر تغییر وبهوک suppression.added یا suppression.removed را می‌فرستد.