Part 5: After the Dispatch - Handling Delivery Events
说明与用途
实现了从多通信提供商捕获、存储并显示交付事件的工作流程。
问题
Capturing and storing delivery events from multiple communication providers to provide visibility to support, engineering, and customers.
结果
Implemented end-to-end delivery event handling, enabling persistent tracking of message status across providers and a buyer-facing messages interface.
工作流
- 1. Resolve buyer’s verified addresses and select first available channel.
- 2. Dispatch message via Transmitly; provider returns message id and OnDispatched report is raised.
- 3. Provider sends status change webhook; Transmitly converts to OnStatusChanged report.
- 4. DeliveryReportHandler queues reports.
- 5. Background service processes queue, records each report using DeliveryReportRecorder.
- 6. Delivery history stored in communicationsdb with CommunicationRecord and DeliveryEvent tables.
- 7. Buyer can view messages and statuses on new Messages page.
证据
Both kinds reach the same place. Next to the logging handler from Part 2, Communications registers a delivery report handler for recording:
A background service reads the queue and records one report at a time:
- 记录日期: 2026-10-23T00:11:46.985Z