[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-en-\u002Fen\u002Fdocs\u002Fwhatsapp\u002Ffallback":3},{"id":4,"title":5,"body":6,"category":477,"code_examples":478,"demos":478,"description":479,"extension":480,"meta":481,"navigation":478,"order":478,"path":482,"seo":483,"sitemap":484,"stem":486,"tags":478,"toc":359,"videos":487,"__hash__":488},"docsEn\u002Fen\u002Fdocs\u002Fwhatsapp\u002Ffallback.md","WhatsApp Fallback Messaging",{"type":7,"value":8,"toc":461},"minimark",[9,13,17,22,27,43,47,61,65,76,80,83,111,115,119,133,136,140,151,154,158,387,391,408,412,415,432,436,457],[10,11,5],"h1",{"id":12},"whatsapp-fallback-messaging",[14,15,16],"p",{},"Fallback messaging keeps communication running when the primary WhatsApp delivery path fails, hits a limit, or needs a backup channel.",[18,19,21],"h2",{"id":20},"fallback-scenarios","Fallback Scenarios",[23,24,26],"h3",{"id":25},"api-failures","API Failures",[28,29,30,34,37,40],"ul",{},[31,32,33],"li",{},"WhatsApp or the omnichannel partner is degraded.",[31,35,36],{},"Rate limits are reached.",[31,38,39],{},"Credentials expired or the session is inactive.",[31,41,42],{},"The account is temporarily restricted.",[23,44,46],{"id":45},"delivery-issues","Delivery Issues",[28,48,49,52,55,58],{},[31,50,51],{},"The user's number is invalid or changed.",[31,53,54],{},"The user blocked the message.",[31,56,57],{},"A template is rejected.",[31,59,60],{},"The 24-hour conversation window has expired.",[23,62,64],{"id":63},"business-rule-issues","Business Rule Issues",[28,66,67,70,73],{},[31,68,69],{},"Automation rules are misconfigured.",[31,71,72],{},"Agent or rotator mapping does not match.",[31,74,75],{},"Lead status does not satisfy the rule condition.",[18,77,79],{"id":78},"fallback-strategy","Fallback Strategy",[14,81,82],{},"Use a channel order that matches message priority:",[84,85,86,93,99,105],"ol",{},[31,87,88,92],{},[89,90,91],"strong",{},"Primary WhatsApp"," for normal communication.",[31,94,95,98],{},[89,96,97],{},"WhatsApp retry"," with exponential backoff for temporary failures.",[31,100,101,104],{},[89,102,103],{},"Email or internal notification"," for non-urgent messages.",[31,106,107,110],{},[89,108,109],{},"Manual sales\u002Fsupport follow-up"," for high-value leads.",[18,112,114],{"id":113},"message-priority","Message Priority",[23,116,118],{"id":117},"critical-messages","Critical Messages",[28,120,121,124,127,130],{},[31,122,123],{},"Payment confirmations.",[31,125,126],{},"Onboarding instructions.",[31,128,129],{},"High-intent leads.",[31,131,132],{},"Support escalations.",[14,134,135],{},"Critical messages should trigger fallback faster and notify the internal team.",[23,137,139],{"id":138},"standard-messages","Standard Messages",[28,141,142,145,148],{},[31,143,144],{},"Marketing broadcasts.",[31,146,147],{},"Non-urgent reminders.",[31,149,150],{},"General updates.",[14,152,153],{},"For standard messages, gradual retry is usually enough before fallback.",[18,155,157],{"id":156},"technical-retry-example","Technical Retry Example",[159,160,165],"pre",{"className":161,"code":162,"language":163,"meta":164,"style":164},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","async function sendWhatsAppMessage(message, retryCount = 0) {\n  try {\n    await whatsappApi.send(message)\n  } catch (error) {\n    if (retryCount \u003C 3) {\n      await delay(Math.pow(2, retryCount) * 1000)\n      return sendWhatsAppMessage(message, retryCount + 1)\n    }\n\n    await sendFallbackNotification(message)\n  }\n}\n","ts","",[166,167,168,211,220,244,265,286,324,348,354,361,375,381],"code",{"__ignoreMap":164},[169,170,173,177,180,184,188,192,195,198,201,205,208],"span",{"class":171,"line":172},"line",1,[169,174,176],{"class":175},"spNyl","async",[169,178,179],{"class":175}," function",[169,181,183],{"class":182},"s2Zo4"," sendWhatsAppMessage",[169,185,187],{"class":186},"sMK4o","(",[169,189,191],{"class":190},"sHdIc","message",[169,193,194],{"class":186},",",[169,196,197],{"class":190}," retryCount",[169,199,200],{"class":186}," =",[169,202,204],{"class":203},"sbssI"," 0",[169,206,207],{"class":186},")",[169,209,210],{"class":186}," {\n",[169,212,214,218],{"class":171,"line":213},2,[169,215,217],{"class":216},"s7zQu","  try",[169,219,210],{"class":186},[169,221,223,226,230,233,236,239,241],{"class":171,"line":222},3,[169,224,225],{"class":216},"    await",[169,227,229],{"class":228},"sTEyZ"," whatsappApi",[169,231,232],{"class":186},".",[169,234,235],{"class":182},"send",[169,237,187],{"class":238},"swJcz",[169,240,191],{"class":228},[169,242,243],{"class":238},")\n",[169,245,247,250,253,256,259,262],{"class":171,"line":246},4,[169,248,249],{"class":186},"  }",[169,251,252],{"class":216}," catch",[169,254,255],{"class":238}," (",[169,257,258],{"class":228},"error",[169,260,261],{"class":238},") ",[169,263,264],{"class":186},"{\n",[169,266,268,271,273,276,279,282,284],{"class":171,"line":267},5,[169,269,270],{"class":216},"    if",[169,272,255],{"class":238},[169,274,275],{"class":228},"retryCount",[169,277,278],{"class":186}," \u003C",[169,280,281],{"class":203}," 3",[169,283,261],{"class":238},[169,285,264],{"class":186},[169,287,289,292,295,297,300,302,305,307,310,312,314,316,319,322],{"class":171,"line":288},6,[169,290,291],{"class":216},"      await",[169,293,294],{"class":182}," delay",[169,296,187],{"class":238},[169,298,299],{"class":228},"Math",[169,301,232],{"class":186},[169,303,304],{"class":182},"pow",[169,306,187],{"class":238},[169,308,309],{"class":203},"2",[169,311,194],{"class":186},[169,313,197],{"class":228},[169,315,261],{"class":238},[169,317,318],{"class":186},"*",[169,320,321],{"class":203}," 1000",[169,323,243],{"class":238},[169,325,327,330,332,334,336,338,340,343,346],{"class":171,"line":326},7,[169,328,329],{"class":216},"      return",[169,331,183],{"class":182},[169,333,187],{"class":238},[169,335,191],{"class":228},[169,337,194],{"class":186},[169,339,197],{"class":228},[169,341,342],{"class":186}," +",[169,344,345],{"class":203}," 1",[169,347,243],{"class":238},[169,349,351],{"class":171,"line":350},8,[169,352,353],{"class":186},"    }\n",[169,355,357],{"class":171,"line":356},9,[169,358,360],{"emptyLinePlaceholder":359},true,"\n",[169,362,364,366,369,371,373],{"class":171,"line":363},10,[169,365,225],{"class":216},[169,367,368],{"class":182}," sendFallbackNotification",[169,370,187],{"class":238},[169,372,191],{"class":228},[169,374,243],{"class":238},[169,376,378],{"class":171,"line":377},11,[169,379,380],{"class":186},"  }\n",[169,382,384],{"class":171,"line":383},12,[169,385,386],{"class":186},"}\n",[18,388,390],{"id":389},"best-practices","Best Practices",[28,392,393,396,399,402,405],{},[31,394,395],{},"Retry temporary errors before switching channels.",[31,397,398],{},"Keep an audit trail for every retry and fallback.",[31,400,401],{},"Avoid logging PII-heavy message bodies unless needed.",[31,403,404],{},"Separate fallback logic for sales leads, support tickets, and broadcast campaigns.",[31,406,407],{},"Respect user consent across every channel.",[18,409,411],{"id":410},"monitoring","Monitoring",[14,413,414],{},"Track:",[28,416,417,420,423,426,429],{},[31,418,419],{},"Retry volume per partner.",[31,421,422],{},"Fallback ratio per campaign or rule.",[31,424,425],{},"Template errors.",[31,427,428],{},"Average time until successful delivery.",[31,430,431],{},"High-value leads requiring manual follow-up.",[18,433,435],{"id":434},"related-links","Related Links",[28,437,438,445,451],{},[31,439,440],{},[441,442,444],"a",{"href":443},"\u002Fen\u002Fdocs\u002Fwhatsapp\u002Fautomation","WhatsApp Automation",[31,446,447],{},[441,448,450],{"href":449},"\u002Fen\u002Fdocs\u002Fapi\u002Fwebhooks","Webhook API",[31,452,453],{},[441,454,456],{"href":455},"\u002Fen\u002Fdocs\u002Fpartner","Partner Integrations",[458,459,460],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":164,"searchDepth":213,"depth":213,"links":462},[463,468,469,473,474,475,476],{"id":20,"depth":213,"text":21,"children":464},[465,466,467],{"id":25,"depth":222,"text":26},{"id":45,"depth":222,"text":46},{"id":63,"depth":222,"text":64},{"id":78,"depth":213,"text":79},{"id":113,"depth":213,"text":114,"children":470},[471,472],{"id":117,"depth":222,"text":118},{"id":138,"depth":222,"text":139},{"id":156,"depth":213,"text":157},{"id":389,"depth":213,"text":390},{"id":410,"depth":213,"text":411},{"id":434,"depth":213,"text":435},"whatsapp",null,"Implement fallback messaging when WhatsApp Business API, omnichannel partners, or automation rules cannot deliver the primary message.","md",{},"\u002Fen\u002Fdocs\u002Fwhatsapp\u002Ffallback",{"title":5,"description":479},{"loc":482,"lastmod":485},"2026-09-06","en\u002Fdocs\u002Fwhatsapp\u002Ffallback",[],"AeFcVbZUQ7kR6L5RPuJ-Wdkg5D5oMekFcv2kbJt4zz0"]