পণ্য

সাইন করা ওয়েবহুক

HMAC স্বাক্ষরযুক্ত ডেলিভারি ইভেন্ট।

HMAC-SHA256
// Headers: Postline-Timestamp, Postline-Event-Id, Postline-Signature
signed   = timestamp + "\0" + event_id + "\0" + raw_body
expected = "v1=" + hex(HMAC-SHA256(webhook_secret, signed))
constant_time_compare(expected, Postline-Signature)

// 2xx acknowledges the event. Otherwise up to 6 attempts:
// now, +1m, +5m, +30m, +2h, +8h (15 s timeout each)

ইভেন্ট

প্রতিটি endpoint-কে এই ইভেন্ট প্রকারগুলোর 1–20টিতে সাবস্ক্রাইব করুন:

  • email.accepted
  • email.queued
  • email.sent
  • email.delivered
  • email.deferred
  • email.bounced
  • email.complained
  • email.opened
  • email.clicked
  • email.received
  • email.suppressed
  • domain.verified
  • domain.failed

প্রাপকের প্রয়োজনীয়তা

  • সঠিক raw রিকোয়েস্ট বডি থেকে স্বাক্ষর গণনা করুন।
  • constant time-এ স্বাক্ষর তুলনা করুন।
  • আপনার অনুমোদিত উইন্ডোর বাইরের timestamp প্রত্যাখ্যান করুন।
  • event_id সংরক্ষণ করুন এবং প্রতিটি ইভেন্ট একবার প্রক্রিয়া করুন।
  • ইভেন্টগুলো lifecycle অনুক্রমে আসবে বলে ধরে নেবেন না।

আউটবাউন্ড নিয়ন্ত্রণ

Endpoint তৈরির জন্য HTTPS প্রয়োজন। Private, loopback, link-local, metadata, ক্রেডেনশিয়াল-বহনকারী, এবং অভ্যন্তরীণ target ব্লক করা হয় এবং dial করার সময় আবার resolve করা হয়। Redirect অনুসরণ করা হয় না। ডেলিভারিতে সীমাবদ্ধ timeout এবং retry প্রচেষ্টা ব্যবহার করা হয়।

টাইমআউট ও পুনঃচেষ্টা

যেকোনো 2xx প্রতিক্রিয়া ইভেন্ট নিশ্চিত করে। টাইমআউট (15 s), নেটওয়ার্ক ত্রুটি বা অন্য কোনো স্ট্যাটাস ব্যর্থতা। Postline সর্বোচ্চ 6 বার চেষ্টা করে: প্রথমবার, তারপর 1 মিনিট, 5 মিনিট, 30 মিনিট, 2 ঘণ্টা ও 8 ঘণ্টা পরে। প্রতিটি প্রচেষ্টা ডেলিভারি লগে থাকে এবং যেকোনো ডেলিভারি API বা ড্যাশবোর্ড থেকে আবার পাঠানো যায়।