WhatsApp templates — Meta-approved bodies (canonical)
Per Meta WhatsApp Business policy, only the approved template body is delivered when a template send succeeds. Free-text fallback bodies are only used if the template send fails. To avoid divergence between channels, the fallback strings in code must mirror these canonical bodies verbatim.
restock_notification_wave1_call_to_action (MZ-9533)
- Content SID:
HX737ef8691770ad5ca93af8521c00b6e1 - Language:
fr - Category: Marketing
- Content type: WhatsApp Card
Variables
| Variable | Location | Value |
|---|---|---|
{{media_path}} | Header image URL | Product image path (e.g. media/catalog/product/img.jpg) |
{{CODEPROMO}} | Body | Coupon code |
{{cart_url}} | Button 1 URL | Cart redirect path (e.g. r/abc123) |
{{unsubscribe_url}} | Button 2 URL | Unsubscribe path (e.g. r/xyz789/u) |
Template URLs (base + variable)
| Part | Base URL | Variable |
|---|---|---|
| Header image | https://cdn-img.menzzo.com/ | {{media_path}} |
| Button 1 (JE FONCE) | https://www.menzzo.fr/ | {{cart_url}} |
| Button 2 (Stop) | https://www.menzzo.fr/ | {{unsubscribe_url}} |
Approved body (verbatim)
⚡️ ALERTE RÉASSORT MENZZO Bonjour, votre produit est enfin de retour !
⚠️ Attention : Les stocks sont très limités.
🎉 Votre avantage : -25% pendant 24h seulement avec le code {{CODEPROMO}}.
👇 Cliquez ci-dessous pour en profiter avant la rupture :
Buttons
| # | Action | Label | URL |
|---|---|---|---|
| 1 | Visit Website | 🛍️ JE FONCE ! | https://www.menzzo.fr/{{cart_url}} |
| 2 | Visit Website | Stop notifications | https://www.menzzo.fr/{{unsubscribe_url}} |
Code references
- Template name constant:
ChatwootService::RESTOCK_TEMPLATE_NAME - Content SID constant:
ChatwootService::RESTOCK_TEMPLATE_SID - Template send:
CoreBundle\Services\ChatwootService::sendRestockWhatsapp() - Free-text fallback:
CoreBundle\Services\ChatwootService::buildRestockFallbackBody() - Image path extraction:
RestockNotifier::extractImagePath() - Cart path:
RestockNotifier::buildShortPath() - Unsubscribe path:
RestockNotifier::buildUnsubscribePath()
Any change to the approved template on Meta's side must be reflected in both the fallback method and this document in the same commit.