{tracking} as placeholder for the tracking number
| Carrier | Tracking URL Pattern | |
|---|---|---|
| Order | Phone | Type | Status | Tracking | Sent At | Error |
|---|---|---|---|---|---|---|
| #10247 | +5511987654321 | Shipment | Read | QR123456789BR | 2026-05-28 14:32 | — |
| #10246 | +5521976543210 | Confirmation | Delivered | — | 2026-05-28 14:30 | — |
| #10245 | +5531912345678 | Shipment | Delivered | NN987654321BR | 2026-05-28 14:28 | — |
| #10244 | +5541998765432 | Shipment | Sent | SS112233445BR | 2026-05-28 14:25 | — |
| #10240 | +5511912345678 | Processing | Failed | — | 2026-05-28 14:20 | Recipient not in allowed list |
| #10238 | +5585987654321 | Delivery | Read | JD778899001BR | 2026-05-28 13:55 | — |
This wireframe maps 1:1 to the enhanced ConfigurationModel and WhatsAppBusinessSettings. Below are the property names for each field:
ApiKey → Access Token (permanent system user token)PhoneNumberId → Phone Number IDAppId → App ID (new in v2)AppSecret → App Secret (new in v2)BusinessAccountId → Business Account IDApiVersion → API Version dropdown (new in v2, default "v23.0")EnableOrderPlaced → Order Placed toggle (new)EnableOrderProcessing → Order Processing toggleEnableShipmentCreated → Shipment Created toggle (new — key feature)EnableShipmentDelivered → Shipment Delivered toggle (new)EnableOrderCancelled → Order Cancelled toggleEnableRefundIssued → Refund Issued toggle (new)UseTemplateMessages → master toggle (new)DefaultLanguageCode → language dropdown (new, default "pt_BR")ShipmentTrackingTemplateName → shipment template name (new)OrderConfirmationTemplateName → order confirmation template name (new)DeliveryConfirmationTemplateName → delivery template name (new)PollingIntervalSeconds → Polling Interval (new, default 300)MinDelayBetweenSendsSeconds → Min Delay (new, default 10)MaxDelayBetweenSendsSeconds → Max Delay (new, default 45)MaxMessagesPerBatch → Max per batch (new, default 50)LookbackWindowDays → Lookback Window (new, default 30)IsEnabled → master enable toggle (new)WebhookUrl → auto-generated URL (read-only, computed from store URL + route)WebhookVerifyToken → verify token (new)DefaultTrackingUrlPattern → default URL with {tracking} placeholder (new)CarrierTrackingUrls → JSON dictionary of carrier→URL pairs (new)WhatsAppMessageLog tableRecentLogs list of WhatsAppMessageLog entitiesTrackingNumber (new in v2)Sent, Delivered, Read, Failed (updated by webhook callbacks)BlacklistedNumbers list of WhatsAppBlacklist entitiesBlacklistedNumbers, pagination, statsSendTemplateMessageAsync() method for template-based sendingShipmentSentEvent, ShipmentDeliveredEvent, OrderPlacedEvent for real-time dispatch instead of polling-onlyTrackingNumber, WhatsAppMessageId columnsGET /Admin/WhatsAppBusiness/Configure — admin config pagePOST /Admin/WhatsAppBusiness/Configure — save settingsPOST /Admin/WhatsAppBusiness/TestConnection — test API credentialsPOST /Admin/WhatsAppBusiness/SendTestMessage — send a test notificationGET /api/whatsapp/webhook — Meta webhook verification (challenge response)POST /api/whatsapp/webhook — delivery status callbacks from MetaPOST /Admin/WhatsAppBusiness/AddBlacklist — manually add blacklisted numberPOST /Admin/WhatsAppBusiness/RemoveBlacklist — remove from blacklist