{"id":275019,"date":"2025-10-20T09:41:43","date_gmt":"2025-10-20T07:41:43","guid":{"rendered":"https:\/\/www.unipile.com\/?p=275019"},"modified":"2026-08-07T10:42:35","modified_gmt":"2026-08-07T08:42:35","slug":"api-whatsapp-link","status":"publish","type":"post","link":"https:\/\/www.unipile.com\/es\/api-whatsapp-link\/","title":{"rendered":"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained"},"content":{"rendered":"\n[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.3&#8243; background_color=&#8221;transparent&#8221; custom_padding=&#8221;0px|0px|0px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.3&#8243; background_color=&#8221;transparent&#8221; custom_padding=&#8221;0px|0px|0px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.3&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.3&#8243; global_colors_info=&#8221;{}&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#unipile-toc,\n#unipile-toc *,\n#unipile-toc *::before,\n#unipile-toc *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#unipile-toc {\n  all: initial !important;\n  display: block !important;\n  max-width: 1100px !important;\n  margin: 0 auto !important;\n  padding: 0 !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n}\n#unipile-toc .utc-card {\n  background: #ffffff !important;\n  border-radius: 16px !important;\n  border: 1px solid #e5e7eb !important;\n  padding: 32px !important;\n  box-shadow: 0 2px 12px rgba(15, 39, 54, 0.04) !important;\n}\n\/* wpautop defensive patch (additive only, does not alter design): WordPress injects\n   stray <!\u2013- [et_pb_br_holder] -\u2013> tags after <\/svg> and between adjacent inline elements inside\n   [et_pb_code] blocks. Hiding them is visually a no-op when the bug is absent,\n   and prevents the .utc-link \/ .utc-toggle flex layout from breaking when present. *\/\n#unipile-toc br { display: none !important; }\n#unipile-toc .utc-header {\n  display: flex !important;\n  align-items: center !important;\n  justify-content: space-between !important;\n  gap: 12px !important;\n  margin-bottom: 24px !important;\n  padding-bottom: 20px !important;\n  border-bottom: 1px solid #e5e7eb !important;\n}\n#unipile-toc .utc-header-left {\n  display: flex !important;\n  align-items: center !important;\n  gap: 12px !important;\n}\n#unipile-toc .utc-icon-box {\n  width: 36px !important;\n  height: 36px !important;\n  background: rgba(59, 185, 139, 0.12) !important;\n  border-radius: 8px !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  flex-shrink: 0 !important;\n}\n#unipile-toc .utc-icon-box svg {\n  width: 18px !important;\n  height: 18px !important;\n  stroke: #3BB98B !important;\n  fill: none !important;\n  stroke-width: 2.2 !important;\n  stroke-linecap: round !important;\n  stroke-linejoin: round !important;\n}\n#unipile-toc .utc-title {\n  font-family: 'Poppins', sans-serif !important;\n  font-size: 15px !important;\n  font-weight: 700 !important;\n  color: #0f2736 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.5px !important;\n}\n#unipile-toc .utc-toggle {\n  display: none !important;\n  align-items: center !important;\n  gap: 6px !important;\n  background: transparent !important;\n  cursor: pointer !important;\n  font-size: 13px !important;\n  font-weight: 600 !important;\n  color: #3BB98B !important;\n  padding: 6px 10px !important;\n  border-radius: 6px !important;\n  transition: background 0.2s ease !important;\n}\n#unipile-toc .utc-toggle svg {\n  width: 14px !important;\n  height: 14px !important;\n  stroke: #3BB98B !important;\n  fill: none !important;\n  stroke-width: 2.5 !important;\n  stroke-linecap: round !important;\n  stroke-linejoin: round !important;\n  transition: transform 0.3s ease !important;\n}\n#unipile-toc.utc-collapsed .utc-toggle svg {\n  transform: rotate(-90deg) !important;\n}\n#unipile-toc .utc-grid {\n  display: grid !important;\n  grid-template-columns: repeat(4, 1fr) !important;\n  gap: 0 !important;\n}\n#unipile-toc .utc-col {\n  padding: 0 24px !important;\n  border-left: 1px solid #e5e7eb !important;\n}\n#unipile-toc .utc-col:first-child {\n  padding-left: 0 !important;\n  border-left: none !important;\n}\n#unipile-toc .utc-col:last-child {\n  padding-right: 0 !important;\n}\n#unipile-toc .utc-col-label {\n  font-size: 11px !important;\n  font-weight: 700 !important;\n  color: #94a3b8 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.8px !important;\n  margin-bottom: 14px !important;\n  display: block !important;\n}\n#unipile-toc .utc-link-list {\n  display: flex !important;\n  flex-direction: column !important;\n  gap: 10px !important;\n}\n#unipile-toc .utc-link {\n  display: flex !important;\n  align-items: flex-start !important;\n  gap: 10px !important;\n  cursor: pointer !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n  padding: 4px 0 !important;\n}\n#unipile-toc .utc-num {\n  width: 18px !important;\n  height: 18px !important;\n  flex-shrink: 0 !important;\n  background: #f4f5f7 !important;\n  border-radius: 4px !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  font-size: 10px !important;\n  font-weight: 700 !important;\n  color: #94a3b8 !important;\n  transition: all 0.2s ease !important;\n  margin-top: 1px !important;\n}\n#unipile-toc .utc-num.utc-num-faq {\n  font-size: 8px !important;\n  letter-spacing: 0.2px !important;\n}\n#unipile-toc .utc-link-text {\n  font-size: 13px !important;\n  font-weight: 500 !important;\n  color: #383838 !important;\n  line-height: 1.45 !important;\n  transition: color 0.2s ease !important;\n  flex: 1 !important;\n}\n#unipile-toc .utc-link:hover .utc-num {\n  background: rgba(59, 185, 139, 0.15) !important;\n  color: #3BB98B !important;\n}\n#unipile-toc .utc-link:hover .utc-link-text {\n  color: #0f2736 !important;\n}\n#unipile-toc .utc-link.utc-active .utc-num {\n  background: #3BB98B !important;\n  color: #ffffff !important;\n}\n#unipile-toc .utc-link.utc-active .utc-link-text {\n  color: #0f2736 !important;\n  font-weight: 600 !important;\n}\n#unipile-toc .utc-link.utc-read .utc-num {\n  background: rgba(59, 185, 139, 0.15) !important;\n  color: #3BB98B !important;\n}\n#unipile-toc .utc-tag-best {\n  display: inline-block !important;\n  font-size: 9px !important;\n  font-weight: 700 !important;\n  color: #ffffff !important;\n  background: #3BB98B !important;\n  padding: 2px 6px !important;\n  border-radius: 4px !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.5px !important;\n  margin-left: 6px !important;\n  vertical-align: middle !important;\n}\n\n@media (max-width: 1000px) {\n  #unipile-toc .utc-grid {\n    grid-template-columns: repeat(2, 1fr) !important;\n    gap: 24px 0 !important;\n  }\n  #unipile-toc .utc-col {\n    padding: 0 20px !important;\n  }\n  #unipile-toc .utc-col:nth-child(2n+1) {\n    padding-left: 0 !important;\n    border-left: none !important;\n  }\n  #unipile-toc .utc-col:nth-child(2n) {\n    padding-right: 0 !important;\n  }\n}\n\n@media (max-width: 700px) {\n  #unipile-toc .utc-card {\n    padding: 22px !important;\n  }\n  #unipile-toc .utc-header {\n    margin-bottom: 0 !important;\n    padding-bottom: 0 !important;\n    border-bottom: none !important;\n  }\n  #unipile-toc .utc-toggle {\n    display: flex !important;\n  }\n  #unipile-toc .utc-grid {\n    grid-template-columns: 1fr !important;\n    gap: 22px !important;\n    max-height: 2000px !important;\n    overflow: hidden !important;\n    transition: max-height 0.4s ease, margin-top 0.3s ease, padding-top 0.3s ease !important;\n    margin-top: 22px !important;\n    padding-top: 22px !important;\n    border-top: 1px solid #e5e7eb !important;\n  }\n  #unipile-toc.utc-collapsed .utc-grid {\n    max-height: 0 !important;\n    margin-top: 0 !important;\n    padding-top: 0 !important;\n    border-top: none !important;\n  }\n  #unipile-toc .utc-col {\n    padding: 0 !important;\n    border-left: none !important;\n    border-top: 1px solid #e5e7eb !important;\n    padding-top: 18px !important;\n  }\n  #unipile-toc .utc-col:first-child {\n    border-top: none !important;\n    padding-top: 0 !important;\n  }\n}\n<\/style>\n\n<div id=\"unipile-toc\">\n  <div class=\"utc-card\">\n    <div class=\"utc-header\">\n      <div class=\"utc-header-left\">\n        <div class=\"utc-icon-box\">\n          <svg viewBox=\"0 0 24 24\">\n            <line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"\/>\n            <line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"\/>\n            <line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"\/>\n            <line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"\/>\n            <line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"\/>\n            <line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"\/>\n          <\/svg>\n        <\/div>\n        <span class=\"utc-title\">Table of Contents<\/span>\n      <\/div>\n      <button type=\"button\" class=\"utc-toggle\" aria-label=\"Toggle table of contents\">\n        <span class=\"utc-toggle-label\">Hide<\/span>\n        <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\n      <\/button>\n    <\/div>\n\n    <div class=\"utc-grid\">\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">The Link<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wal-what-is\">\n            <span class=\"utc-num\">01<\/span>\n            <span class=\"utc-link-text\">What is a WhatsApp link API?<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-wame-format\">\n            <span class=\"utc-num\">02<\/span>\n            <span class=\"utc-link-text\">The exact wa.me link format<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-difference\">\n            <span class=\"utc-num\">03<\/span>\n            <span class=\"utc-link-text\">wa.me vs api.whatsapp.com<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">Build A Link<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wal-prefilled-text\">\n            <span class=\"utc-num\">04<\/span>\n            <span class=\"utc-link-text\">Add a pre-filled message<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-generator\">\n            <span class=\"utc-num\">05<\/span>\n            <span class=\"utc-link-text\">Generate your link<span class=\"utc-tag-best\">Tool<\/span><\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-does-it-send\">\n            <span class=\"utc-num\">06<\/span>\n            <span class=\"utc-link-text\">Does it send the message?<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">Beyond The Link<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wal-limits\">\n            <span class=\"utc-num\">07<\/span>\n            <span class=\"utc-link-text\">What a link cannot do<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-reply-back\">\n            <span class=\"utc-num\">08<\/span>\n            <span class=\"utc-link-text\">Getting the reply into your app<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-decision\">\n            <span class=\"utc-num\">09<\/span>\n            <span class=\"utc-link-text\">Link, Cloud API or connected account?<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">Implementation<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wal-embed\">\n            <span class=\"utc-num\">10<\/span>\n            <span class=\"utc-link-text\">Embedding a link in a product<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-troubleshooting\">\n            <span class=\"utc-num\">11<\/span>\n            <span class=\"utc-link-text\">Why isn&#8217;t my link working?<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wal-faq\">\n            <span class=\"utc-num utc-num-faq\">FAQ<\/span>\n            <span class=\"utc-link-text\">Frequently Asked Questions<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var toc = document.getElementById('unipile-toc');\n  if (!toc) return;\n\n  var toggleBtn = toc.querySelector('.utc-toggle');\n  var toggleLabel = toc.querySelector('.utc-toggle-label');\n  if (toggleBtn) {\n    toggleBtn.addEventListener('click', function(){\n      var isCollapsed = toc.classList.toggle('utc-collapsed');\n      if (toggleLabel) toggleLabel.textContent = isCollapsed ? 'Show' : 'Hide';\n    });\n    if (window.innerWidth <= 700) {\n      toc.classList.add('utc-collapsed');\n      if (toggleLabel) toggleLabel.textContent = 'Show';\n    }\n  }\n\n  var links = toc.querySelectorAll('.utc-link');\n  links.forEach(function(link){\n    link.addEventListener('click', function(e){\n      var href = link.getAttribute('href');\n      if (!href || href.charAt(0) !== '#') return;\n      var target = document.getElementById(href.substring(1));\n      if (target) {\n        e.preventDefault();\n        var offset = 80;\n        var top = target.getBoundingClientRect().top + window.pageYOffset - offset;\n        window.scrollTo({ top: top, behavior: 'smooth' });\n      }\n    });\n  });\n\n  var sectionIds = [];\n  links.forEach(function(link){\n    var href = link.getAttribute('href');\n    if (href &#038;&#038; href.charAt(0) === '#') sectionIds.push(href.substring(1));\n  });\n\n  function updateActive(){\n    var scrollY = window.pageYOffset + 120;\n    var activeId = null;\n    var readIds = [];\n    sectionIds.forEach(function(id){\n      var el = document.getElementById(id);\n      if (el) {\n        var top = el.getBoundingClientRect().top + window.pageYOffset;\n        if (top <= scrollY) {\n          activeId = id;\n          readIds.push(id);\n        }\n      }\n    });\n    links.forEach(function(link){\n      var href = link.getAttribute('href');\n      var id = href ? href.substring(1) : '';\n      link.classList.remove('utc-active', 'utc-read');\n      if (id === activeId) {\n        link.classList.add('utc-active');\n      } else if (readIds.indexOf(id) !== -1) {\n        link.classList.add('utc-read');\n      }\n    });\n  }\n\n  if ('IntersectionObserver' in window) {\n    var observer = new IntersectionObserver(function(){\n      updateActive();\n    }, { rootMargin: '-120px 0px -60% 0px' });\n    sectionIds.forEach(function(id){\n      var el = document.getElementById(id);\n      if (el) observer.observe(el);\n    });\n  }\n  window.addEventListener('scroll', updateActive, { passive: true });\n  updateActive();\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@600;700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-hero, #upl-wal-hero *, #upl-wal-hero *::before, #upl-wal-hero *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-hero { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-hero br{display:none!important;}\n#upl-wal-hero p{display:contents!important;}\nbody { background: #f4f5f7 !important; margin: 0 !important; }\n#upl-wal-hero { padding: 56px 20px 50px !important; overflow: hidden !important; }\n#upl-wal-hero .wh-container { max-width: 1100px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1.05fr 0.95fr !important; gap: 56px !important; align-items: center !important; }\n#upl-wal-hero .wh-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(59,185,139,0.12)!important;color:#2aaa7e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-hero .wh-badge-dot{width:7px!important;height:7px!important;background:#3BB98B!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-hero h1 { font-family: 'Poppins', sans-serif !important; font-size: 40px !important; font-weight: 800 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 20px !important; }\n#upl-wal-hero h1 span { color: #3BB98B !important; }\n#upl-wal-hero .wh-desc { display:block!important; font-size: 17px !important; line-height: 1.7 !important; color: #383838 !important; margin-bottom: 28px !important; }\n#upl-wal-hero .wh-desc strong { color:#0f2736!important; font-weight:600!important; }\n#upl-wal-hero .wh-actions { display:flex!important; align-items:center!important; gap:14px!important; flex-wrap:wrap!important; margin-bottom:18px!important; }\n#upl-wal-hero .wh-cta-primary{display:inline-flex!important;align-items:center!important;gap:8px!important;background:#DDDF4C!important;color:#0f2736!important;padding:14px 26px!important;border-radius:8px!important;font-size:0.95rem!important;font-weight:700!important;border:2px solid #DDDF4C!important;transition:transform 0.3s ease!important;cursor:pointer!important;white-space:nowrap!important;}\n#upl-wal-hero .wh-cta-primary:hover{transform:translateY(-5px)!important;}\n#upl-wal-hero .wh-cta-primary svg{width:16px!important;height:16px!important;stroke:currentColor!important;fill:none!important;stroke-width:2.5!important;}\n#upl-wal-hero .wh-cta-secondary{display:inline-flex!important;align-items:center!important;gap:8px!important;background:transparent!important;color:#0f2736!important;padding:12px 24px!important;border-radius:8px!important;border:2px solid #0f2736!important;font-size:0.95rem!important;font-weight:600!important;transition:all 0.3s ease!important;cursor:pointer!important;white-space:nowrap!important;}\n#upl-wal-hero .wh-cta-secondary:hover{background:#0f2736!important;color:#ffffff!important;}\n#upl-wal-hero .wh-trust{display:flex!important;align-items:center!important;gap:8px!important;font-size:0.85rem!important;color:#64748b!important;}\n#upl-wal-hero .wh-trust svg{width:16px!important;height:16px!important;color:#3BB98B!important;stroke:currentColor!important;fill:none!important;stroke-width:2.5!important;flex-shrink:0!important;}\n\/* visual *\/\n#upl-wal-hero .wh-visual{position:relative!important;}\n#upl-wal-hero .wh-phone{background:#ffffff!important;border-radius:20px!important;border:1px solid #e5e7eb!important;max-width:420px!important;margin:0 auto!important;overflow:hidden!important;}\n#upl-wal-hero .wh-phone-bar{padding:14px 18px!important;background:#f8fafc!important;border-bottom:1px solid #e5e7eb!important;display:flex!important;align-items:center!important;gap:8px!important;}\n#upl-wal-hero .wh-phone-dot{width:10px!important;height:10px!important;border-radius:50%!important;background:#e2e8f0!important;display:inline-block!important;}\n#upl-wal-hero .wh-phone-url{margin-left:8px!important;font-size:0.72rem!important;font-family:'SFMono-Regular',Menlo,monospace!important;color:#64748b!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}\n#upl-wal-hero .wh-phone-body{padding:22px 20px 26px!important;background:linear-gradient(180deg,#e9f7ef,#f4faf6)!important;}\n#upl-wal-hero .wh-bubble{background:#ffffff!important;border-radius:12px!important;padding:12px 14px!important;max-width:82%!important;margin-left:auto!important;margin-bottom:10px!important;}\n#upl-wal-hero .wh-bubble-text{display:block!important;font-size:0.82rem!important;color:#1e293b!important;line-height:1.5!important;}\n#upl-wal-hero .wh-bubble-meta{display:block!important;font-size:0.65rem!important;color:#94a3b8!important;margin-top:6px!important;text-align:right!important;}\n#upl-wal-hero .wh-bubble.wh-editable{border:1.5px dashed #3BB98B!important;background:#f0faf5!important;}\n#upl-wal-hero .wh-typing{display:flex!important;align-items:center!important;gap:5px!important;margin-top:14px!important;}\n#upl-wal-hero .wh-typing-dot{width:6px!important;height:6px!important;border-radius:50%!important;background:#94a3b8!important;display:inline-block!important;}\n#upl-wal-hero .wh-caption{display:flex!important;align-items:center!important;gap:8px!important;padding:12px 18px!important;background:#ffffff!important;border-top:1px solid #e5e7eb!important;}\n#upl-wal-hero .wh-caption svg{width:14px!important;height:14px!important;color:#3BB98B!important;stroke:currentColor!important;fill:none!important;stroke-width:2.5!important;flex-shrink:0!important;}\n#upl-wal-hero .wh-caption span{font-size:0.72rem!important;color:#64748b!important;font-weight:500!important;}\n#upl-wal-hero .wh-float{position:absolute!important;background:#ffffff!important;padding:10px 14px!important;border-radius:10px!important;border:1px solid #e5e7eb!important;display:flex!important;align-items:center!important;gap:10px!important;z-index:3!important;}\n#upl-wal-hero .wh-float.top{top:-14px!important;right:6px!important;}\n#upl-wal-hero .wh-float-icon{width:26px!important;height:26px!important;border-radius:6px!important;background:rgba(37,211,102,0.15)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}\n#upl-wal-hero .wh-float-icon svg{width:14px!important;height:14px!important;color:#25D366!important;stroke:currentColor!important;fill:none!important;stroke-width:2.5!important;}\n#upl-wal-hero .wh-float-title{display:block!important;font-size:0.72rem!important;font-weight:700!important;color:#0f2736!important;}\n#upl-wal-hero .wh-float-sub{display:block!important;font-size:0.62rem!important;color:#64748b!important;}\n\n@media (max-width: 900px) {\n  #upl-wal-hero .wh-container { grid-template-columns: 1fr !important; gap: 40px !important; text-align: center !important; }\n  #upl-wal-hero .wh-badge{ margin-left:auto!important; margin-right:auto!important; }\n  #upl-wal-hero .wh-actions{ justify-content:center!important; }\n  #upl-wal-hero .wh-trust{ justify-content:center!important; }\n  #upl-wal-hero .wh-phone{ max-width:420px!important; margin:0 auto!important; }\n  #upl-wal-hero .wh-float.top{ right:8px!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-hero { padding: 42px 16px 36px !important; }\n  #upl-wal-hero h1 { font-size: 27px !important; }\n  #upl-wal-hero .wh-desc { font-size: 15.5px !important; }\n  #upl-wal-hero .wh-actions { flex-direction: column !important; width: 100% !important; gap: 12px !important; }\n  #upl-wal-hero .wh-cta-primary, #upl-wal-hero .wh-cta-secondary { width: 100% !important; justify-content: center !important; }\n  #upl-wal-hero .wh-float { display: none !important; }\n}\n@media (max-width: 380px) {\n  #upl-wal-hero h1 { font-size: 24px !important; }\n}\n<\/style>\n\n<div id=\"upl-wal-hero\">\n  <div class=\"wh-container\">\n    <div class=\"wh-content\">\n      <div class=\"wh-badge\"><span class=\"wh-badge-dot\"><\/span><span>WhatsApp Click-to-Chat Links<\/span><\/div>\n      <h1>WhatsApp Link API: How <span>wa.me<\/span> and <span>api.whatsapp.com<\/span> Links Actually Work<\/h1>\n      <div class=\"wh-desc\">A WhatsApp link is a URL, not an API. This guide gives you the exact <strong>wa.me<\/strong> and <strong>api.whatsapp.com\/send<\/strong> formats, the <strong>text<\/strong> parameter, a free generator, and the point where the link stops and an actual integration has to start.<\/div>\n      <div class=\"wh-actions\">\n        <a class=\"wh-cta-primary\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n          <span>Build with the WhatsApp API<\/span>\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n        <\/a>\n        <a class=\"wh-cta-secondary\" href=\"https:\/\/developer.unipile.com\/docs\/getting-started\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/developer.unipile.com\/docs\/getting-started\" data-upl-target=\"_blank\">\n          <span>Read the docs<\/span>\n        <\/a>\n      <\/div>\n      <div class=\"wh-trust\">\n        <svg viewBox=\"0 0 24 24\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"><\/path><polyline points=\"22 4 12 14.01 9 11.01\"><\/polyline><\/svg>\n        <span>7-day free trial, no credit card required<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"wh-visual\">\n      <div class=\"wh-float top\">\n        <div class=\"wh-float-icon\">\n          <svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12c0 1.85.5 3.58 1.38 5.07L2 22l5.07-1.33A9.94 9.94 0 0 0 12 22c5.52 0 10-4.48 10-10S17.52 2 12 2z\"\/><\/svg>\n        <\/div>\n        <div>\n          <div class=\"wh-float-title\"><span>Just a URL<\/span><\/div>\n          <div class=\"wh-float-sub\"><span>No auth, no code<\/span><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wh-phone\">\n        <div class=\"wh-phone-bar\">\n          <span class=\"wh-phone-dot\"><\/span><span class=\"wh-phone-dot\"><\/span><span class=\"wh-phone-dot\"><\/span>\n          <span class=\"wh-phone-url\">wa.me\/1XXXXXXXXXX?text=Hi...<\/span>\n        <\/div>\n        <div class=\"wh-phone-body\">\n          <div class=\"wh-bubble wh-editable\">\n            <span class=\"wh-bubble-text\">Hi! I have a question about your product.<\/span>\n            <span class=\"wh-bubble-meta\">Pre-filled, still editable<\/span>\n          <\/div>\n          <div class=\"wh-typing\">\n            <span class=\"wh-typing-dot\"><\/span><span class=\"wh-typing-dot\"><\/span><span class=\"wh-typing-dot\"><\/span>\n          <\/div>\n        <\/div>\n        <div class=\"wh-caption\">\n          <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>\n          <span>Opens the chat. A human still has to press send.<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var wrapper = document.getElementById('upl-wal-hero');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); } else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-def, #upl-wal-def *, #upl-wal-def *::before, #upl-wal-def *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-def { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-def br{display:none!important;}\n#upl-wal-def p{display:contents!important;}\n#upl-wal-def { padding: 54px 20px !important; }\n#upl-wal-def .wdf-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-def .wdf-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(59,185,139,0.12)!important;color:#2aaa7e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-def .wdf-badge-dot{width:7px!important;height:7px!important;background:#3BB98B!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-def h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-def .wdf-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n#upl-wal-def .wdf-lead code { font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; background:#f1f5f9!important; color:#0f2736!important; padding:2px 7px!important; border-radius:5px!important; font-size:0.88em!important; word-break:break-all!important; }\n#upl-wal-def .wdf-lead strong{ color:#0f2736!important; font-weight:600!important; }\n\n#upl-wal-def .wdf-table{ background:#ffffff!important; border-radius:16px!important; border:1px solid #e5e7eb!important; overflow:hidden!important; }\n#upl-wal-def .wdf-row{ display:grid!important; grid-template-columns: 1.1fr 1fr 1fr!important; }\n#upl-wal-def .wdf-row + .wdf-row{ border-top:1px solid #e5e7eb!important; }\n#upl-wal-def .wdf-row.wdf-head{ background:#0f2736!important; }\n#upl-wal-def .wdf-cell{ padding:16px 22px!important; display:flex!important; align-items:center!important; gap:10px!important; }\n#upl-wal-def .wdf-row.wdf-head .wdf-cell{ font-size:0.85rem!important; font-weight:700!important; color:#ffffff!important; }\n#upl-wal-def .wdf-row.wdf-head .wdf-cell:first-child{ color:rgba(255,255,255,0.55)!important; }\n#upl-wal-def .wdf-row.wdf-head .wdf-cell.wdf-link{ background:rgba(59,185,139,0.18)!important; }\n#upl-wal-def .wdf-row:not(.wdf-head) .wdf-cell:first-child{ font-weight:600!important; color:#0f2736!important; font-size:0.88rem!important; }\n#upl-wal-def .wdf-row:not(.wdf-head) .wdf-cell.wdf-link{ background:rgba(59,185,139,0.04)!important; font-size:0.86rem!important; color:#1e293b!important; }\n#upl-wal-def .wdf-row:not(.wdf-head) .wdf-cell:last-child{ font-size:0.86rem!important; color:#1e293b!important; }\n#upl-wal-def .wdf-cell svg{ width:16px!important; height:16px!important; flex-shrink:0!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n#upl-wal-def .wdf-row.wdf-head .wdf-cell svg{ color:#ffffff!important; }\n#upl-wal-def .wdf-mobile-label{ display:none!important; font-size:0.62rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.5px!important; color:#94a3b8!important; margin-bottom:4px!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-def h2{ font-size:28px!important; }\n}\n@media (max-width: 700px) {\n  #upl-wal-def .wdf-row.wdf-head{ display:none!important; }\n  #upl-wal-def .wdf-row{ grid-template-columns: 1fr!important; }\n  #upl-wal-def .wdf-cell{ padding:10px 18px!important; }\n  #upl-wal-def .wdf-cell:first-child{ background:#f8fafc!important; padding-top:14px!important; }\n  #upl-wal-def .wdf-cell:last-child{ padding-bottom:14px!important; }\n  #upl-wal-def .wdf-mobile-label{ display:block!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-def{ padding:44px 16px!important; }\n  #upl-wal-def h2{ font-size:26px!important; }\n  #upl-wal-def .wdf-lead{ font-size:15.5px!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-def\">\n  <div class=\"wdf-container\">\n    <span id=\"wal-what-is\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wdf-badge\"><span class=\"wdf-badge-dot\"><\/span><span>Definition<\/span><\/div>\n    <h2>What is a WhatsApp link API?<\/h2>\n    <div class=\"wdf-lead\">There is no WhatsApp link API. <code>https:\/\/wa.me\/&lt;number&gt;<\/code> and <code>https:\/\/api.whatsapp.com\/send?phone=&lt;number&gt;<\/code> are click-to-chat URLs: clicking one opens a conversation in WhatsApp. They require <strong>no authentication, no developer account and no code<\/strong>. The WhatsApp APIs are a separate layer, and they begin exactly where the link stops.<\/div>\n\n    <div class=\"wdf-table\">\n      <div class=\"wdf-row wdf-head\">\n        <div class=\"wdf-cell\"><span>Criterion<\/span><\/div>\n        <div class=\"wdf-cell wdf-link\"><span>A WhatsApp link<\/span><\/div>\n        <div class=\"wdf-cell\"><span>A WhatsApp API<\/span><\/div>\n      <\/div>\n      <div class=\"wdf-row\">\n        <div class=\"wdf-cell\"><span>Format<\/span><\/div>\n        <div class=\"wdf-cell wdf-link\"><span class=\"wdf-mobile-label\">Link<\/span><span>A URL you can paste anywhere<\/span><\/div>\n        <div class=\"wdf-cell\"><span class=\"wdf-mobile-label\">API<\/span><span>An authenticated HTTP endpoint<\/span><\/div>\n      <\/div>\n      <div class=\"wdf-row\">\n        <div class=\"wdf-cell\"><span>Setup<\/span><\/div>\n        <div class=\"wdf-cell wdf-link\"><span class=\"wdf-mobile-label\">Link<\/span><span>None. It works instantly<\/span><\/div>\n        <div class=\"wdf-cell\"><span class=\"wdf-mobile-label\">API<\/span><span>Account linking, an API key, a client library<\/span><\/div>\n      <\/div>\n      <div class=\"wdf-row\">\n        <div class=\"wdf-cell\"><span>What happens on click \/ call<\/span><\/div>\n        <div class=\"wdf-cell wdf-link\"><span class=\"wdf-mobile-label\">Link<\/span><span>Opens a chat and can pre-fill a text field<\/span><\/div>\n        <div class=\"wdf-cell\"><span class=\"wdf-mobile-label\">API<\/span><span>Sends, receives and lists messages programmatically<\/span><\/div>\n      <\/div>\n      <div class=\"wdf-row\">\n        <div class=\"wdf-cell\"><span>Who acts<\/span><\/div>\n        <div class=\"wdf-cell wdf-link\"><span class=\"wdf-mobile-label\">Link<\/span><span>A human presses send<\/span><\/div>\n        <div class=\"wdf-cell\"><span class=\"wdf-mobile-label\">API<\/span><span>Your software acts on behalf of the linked account<\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-fmt, #upl-wal-fmt *, #upl-wal-fmt *::before, #upl-wal-fmt *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-fmt { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-fmt br{display:none!important;}\n#upl-wal-fmt p{display:contents!important;}\n#upl-wal-fmt { padding: 40px 20px 54px !important; }\n#upl-wal-fmt .wft-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-fmt .wft-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(221,223,76,0.18)!important;color:#8a8c2e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-fmt .wft-badge-dot{width:7px!important;height:7px!important;background:#DDDF4C!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-fmt h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-fmt .wft-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 28px !important; }\n#upl-wal-fmt .wft-lead code { font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; background:#f1f5f9!important; color:#0f2736!important; padding:2px 7px!important; border-radius:5px!important; font-size:0.88em!important; word-break:break-all!important; }\n\n#upl-wal-fmt .wft-grid{ display:grid!important; grid-template-columns: 1.15fr 0.85fr!important; gap:28px!important; align-items:stretch!important; }\n#upl-wal-fmt .wft-code{ background:#0d1117!important; border-radius:14px!important; overflow:hidden!important; }\n#upl-wal-fmt .wft-code-bar{ background:#161b22!important; padding:12px 18px!important; display:flex!important; align-items:center!important; gap:8px!important; border-bottom:1px solid rgba(255,255,255,0.06)!important; }\n#upl-wal-fmt .wft-dot{ width:11px!important; height:11px!important; border-radius:50%!important; display:inline-block!important; }\n#upl-wal-fmt .wft-dot.r{ background:#ff5f57!important; }\n#upl-wal-fmt .wft-dot.y{ background:#febc2e!important; }\n#upl-wal-fmt .wft-dot.g{ background:#28c840!important; }\n#upl-wal-fmt .wft-fname{ color:#8b949e!important; font-size:12.5px!important; margin-left:6px!important; font-family:'SFMono-Regular',Menlo,monospace!important; }\n#upl-wal-fmt .wft-pre{ padding:22px 22px!important; overflow-x:auto!important; }\n#upl-wal-fmt .wft-pre code{ font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; font-size:13px!important; line-height:2!important; white-space:pre!important; display:block!important; color:#e6edf3!important; }\n#upl-wal-fmt .wft-ok{ color:#3BB98B!important; }\n#upl-wal-fmt .wft-no{ color:#f77b6b!important; }\n#upl-wal-fmt .wft-tag{ font-weight:700!important; }\n#upl-wal-fmt .wft-num{ color:#79c0ff!important; }\n\n#upl-wal-fmt .wft-side{ display:flex!important; flex-direction:column!important; gap:16px!important; }\n#upl-wal-fmt .wft-rule{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:14px!important; padding:20px!important; flex:1!important; display:flex!important; flex-direction:column!important; gap:10px!important; }\n#upl-wal-fmt .wft-rule-title{ display:flex!important; align-items:center!important; gap:8px!important; font-size:0.8rem!important; font-weight:700!important; color:#0f2736!important; text-transform:uppercase!important; letter-spacing:0.4px!important; }\n#upl-wal-fmt .wft-rule-title svg{ width:16px!important; height:16px!important; color:#3BB98B!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; flex-shrink:0!important; }\n#upl-wal-fmt .wft-rule-desc{ font-size:0.85rem!important; line-height:1.6!important; color:#475569!important; }\n#upl-wal-fmt .wft-source{ display:inline-flex!important; align-items:center!important; gap:6px!important; font-size:0.78rem!important; color:#3BB98B!important; text-decoration:underline!important; margin-top:4px!important; width:fit-content!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-fmt h2{ font-size:28px!important; }\n  #upl-wal-fmt .wft-grid{ grid-template-columns: 1fr!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-fmt{ padding:36px 16px 44px!important; }\n  #upl-wal-fmt h2{ font-size:26px!important; }\n  #upl-wal-fmt .wft-lead{ font-size:15.5px!important; }\n  #upl-wal-fmt .wft-pre code{ font-size:11.5px!important; }\n  #upl-wal-fmt .wft-pre{ padding:16px!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-fmt\">\n  <div class=\"wft-container\">\n    <span id=\"wal-wame-format\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wft-badge\"><span class=\"wft-badge-dot\"><\/span><span>Format<\/span><\/div>\n    <h2>What is the exact wa.me link format?<\/h2>\n    <div class=\"wft-lead\">The documented format is <code>https:\/\/wa.me\/&lt;number&gt;<\/code>, where <code>&lt;number&gt;<\/code> is a full phone number in international format. WhatsApp's Help Center states you must omit any zeroes, brackets or dashes.<\/div>\n\n    <div class=\"wft-grid\">\n      <div class=\"wft-code\">\n        <div class=\"wft-code-bar\"><span class=\"wft-dot r\"><\/span><span class=\"wft-dot y\"><\/span><span class=\"wft-dot g\"><\/span><span class=\"wft-fname\">wa.me-format.txt<\/span><\/div>\n        <div class=\"wft-pre\"><code><span class=\"wft-ok\"><span class=\"wft-tag\">Use:<\/span>       <\/span>https:\/\/wa.me\/<span class=\"wft-num\">1XXXXXXXXXX<\/span>&#10;<span class=\"wft-no\"><span class=\"wft-tag\">Don't use:<\/span> <\/span>https:\/\/wa.me\/+001-(XXX)XXXXXXX<\/code><\/div>\n      <\/div>\n      <div class=\"wft-side\">\n        <div class=\"wft-rule\">\n          <div class=\"wft-rule-title\">\n            <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n            <span>What to keep<\/span>\n          <\/div>\n          <div class=\"wft-rule-desc\">Country code plus subscriber number, digits only. No leading <code style=\"background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:0.85em;\">+<\/code>.<\/div>\n        <\/div>\n        <div class=\"wft-rule\">\n          <div class=\"wft-rule-title\">\n            <svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\n            <span>What to strip<\/span>\n          <\/div>\n          <div class=\"wft-rule-desc\">Leading zeroes, spaces, dashes, parentheses. None of them belong in the path.<\/div>\n        <\/div>\n        <a class=\"wft-source\" href=\"https:\/\/faq.whatsapp.com\/5913398998672934\" target=\"_blank\" rel=\"noopener\">\n          <span>Source: WhatsApp Help Center, \"How to use click to chat\"<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-diff, #upl-wal-diff *, #upl-wal-diff *::before, #upl-wal-diff *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-diff { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-diff br{display:none!important;}\n#upl-wal-diff p{display:contents!important;}\n#upl-wal-diff { padding: 54px 20px !important; }\n#upl-wal-diff .wdi-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-diff .wdi-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(59,185,139,0.12)!important;color:#2aaa7e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-diff .wdi-badge-dot{width:7px!important;height:7px!important;background:#3BB98B!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-diff h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-diff .wdi-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n#upl-wal-diff .wdi-lead code { font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; background:#f1f5f9!important; color:#0f2736!important; padding:2px 7px!important; border-radius:5px!important; font-size:0.88em!important; word-break:break-all!important; }\n\n\/* URL anatomy *\/\n#upl-wal-diff .wdi-anatomy{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:16px!important; padding:28px!important; margin-bottom:20px!important; }\n#upl-wal-diff .wdi-anatomy-title{ font-size:0.72rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.6px!important; color:#94a3b8!important; margin-bottom:16px!important; }\n#upl-wal-diff .wdi-url-row{ margin-bottom:22px!important; }\n#upl-wal-diff .wdi-url-row:last-child{ margin-bottom:0!important; }\n#upl-wal-diff .wdi-url{ display:block!important; font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; font-size:14px!important; line-height:2!important; word-break:break-all!important; margin-bottom:10px!important; }\n#upl-wal-diff .wdi-seg{ padding:2px 3px!important; border-radius:4px!important; }\n#upl-wal-diff .wdi-host{ background:rgba(59,130,246,0.12)!important; color:#2563eb!important; }\n#upl-wal-diff .wdi-num{ background:rgba(59,185,139,0.14)!important; color:#2a9d6e!important; font-weight:700!important; }\n#upl-wal-diff .wdi-path{ background:rgba(139,92,246,0.12)!important; color:#7c3aed!important; }\n#upl-wal-diff .wdi-txt{ background:rgba(245,158,11,0.14)!important; color:#b45309!important; }\n#upl-wal-diff .wdi-legend{ display:flex!important; flex-wrap:wrap!important; gap:16px!important; }\n#upl-wal-diff .wdi-legend-item{ display:flex!important; align-items:center!important; gap:6px!important; font-size:0.75rem!important; color:#64748b!important; }\n#upl-wal-diff .wdi-legend-dot{ width:9px!important; height:9px!important; border-radius:3px!important; display:inline-block!important; }\n\n\/* table *\/\n#upl-wal-diff .wdi-table{ background:#ffffff!important; border-radius:16px!important; border:1px solid #e5e7eb!important; overflow:hidden!important; margin-bottom:18px!important; }\n#upl-wal-diff .wdi-row{ display:grid!important; grid-template-columns: 1.2fr 1fr 1fr!important; }\n#upl-wal-diff .wdi-row + .wdi-row{ border-top:1px solid #e5e7eb!important; }\n#upl-wal-diff .wdi-row.wdi-head{ background:#0f2736!important; }\n#upl-wal-diff .wdi-cell{ padding:16px 22px!important; display:flex!important; align-items:center!important; gap:8px!important; }\n#upl-wal-diff .wdi-row.wdi-head .wdi-cell{ font-size:0.85rem!important; font-weight:700!important; color:#ffffff!important; font-family:'SFMono-Regular',Menlo,monospace!important; }\n#upl-wal-diff .wdi-row.wdi-head .wdi-cell:first-child{ color:rgba(255,255,255,0.55)!important; font-family:'Inter',sans-serif!important; }\n#upl-wal-diff .wdi-row:not(.wdi-head) .wdi-cell:first-child{ font-weight:600!important; color:#0f2736!important; font-size:0.86rem!important; }\n#upl-wal-diff .wdi-row:not(.wdi-head) .wdi-cell:not(:first-child){ font-size:0.85rem!important; color:#1e293b!important; }\n#upl-wal-diff .wdi-mobile-label{ display:none!important; font-size:0.62rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.5px!important; color:#94a3b8!important; margin-bottom:4px!important; }\n\n#upl-wal-diff .wdi-note{ display:flex!important; gap:12px!important; padding:18px 20px!important; background:#fffbeb!important; border-radius:12px!important; border-left:4px solid #f59e0b!important; }\n#upl-wal-diff .wdi-note svg{ width:18px!important; height:18px!important; color:#b45309!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; flex-shrink:0!important; margin-top:2px!important; }\n#upl-wal-diff .wdi-note-text{ font-size:0.86rem!important; line-height:1.65!important; color:#78350f!important; }\n#upl-wal-diff .wdi-note-text strong{ color:#78350f!important; font-weight:700!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-diff h2{ font-size:28px!important; }\n  #upl-wal-diff .wdi-url{ font-size:12.5px!important; }\n}\n@media (max-width: 700px) {\n  #upl-wal-diff .wdi-row.wdi-head{ display:none!important; }\n  #upl-wal-diff .wdi-row{ grid-template-columns: 1fr!important; }\n  #upl-wal-diff .wdi-cell{ padding:10px 18px!important; }\n  #upl-wal-diff .wdi-cell:first-child{ background:#f8fafc!important; padding-top:14px!important; }\n  #upl-wal-diff .wdi-cell:last-child{ padding-bottom:14px!important; }\n  #upl-wal-diff .wdi-mobile-label{ display:block!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-diff{ padding:44px 16px!important; }\n  #upl-wal-diff h2{ font-size:26px!important; }\n  #upl-wal-diff .wdi-lead{ font-size:15.5px!important; }\n  #upl-wal-diff .wdi-anatomy{ padding:18px!important; }\n  #upl-wal-diff .wdi-url{ font-size:11px!important; line-height:1.9!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-diff\">\n  <div class=\"wdi-container\">\n    <span id=\"wal-difference\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wdi-badge\"><span class=\"wdi-badge-dot\"><\/span><span>Comparison<\/span><\/div>\n    <h2>What is the difference between wa.me and api.whatsapp.com\/send?<\/h2>\n    <div class=\"wdi-lead\">Both open the same conversation. <code>wa.me\/&lt;number&gt;<\/code> is the short form documented in WhatsApp's Help Center, with the number in the path. <code>api.whatsapp.com\/send?phone=&lt;number&gt;<\/code> is the long form, still in wide use, that carries the number as a query parameter.<\/div>\n\n    <div class=\"wdi-anatomy\">\n      <div class=\"wdi-anatomy-title\">URL anatomy, segment by segment<\/div>\n      <div class=\"wdi-url-row\">\n        <span class=\"wdi-url\"><span class=\"wdi-seg wdi-host\">https:\/\/wa.me<\/span><span class=\"wdi-seg wdi-num\">\/1XXXXXXXXXX<\/span><span class=\"wdi-seg wdi-txt\">?text=Hi<\/span><\/span>\n      <\/div>\n      <div class=\"wdi-url-row\">\n        <span class=\"wdi-url\"><span class=\"wdi-seg wdi-host\">https:\/\/api.whatsapp.com<\/span><span class=\"wdi-seg wdi-path\">\/send<\/span><span class=\"wdi-seg wdi-num\">?phone=1XXXXXXXXXX<\/span><span class=\"wdi-seg wdi-txt\">&amp;text=Hi<\/span><\/span>\n      <\/div>\n      <div class=\"wdi-legend\">\n        <div class=\"wdi-legend-item\"><span class=\"wdi-legend-dot\" style=\"background:#2563eb;\"><\/span><span>Host<\/span><\/div>\n        <div class=\"wdi-legend-item\"><span class=\"wdi-legend-dot\" style=\"background:#7c3aed;\"><\/span><span>Fixed path<\/span><\/div>\n        <div class=\"wdi-legend-item\"><span class=\"wdi-legend-dot\" style=\"background:#2a9d6e;\"><\/span><span>The number<\/span><\/div>\n        <div class=\"wdi-legend-item\"><span class=\"wdi-legend-dot\" style=\"background:#b45309;\"><\/span><span>The message<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wdi-table\">\n      <div class=\"wdi-row wdi-head\">\n        <div class=\"wdi-cell\"><span>Criterion<\/span><\/div>\n        <div class=\"wdi-cell\"><span>wa.me<\/span><\/div>\n        <div class=\"wdi-cell\"><span>api.whatsapp.com\/send<\/span><\/div>\n      <\/div>\n      <div class=\"wdi-row\">\n        <div class=\"wdi-cell\"><span>Where the number lives<\/span><\/div>\n        <div class=\"wdi-cell\"><span class=\"wdi-mobile-label\">wa.me<\/span><span>In the URL path<\/span><\/div>\n        <div class=\"wdi-cell\"><span class=\"wdi-mobile-label\">api.whatsapp.com<\/span><span>In the <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#f1f5f9;padding:1px 5px;border-radius:4px;\">phone<\/code> query parameter<\/span><\/div>\n      <\/div>\n      <div class=\"wdi-row\">\n        <div class=\"wdi-cell\"><span>Documented in WhatsApp's Help Center<\/span><\/div>\n        <div class=\"wdi-cell\"><span class=\"wdi-mobile-label\">wa.me<\/span><span>Yes, this exact format<\/span><\/div>\n        <div class=\"wdi-cell\"><span class=\"wdi-mobile-label\">api.whatsapp.com<\/span><span>Not on the current help page we could find<\/span><\/div>\n      <\/div>\n      <div class=\"wdi-row\">\n        <div class=\"wdi-cell\"><span>Observed behavior<\/span><\/div>\n        <div class=\"wdi-cell\"><span class=\"wdi-mobile-label\">wa.me<\/span><span>Opens the chat<\/span><\/div>\n        <div class=\"wdi-cell\"><span class=\"wdi-mobile-label\">api.whatsapp.com<\/span><span>Opens the same chat<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wdi-note\">\n      <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n      <div class=\"wdi-note-text\"><strong>A documentation gap, not a deprecation.<\/strong> We could not find a current, official WhatsApp or Meta page that documents <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#fef3c7;padding:1px 5px;border-radius:4px;\">api.whatsapp.com\/send<\/code>. That does not mean it stopped working: both formats redirect to the same conversation today. It means WhatsApp's own Help Center only covers <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#fef3c7;padding:1px 5px;border-radius:4px;\">wa.me<\/code>. Build new links on the documented format.<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-text, #upl-wal-text *, #upl-wal-text *::before, #upl-wal-text *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-text { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-text br{display:none!important;}\n#upl-wal-text p{display:contents!important;}\n#upl-wal-text { padding: 54px 20px !important; }\n#upl-wal-text .wtx-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-text .wtx-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(221,223,76,0.18)!important;color:#8a8c2e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-text .wtx-badge-dot{width:7px!important;height:7px!important;background:#DDDF4C!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-text h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-text .wtx-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 26px !important; }\n#upl-wal-text .wtx-lead code { font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; background:#f1f5f9!important; color:#0f2736!important; padding:2px 7px!important; border-radius:5px!important; font-size:0.88em!important; word-break:break-all!important; }\n\n#upl-wal-text .wtx-variants{ background:#0d1117!important; border-radius:14px!important; overflow:hidden!important; margin-bottom:14px!important; }\n#upl-wal-text .wtx-code-bar{ background:#161b22!important; padding:12px 18px!important; display:flex!important; align-items:center!important; gap:8px!important; border-bottom:1px solid rgba(255,255,255,0.06)!important; }\n#upl-wal-text .wtx-dot{ width:11px!important; height:11px!important; border-radius:50%!important; display:inline-block!important; }\n#upl-wal-text .wtx-dot.r{ background:#ff5f57!important; } #upl-wal-text .wtx-dot.y{ background:#febc2e!important; } #upl-wal-text .wtx-dot.g{ background:#28c840!important; }\n#upl-wal-text .wtx-fname{ color:#8b949e!important; font-size:12.5px!important; margin-left:6px!important; font-family:'SFMono-Regular',Menlo,monospace!important; }\n#upl-wal-text .wtx-pre{ padding:20px 22px!important; overflow-x:auto!important; }\n#upl-wal-text .wtx-pre code{ font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; font-size:12.5px!important; line-height:2!important; white-space:pre!important; display:block!important; color:#e6edf3!important; }\n#upl-wal-text .wtx-c{ color:#8b949e!important; }\n#upl-wal-text .wtx-num{ color:#79c0ff!important; }\n\n#upl-wal-text .wtx-hint{ display:flex!important; gap:10px!important; padding:14px 18px!important; background:#f8fafc!important; border-radius:10px!important; border-left:3px solid #3BB98B!important; margin-bottom:34px!important; }\n#upl-wal-text .wtx-hint svg{ width:16px!important; height:16px!important; color:#3BB98B!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; flex-shrink:0!important; margin-top:2px!important; }\n#upl-wal-text .wtx-hint span{ font-size:0.82rem!important; line-height:1.6!important; color:#475569!important; }\n\n#upl-wal-text .wtx-sub{ font-family:'Poppins',sans-serif!important; font-size:1.05rem!important; font-weight:700!important; color:#0f2736!important; margin-bottom:16px!important; display:block!important; }\n#upl-wal-text .wtx-enc{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:14px!important; overflow:hidden!important; margin-bottom:34px!important; }\n#upl-wal-text .wtx-enc-row{ display:grid!important; grid-template-columns: repeat(5,1fr)!important; }\n#upl-wal-text .wtx-enc-row + .wtx-enc-row{ border-top:1px solid #e5e7eb!important; }\n#upl-wal-text .wtx-enc-row.wtx-enc-head{ background:#0f2736!important; }\n#upl-wal-text .wtx-enc-cell{ padding:14px 10px!important; text-align:center!important; }\n#upl-wal-text .wtx-enc-row.wtx-enc-head .wtx-enc-cell{ font-size:0.78rem!important; font-weight:700!important; color:#ffffff!important; }\n#upl-wal-text .wtx-enc-row:not(.wtx-enc-head) .wtx-enc-cell{ font-size:0.82rem!important; color:#1e293b!important; }\n#upl-wal-text .wtx-enc-row:not(.wtx-enc-head) .wtx-enc-cell:first-child{ font-weight:600!important; color:#0f2736!important; }\n#upl-wal-text .wtx-enc-row:not(.wtx-enc-head) .wtx-enc-cell:not(:first-child){ font-family:'SFMono-Regular',Menlo,monospace!important; color:#2a9d6e!important; font-weight:600!important; }\n\n#upl-wal-text .wtx-snips{ display:grid!important; grid-template-columns:1fr 1fr!important; gap:20px!important; }\n#upl-wal-text .wtx-snip{ background:#0d1117!important; border-radius:14px!important; overflow:hidden!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-text h2{ font-size:28px!important; }\n  #upl-wal-text .wtx-snips{ grid-template-columns:1fr!important; }\n  #upl-wal-text .wtx-enc-row{ grid-template-columns: repeat(3,1fr)!important; }\n  #upl-wal-text .wtx-enc-cell:nth-child(4), #upl-wal-text .wtx-enc-cell:nth-child(5){ display:none!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-text{ padding:44px 16px!important; }\n  #upl-wal-text h2{ font-size:26px!important; }\n  #upl-wal-text .wtx-lead{ font-size:15.5px!important; }\n  #upl-wal-text .wtx-pre code, #upl-wal-text .wtx-snip code{ font-size:11px!important; }\n  #upl-wal-text .wtx-pre, #upl-wal-text .wtx-snip .wtx-pre{ padding:14px!important; }\n  #upl-wal-text .wtx-enc-row{ grid-template-columns: repeat(2,1fr)!important; }\n  #upl-wal-text .wtx-enc-cell:nth-child(3){ display:none!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-text\">\n  <div class=\"wtx-container\">\n    <span id=\"wal-prefilled-text\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wtx-badge\"><span class=\"wtx-badge-dot\"><\/span><span>The text parameter<\/span><\/div>\n    <h2>How do you add a pre-filled message to a WhatsApp link?<\/h2>\n    <div class=\"wtx-lead\">Append <code>?text=<\/code> followed by the URL-encoded message: <code>https:\/\/wa.me\/&lt;number&gt;?text=&lt;urlencodedtext&gt;<\/code>. The text lands in the chat input field, pre-filled and editable.<\/div>\n\n    <div class=\"wtx-variants\">\n      <div class=\"wtx-code-bar\"><span class=\"wtx-dot r\"><\/span><span class=\"wtx-dot y\"><\/span><span class=\"wtx-dot g\"><\/span><span class=\"wtx-fname\">prefilled-variants.txt<\/span><\/div>\n      <div class=\"wtx-pre\"><code>https:\/\/wa.me\/<span class=\"wtx-num\">1XXXXXXXXXX<\/span>?text=I'm%20interested%20in%20your%20car%20for%20sale&#10;<span class=\"wtx-c\">\/\/ no number: opens a contact picker instead<\/span>&#10;https:\/\/wa.me\/?text=I'm%20inquiring%20about%20the%20apartment%20listing<\/code><\/div>\n    <\/div>\n    <div class=\"wtx-hint\">\n      <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n      <span>Without a number, WhatsApp opens the sender's contact list instead of a specific chat. The <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#e2e8f0;padding:1px 5px;border-radius:4px;\">text<\/code> still pre-fills once a contact is picked.<\/span>\n    <\/div>\n\n    <span class=\"wtx-sub\">Encoding, the certain mappings<\/span>\n    <div class=\"wtx-enc\">\n      <div class=\"wtx-enc-row wtx-enc-head\">\n        <div class=\"wtx-enc-cell\"><span>Character<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>Space<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>New line<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>&amp;<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>#<\/span><\/div>\n      <\/div>\n      <div class=\"wtx-enc-row\">\n        <div class=\"wtx-enc-cell\"><span>Encoded as<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>%20<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>%0A<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>%26<\/span><\/div>\n        <div class=\"wtx-enc-cell\"><span>%23<\/span><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"wtx-hint\" style=\"margin-bottom:34px;\">\n      <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n      <span>Also worth knowing: <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#e2e8f0;padding:1px 5px;border-radius:4px;\">+<\/code> encodes to <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#e2e8f0;padding:1px 5px;border-radius:4px;\">%2B<\/code>. For everything else, emoji included, don't build the table yourself: call <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#e2e8f0;padding:1px 5px;border-radius:4px;\">encodeURIComponent()<\/code> in JavaScript or <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#e2e8f0;padding:1px 5px;border-radius:4px;\">urllib.parse.quote()<\/code> in Python.<\/span>\n    <\/div>\n\n    <span class=\"wtx-sub\">Build the link in code<\/span>\n    <div class=\"wtx-snips\">\n      <div class=\"wtx-snip\">\n        <div class=\"wtx-code-bar\"><span class=\"wtx-dot r\"><\/span><span class=\"wtx-dot y\"><\/span><span class=\"wtx-dot g\"><\/span><span class=\"wtx-fname\">build-link.js<\/span><\/div>\n        <div class=\"wtx-pre\"><code><span class=\"wtx-c\">\/\/ JavaScript<\/span>&#10;const number = \"1XXXXXXXXXX\";&#10;const text = \"Hi! I have a question.\";&#10;const link = `https:\/\/wa.me\/${number}?text=${encodeURIComponent(text)}`;<\/code><\/div>\n      <\/div>\n      <div class=\"wtx-snip\">\n        <div class=\"wtx-code-bar\"><span class=\"wtx-dot r\"><\/span><span class=\"wtx-dot y\"><\/span><span class=\"wtx-dot g\"><\/span><span class=\"wtx-fname\">build_link.py<\/span><\/div>\n        <div class=\"wtx-pre\"><code><span class=\"wtx-c\"># Python<\/span>&#10;from urllib.parse import quote&#10;number, text = \"1XXXXXXXXXX\", \"Hi! I have a question.\"&#10;link = f\"https:\/\/wa.me\/{number}?text={quote(text)}\"<\/code><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-gen, #upl-wal-gen *, #upl-wal-gen *::before, #upl-wal-gen *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-gen { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-gen br{display:none!important;}\n#upl-wal-gen p{display:contents!important;}\n#upl-wal-gen { padding: 54px 20px !important; }\n#upl-wal-gen .wgn-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-gen .wgn-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(59,185,139,0.12)!important;color:#2aaa7e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-gen .wgn-badge-dot{width:7px!important;height:7px!important;background:#3BB98B!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-gen h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-gen .wgn-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 28px !important; }\n\n#upl-wal-gen .wgn-card{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:20px!important; padding:32px!important; }\n#upl-wal-gen .wgn-privacy{ display:inline-flex!important; align-items:center!important; gap:8px!important; background:rgba(59,185,139,0.10)!important; padding:8px 16px!important; border-radius:20px!important; margin-bottom:26px!important; }\n#upl-wal-gen .wgn-privacy svg{ width:15px!important; height:15px!important; color:#2a9d6e!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; flex-shrink:0!important; }\n#upl-wal-gen .wgn-privacy span{ font-size:0.78rem!important; font-weight:600!important; color:#2a9d6e!important; }\n\n#upl-wal-gen .wgn-inputs{ display:grid!important; grid-template-columns: 1fr 1.4fr!important; gap:18px!important; margin-bottom:8px!important; }\n#upl-wal-gen .wgn-field{ display:flex!important; flex-direction:column!important; gap:8px!important; }\n#upl-wal-gen .wgn-field label{ display:block!important; font-size:0.78rem!important; font-weight:700!important; color:#0f2736!important; }\n#upl-wal-gen .wgn-field input, #upl-wal-gen .wgn-field textarea{\n  display:block!important; width:100%!important; background:#f8fafc!important; border:1.5px solid #e2e8f0!important;\n  border-radius:10px!important; padding:12px 14px!important; font-size:0.92rem!important; color:#0f2736!important;\n  font-family:'SFMono-Regular',Menlo,Consolas,monospace!important;\n}\n#upl-wal-gen .wgn-field textarea{ resize:vertical!important; min-height:46px!important; font-family:'Inter',sans-serif!important; }\n#upl-wal-gen .wgn-field input:focus, #upl-wal-gen .wgn-field textarea:focus{ border-color:#3BB98B!important; background:#ffffff!important; }\n#upl-wal-gen .wgn-field-hint{ font-size:0.72rem!important; color:#94a3b8!important; }\n\n#upl-wal-gen .wgn-warning{ display:none; align-items:center!important; gap:10px!important; background:#fffbeb!important; border-left:3px solid #f59e0b!important; border-radius:8px!important; padding:12px 16px!important; margin:16px 0 6px!important; }\n#upl-wal-gen .wgn-warning.wgn-show{ display:flex!important; }\n#upl-wal-gen .wgn-warning svg{ width:16px!important; height:16px!important; color:#b45309!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; flex-shrink:0!important; }\n#upl-wal-gen .wgn-warning span{ font-size:0.8rem!important; color:#78350f!important; }\n\n#upl-wal-gen .wgn-divider{ height:1px!important; background:#e5e7eb!important; margin:28px 0 26px!important; }\n\n#upl-wal-gen .wgn-outputs{ display:flex!important; flex-direction:column!important; gap:18px!important; }\n#upl-wal-gen .wgn-out-head{ display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important; margin-bottom:8px!important; }\n#upl-wal-gen .wgn-out-label{ display:flex!important; align-items:center!important; gap:8px!important; font-size:0.82rem!important; font-weight:700!important; color:#0f2736!important; }\n#upl-wal-gen .wgn-out-label svg{ width:15px!important; height:15px!important; color:#3BB98B!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; flex-shrink:0!important; }\n#upl-wal-gen .wgn-copy{ display:inline-flex!important; align-items:center!important; gap:6px!important; background:#f1f5f9!important; color:#475569!important; border:1px solid #e2e8f0!important; padding:7px 12px!important; border-radius:7px!important; font-size:0.76rem!important; font-weight:600!important; cursor:pointer!important; transition:all 0.2s ease!important; flex-shrink:0!important; min-height:32px!important; }\n#upl-wal-gen .wgn-copy:hover{ background:#e2e8f0!important; }\n#upl-wal-gen .wgn-copy.wgn-copied{ background:#3BB98B!important; color:#ffffff!important; border-color:#3BB98B!important; }\n#upl-wal-gen .wgn-copy svg{ width:13px!important; height:13px!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n#upl-wal-gen .wgn-out-value{\n  display:block!important; background:#0d1117!important; color:#a5d6ff!important; border-radius:10px!important;\n  padding:13px 16px!important; font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; font-size:0.82rem!important;\n  line-height:1.6!important; white-space:pre-wrap!important; overflow-wrap:anywhere!important; word-break:break-all!important;\n}\n#upl-wal-gen .wgn-btn-preview{\n  display:inline-flex!important; align-items:center!important; gap:8px!important; background:#25D366!important; color:#ffffff!important;\n  padding:10px 18px!important; border-radius:24px!important; font-size:0.88rem!important; font-weight:700!important; margin-bottom:10px!important;\n}\n#upl-wal-gen .wgn-btn-preview img{ width:18px!important; height:18px!important; display:block!important; filter:brightness(0) invert(1)!important; }\n\n#upl-wal-gen .wgn-bridge{ display:flex!important; align-items:flex-start!important; gap:12px!important; background:#f4f5f7!important; border-radius:12px!important; padding:20px 22px!important; margin-top:30px!important; }\n#upl-wal-gen .wgn-bridge svg{ width:18px!important; height:18px!important; color:#64748b!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; flex-shrink:0!important; margin-top:1px!important; }\n#upl-wal-gen .wgn-bridge span{ font-size:0.92rem!important; line-height:1.6!important; color:#334155!important; font-weight:500!important; }\n\n#upl-wal-gen .wgn-cta-row{ text-align:center!important; margin-top:26px!important; }\n#upl-wal-gen .wgn-cta{ display:inline-flex!important; align-items:center!important; gap:8px!important; background:#DDDF4C!important; color:#0f2736!important; padding:13px 26px!important; border-radius:8px!important; font-size:0.92rem!important; font-weight:700!important; transition:transform 0.3s ease!important; cursor:pointer!important; }\n#upl-wal-gen .wgn-cta:hover{ transform:translateY(-5px)!important; }\n#upl-wal-gen .wgn-cta svg{ width:15px!important; height:15px!important; stroke:currentColor!important; fill:none!important; stroke-width:2.5!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-gen h2{ font-size:28px!important; }\n  #upl-wal-gen .wgn-inputs{ grid-template-columns:1fr!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-gen{ padding:44px 16px!important; }\n  #upl-wal-gen h2{ font-size:26px!important; }\n  #upl-wal-gen .wgn-lead{ font-size:15.5px!important; }\n  #upl-wal-gen .wgn-card{ padding:20px!important; }\n  #upl-wal-gen .wgn-out-head{ flex-direction:column!important; align-items:flex-start!important; gap:8px!important; }\n  #upl-wal-gen .wgn-copy{ align-self:flex-start!important; }\n  #upl-wal-gen .wgn-out-value{ font-size:0.74rem!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-gen\">\n  <div class=\"wgn-container\">\n    <span id=\"wal-generator\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wgn-badge\"><span class=\"wgn-badge-dot\"><\/span><span>Free tool<\/span><\/div>\n    <h2>Generate your WhatsApp link<\/h2>\n    <div class=\"wgn-lead\">Enter a number and a message. Get the <strong>wa.me<\/strong> link, the <strong>api.whatsapp.com<\/strong> equivalent, the encoded text, an HTML snippet and the official button, all at once.<\/div>\n\n    <div class=\"wgn-card\">\n      <div class=\"wgn-privacy\">\n        <svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg>\n        <span>Runs entirely in your browser. No number is ever sent to a server.<\/span>\n      <\/div>\n\n      <div class=\"wgn-inputs\">\n        <div class=\"wgn-field\">\n          <label for=\"wal-gen-phone\">Phone number<\/label>\n          <input type=\"text\" id=\"wal-gen-phone\" value=\"15550123456\" inputmode=\"numeric\" autocomplete=\"off\" spellcheck=\"false\">\n          <span class=\"wgn-field-hint\">Full international number. No +, no 0, no spaces or dashes.<\/span>\n        <\/div>\n        <div class=\"wgn-field\">\n          <label for=\"wal-gen-text\">Pre-filled message<\/label>\n          <textarea id=\"wal-gen-text\" rows=\"2\" spellcheck=\"false\">Hi! I have a question about your product.<\/textarea>\n          <span class=\"wgn-field-hint\">Optional. Lands in the chat input field, still editable by the sender.<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"wgn-warning\" id=\"wal-gen-warning\">\n        <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>\n        <span id=\"wal-gen-warning-text\"><\/span>\n      <\/div>\n\n      <div class=\"wgn-divider\"><\/div>\n\n      <div class=\"wgn-outputs\">\n        <div class=\"wgn-out\">\n          <div class=\"wgn-out-head\">\n            <span class=\"wgn-out-label\"><svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg><span>wa.me link<\/span><\/span>\n            <button type=\"button\" class=\"wgn-copy\" data-copy-target=\"wal-out-wame\"><svg viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\/><\/svg><span>Copy<\/span><\/button>\n          <\/div>\n          <div class=\"wgn-out-value\" id=\"wal-out-wame\">https:\/\/wa.me\/15550123456?text=Hi!%20I%20have%20a%20question%20about%20your%20product.<\/div>\n        <\/div>\n\n        <div class=\"wgn-out\">\n          <div class=\"wgn-out-head\">\n            <span class=\"wgn-out-label\"><svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg><span>api.whatsapp.com equivalent<\/span><\/span>\n            <button type=\"button\" class=\"wgn-copy\" data-copy-target=\"wal-out-api\"><svg viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\/><\/svg><span>Copy<\/span><\/button>\n          <\/div>\n          <div class=\"wgn-out-value\" id=\"wal-out-api\">https:\/\/api.whatsapp.com\/send?phone=15550123456&amp;text=Hi!%20I%20have%20a%20question%20about%20your%20product.<\/div>\n        <\/div>\n\n        <div class=\"wgn-out\">\n          <div class=\"wgn-out-head\">\n            <span class=\"wgn-out-label\"><svg viewBox=\"0 0 24 24\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><\/svg><span>text parameter, encoded<\/span><\/span>\n            <button type=\"button\" class=\"wgn-copy\" data-copy-target=\"wal-out-text\"><svg viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\/><\/svg><span>Copy<\/span><\/button>\n          <\/div>\n          <div class=\"wgn-out-value\" id=\"wal-out-text\">Hi!%20I%20have%20a%20question%20about%20your%20product.<\/div>\n        <\/div>\n\n        <div class=\"wgn-out\">\n          <div class=\"wgn-out-head\">\n            <span class=\"wgn-out-label\"><svg viewBox=\"0 0 24 24\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><\/svg><span>HTML snippet, ready to paste<\/span><\/span>\n            <button type=\"button\" class=\"wgn-copy\" data-copy-target=\"wal-out-html\"><svg viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\/><\/svg><span>Copy<\/span><\/button>\n          <\/div>\n          <div class=\"wgn-out-value\" id=\"wal-out-html\">&lt;a href=\"https:\/\/wa.me\/15550123456?text=Hi!%20I%20have%20a%20question%20about%20your%20product.\" target=\"_blank\" rel=\"noopener\" aria-label=\"Chat on WhatsApp\"&gt;Chat on WhatsApp&lt;\/a&gt;<\/div>\n        <\/div>\n\n        <div class=\"wgn-out\">\n          <div class=\"wgn-out-head\">\n            <span class=\"wgn-out-label\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12c0 1.85.5 3.58 1.38 5.07L2 22l5.07-1.33A9.94 9.94 0 0 0 12 22c5.52 0 10-4.48 10-10S17.52 2 12 2z\"\/><\/svg><span>Official \"Chat on WhatsApp\" button<\/span><\/span>\n            <button type=\"button\" class=\"wgn-copy\" data-copy-target=\"wal-out-btncode\"><svg viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\/><\/svg><span>Copy<\/span><\/button>\n          <\/div>\n          <a class=\"wgn-btn-preview\" id=\"wal-btn-preview\" href=\"https:\/\/wa.me\/15550123456?text=Hi!%20I%20have%20a%20question%20about%20your%20product.\" target=\"_blank\" rel=\"noopener\">\n            <img decoding=\"async\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2025\/09\/whatsapp-1.svg\" alt=\"\">\n            <span>Chat on WhatsApp<\/span>\n          <\/a>\n          <div class=\"wgn-out-value\" id=\"wal-out-btncode\">&lt;a href=\"https:\/\/wa.me\/15550123456?text=Hi!%20I%20have%20a%20question%20about%20your%20product.\" target=\"_blank\" rel=\"noopener\"&gt;&lt;img src=\"whatsapp-icon.svg\" alt=\"\"&gt; Chat on WhatsApp&lt;\/a&gt;<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"wgn-bridge\">\n        <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n        <span>This link opens a chat. It does not send the message, and your product will not see the reply.<\/span>\n      <\/div>\n      <div class=\"wgn-cta-row\">\n        <a class=\"wgn-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n          <span>Build the part a link cannot do<\/span>\n          <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  function init(){\n    var root = document.getElementById('upl-wal-gen');\n    if (!root) return;\n\n    var phoneInput = root.querySelector('#wal-gen-phone');\n    var textInput = root.querySelector('#wal-gen-text');\n    var warning = root.querySelector('#wal-gen-warning');\n    var warningText = root.querySelector('#wal-gen-warning-text');\n    var outWame = root.querySelector('#wal-out-wame');\n    var outApi = root.querySelector('#wal-out-api');\n    var outText = root.querySelector('#wal-out-text');\n    var outHtml = root.querySelector('#wal-out-html');\n    var outBtnCode = root.querySelector('#wal-out-btncode');\n    var btnPreview = root.querySelector('#wal-btn-preview');\n\n    function cleanNumber(v){ return (v || '').replace(\/[^0-9]\/g, ''); }\n\n    function escapeHtml(s){\n      return s.replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n    }\n\n    function update(){\n      var rawPhone = phoneInput.value;\n      var digits = cleanNumber(rawPhone);\n      var msg = textInput.value || '';\n      var encoded = encodeURIComponent(msg);\n\n      var warn = '';\n      if (rawPhone && digits.charAt(0) === '0') {\n        warn = \"Remove the leading 0. WhatsApp links use the full international number, for example 1XXXXXXXXXX.\";\n      } else if (digits.length > 0 && digits.length < 8) {\n        warn = \"That doesn't look like a complete international number.\";\n      }\n      if (warn) {\n        warning.classList.add('wgn-show');\n        warningText.textContent = warn;\n      } else {\n        warning.classList.remove('wgn-show');\n      }\n\n      var wameUrl = 'https:\/\/wa.me\/' + digits;\n      if (msg) wameUrl += '?text=' + encoded;\n\n      var apiParams = [];\n      if (digits) apiParams.push('phone=' + digits);\n      if (msg) apiParams.push('text=' + encoded);\n      var apiUrl = 'https:\/\/api.whatsapp.com\/send' + (apiParams.length ? ('?' + apiParams.join('&#038;')) : '');\n\n      var ariaLabel = digits ? ('Chat on WhatsApp with ' + digits) : 'Chat on WhatsApp';\n      var htmlSnippet = '<a href=\"' + wameUrl + '\" target=\"_blank\" rel=\"noopener\" aria-label=\"' + ariaLabel + '\">Chat on WhatsApp<\/a>';\n      var btnSnippet = '<a href=\"' + wameUrl + '\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"whatsapp-icon.svg\" alt=\"\"> Chat on WhatsApp<\/a>';\n\n      outWame.textContent = wameUrl;\n      outApi.textContent = apiUrl;\n      outText.textContent = msg ? encoded : '(add a message above)';\n      outHtml.textContent = htmlSnippet;\n      outBtnCode.textContent = btnSnippet;\n      btnPreview.setAttribute('href', wameUrl);\n    }\n\n    phoneInput.addEventListener('input', update);\n    textInput.addEventListener('input', update);\n    update();\n\n    function fallbackCopy(text){\n      var ta = document.createElement('textarea');\n      ta.value = text;\n      ta.style.position = 'fixed';\n      ta.style.left = '-9999px';\n      document.body.appendChild(ta);\n      ta.select();\n      try { document.execCommand('copy'); } catch (e) {}\n      document.body.removeChild(ta);\n    }\n\n    root.querySelectorAll('.wgn-copy').forEach(function(btn){\n      btn.addEventListener('click', function(){\n        var targetId = btn.getAttribute('data-copy-target');\n        var el = root.querySelector('#' + targetId);\n        if (!el) return;\n        var text = el.textContent;\n        if (navigator.clipboard && navigator.clipboard.writeText) {\n          navigator.clipboard.writeText(text).catch(function(){ fallbackCopy(text); });\n        } else {\n          fallbackCopy(text);\n        }\n        var label = btn.querySelector('span');\n        var original = label.textContent;\n        label.textContent = 'Copied';\n        btn.classList.add('wgn-copied');\n        setTimeout(function(){\n          label.textContent = original;\n          btn.classList.remove('wgn-copied');\n        }, 1500);\n      });\n    });\n\n    root.addEventListener('click', function(e){\n      var linkEl = e.target.closest('[data-upl-link]');\n      if (linkEl) {\n        e.preventDefault();\n        e.stopPropagation();\n        var url = linkEl.getAttribute('data-upl-link');\n        var target = linkEl.getAttribute('data-upl-target');\n        if (target === '_blank') { window.open(url, '_blank'); } else { window.location.href = url; }\n      }\n    }, true);\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-send, #upl-wal-send *, #upl-wal-send *::before, #upl-wal-send *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-send { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-send br{display:none!important;}\n#upl-wal-send p{display:contents!important;}\n#upl-wal-send { padding: 44px 20px !important; }\n#upl-wal-send .wsd-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-send h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 20px !important; }\n#upl-wal-send .wsd-card{ display:flex!important; align-items:flex-start!important; gap:20px!important; background:#0f2736!important; border-radius:18px!important; padding:30px 32px!important; }\n#upl-wal-send .wsd-icon{ width:48px!important; height:48px!important; min-width:48px!important; border-radius:12px!important; background:rgba(239,68,68,0.15)!important; display:flex!important; align-items:center!important; justify-content:center!important; }\n#upl-wal-send .wsd-icon svg{ width:24px!important; height:24px!important; color:#f87171!important; stroke:currentColor!important; fill:none!important; stroke-width:2.2!important; }\n#upl-wal-send .wsd-text-wrap{ flex:1!important; }\n#upl-wal-send .wsd-answer{ font-family:'Poppins',sans-serif!important; font-size:1.3rem!important; font-weight:700!important; color:#ffffff!important; margin-bottom:10px!important; display:block!important; }\n#upl-wal-send .wsd-detail{ font-size:0.98rem!important; line-height:1.7!important; color:rgba(255,255,255,0.78)!important; display:block!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-send h2{ font-size:28px!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-send{ padding:36px 16px!important; }\n  #upl-wal-send h2{ font-size:26px!important; }\n  #upl-wal-send .wsd-card{ flex-direction:column!important; padding:24px 22px!important; gap:14px!important; }\n  #upl-wal-send .wsd-answer{ font-size:1.15rem!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-send\">\n  <div class=\"wsd-container\">\n    <span id=\"wal-does-it-send\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <h2>Does a WhatsApp link send the message?<\/h2>\n    <div class=\"wsd-card\">\n      <div class=\"wsd-icon\">\n        <svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\n      <\/div>\n      <div class=\"wsd-text-wrap\">\n        <span class=\"wsd-answer\">No.<\/span>\n        <span class=\"wsd-detail\">A click-to-chat link opens the conversation and pre-fills the text field. Nothing is delivered until the person holding the phone presses send.<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-limits, #upl-wal-limits *, #upl-wal-limits *::before, #upl-wal-limits *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-limits { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-limits br{display:none!important;}\n#upl-wal-limits p{display:contents!important;}\n#upl-wal-limits { padding: 54px 20px !important; }\n#upl-wal-limits .wlm-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-limits .wlm-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(221,223,76,0.18)!important;color:#8a8c2e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-limits .wlm-badge-dot{width:7px!important;height:7px!important;background:#DDDF4C!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-limits h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-limits .wlm-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 36px !important; }\n\n\/* timeline *\/\n#upl-wal-limits .wlm-timeline{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:18px!important; padding:32px 28px!important; margin-bottom:34px!important; }\n#upl-wal-limits .wlm-tl-title{ font-size:0.72rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.6px!important; color:#94a3b8!important; margin-bottom:22px!important; text-align:center!important; }\n#upl-wal-limits .wlm-tl-row{ display:flex!important; align-items:stretch!important; gap:0!important; }\n#upl-wal-limits .wlm-tl-group{ display:flex!important; flex:1!important; align-items:flex-start!important; }\n#upl-wal-limits .wlm-tl-step{ flex:1!important; display:flex!important; flex-direction:column!important; align-items:center!important; text-align:center!important; gap:10px!important; position:relative!important; }\n#upl-wal-limits .wlm-tl-step:not(:last-child)::after{ content:''!important; position:absolute!important; top:19px!important; left:calc(50% + 22px)!important; right:calc(-50% + 22px)!important; height:2px!important; background:#3BB98B!important; }\n#upl-wal-limits .wlm-tl-group.wlm-ghost .wlm-tl-step:not(:last-child)::after{ background:repeating-linear-gradient(90deg,#cbd5e1 0,#cbd5e1 6px,transparent 6px,transparent 12px)!important; }\n#upl-wal-limits .wlm-tl-dot{ width:38px!important; height:38px!important; border-radius:50%!important; background:#3BB98B!important; display:flex!important; align-items:center!important; justify-content:center!important; z-index:1!important; }\n#upl-wal-limits .wlm-tl-dot svg{ width:18px!important; height:18px!important; color:#ffffff!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n#upl-wal-limits .wlm-tl-group.wlm-ghost .wlm-tl-dot{ background:#e2e8f0!important; }\n#upl-wal-limits .wlm-tl-group.wlm-ghost .wlm-tl-dot svg{ color:#94a3b8!important; }\n#upl-wal-limits .wlm-tl-label{ font-size:0.76rem!important; font-weight:600!important; color:#0f2736!important; line-height:1.35!important; }\n#upl-wal-limits .wlm-tl-group.wlm-ghost .wlm-tl-label{ color:#94a3b8!important; }\n#upl-wal-limits .wlm-tl-wall{ display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:flex-start!important; padding-top:2px!important; width:70px!important; flex-shrink:0!important; }\n#upl-wal-limits .wlm-tl-wall-icon{ width:38px!important; height:38px!important; border-radius:50%!important; background:#0f2736!important; display:flex!important; align-items:center!important; justify-content:center!important; margin-bottom:10px!important; }\n#upl-wal-limits .wlm-tl-wall-icon svg{ width:17px!important; height:17px!important; color:#ffffff!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n#upl-wal-limits .wlm-tl-wall-label{ display:flex!important; flex-direction:column!important; font-size:0.66rem!important; font-weight:700!important; color:#0f2736!important; text-align:center!important; line-height:1.3!important; text-transform:uppercase!important; letter-spacing:0.3px!important; }\n\n\/* bullet grid *\/\n#upl-wal-limits .wlm-grid{ display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:14px!important; margin-bottom:8px!important; }\n#upl-wal-limits .wlm-item{ display:flex!important; align-items:flex-start!important; gap:12px!important; padding:16px 18px!important; background:#ffffff!important; border-radius:12px!important; border:1px solid #e5e7eb!important; }\n#upl-wal-limits .wlm-item-icon{ width:26px!important; height:26px!important; min-width:26px!important; border-radius:50%!important; background:rgba(239,68,68,0.12)!important; display:flex!important; align-items:center!important; justify-content:center!important; }\n#upl-wal-limits .wlm-item-icon svg{ width:13px!important; height:13px!important; color:#ef4444!important; stroke:currentColor!important; fill:none!important; stroke-width:3!important; }\n#upl-wal-limits .wlm-item-text{ font-size:0.85rem!important; line-height:1.55!important; color:#334155!important; padding-top:3px!important; }\n#upl-wal-limits .wlm-item-text a{ color:#3BB98B!important; text-decoration:underline!important; }\n\n#upl-wal-limits .wlm-strip{ display:flex!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; flex-wrap:wrap!important; background:#0f2736!important; border-radius:16px!important; padding:26px 30px!important; margin-top:32px!important; }\n#upl-wal-limits .wlm-strip-text{ font-size:1rem!important; color:#ffffff!important; font-weight:600!important; max-width:520px!important; }\n#upl-wal-limits .wlm-strip-cta{ display:inline-flex!important; align-items:center!important; gap:8px!important; background:#DDDF4C!important; color:#0f2736!important; padding:13px 24px!important; border-radius:8px!important; font-size:0.9rem!important; font-weight:700!important; transition:transform 0.3s ease!important; white-space:nowrap!important; }\n#upl-wal-limits .wlm-strip-cta:hover{ transform:translateY(-5px)!important; }\n#upl-wal-limits .wlm-strip-cta svg{ width:15px!important; height:15px!important; stroke:currentColor!important; fill:none!important; stroke-width:2.5!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-limits h2{ font-size:28px!important; }\n  #upl-wal-limits .wlm-grid{ grid-template-columns:repeat(2,1fr)!important; }\n  #upl-wal-limits .wlm-tl-row{ flex-direction:column!important; gap:22px!important; }\n  #upl-wal-limits .wlm-tl-wall{ flex-direction:row!important; width:auto!important; gap:10px!important; }\n  #upl-wal-limits .wlm-tl-wall-icon{ margin-bottom:0!important; }\n  #upl-wal-limits .wlm-tl-step:not(:last-child)::after{ display:none!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-limits{ padding:44px 16px!important; }\n  #upl-wal-limits h2{ font-size:26px!important; }\n  #upl-wal-limits .wlm-lead{ font-size:15.5px!important; }\n  #upl-wal-limits .wlm-timeline{ padding:24px 18px!important; }\n  #upl-wal-limits .wlm-tl-group{ flex-wrap:wrap!important; gap:18px!important; }\n  #upl-wal-limits .wlm-tl-step{ flex:0 0 40%!important; }\n  #upl-wal-limits .wlm-grid{ grid-template-columns:1fr!important; }\n  #upl-wal-limits .wlm-strip{ flex-direction:column!important; align-items:flex-start!important; padding:22px!important; }\n  #upl-wal-limits .wlm-strip-cta{ width:100%!important; justify-content:center!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-limits\">\n  <div class=\"wlm-container\">\n    <span id=\"wal-limits\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wlm-badge\"><span class=\"wlm-badge-dot\"><\/span><span>The honest part<\/span><\/div>\n    <h2>What can a WhatsApp link not do?<\/h2>\n    <div class=\"wlm-lead\">A click-to-chat link is stateless. Your product never learns whether the link was clicked, whether the message was sent, or whether the recipient replied.<\/div>\n\n    <div class=\"wlm-timeline\">\n      <div class=\"wlm-tl-title\">Where the link stops<\/div>\n      <div class=\"wlm-tl-row\">\n        <div class=\"wlm-tl-group\">\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Link clicked<\/span>\n          <\/div>\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Chat opens<\/span>\n          <\/div>\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 20h9\"\/><path d=\"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Message pre-filled<\/span>\n          <\/div>\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"\/><polygon points=\"22 2 15 22 11 13 2 9 22 2\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Manual send<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"wlm-tl-wall\">\n          <div class=\"wlm-tl-wall-icon\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><\/div>\n          <span class=\"wlm-tl-wall-label\"><span>Link<\/span><span>stops<\/span><span>here<\/span><\/span>\n        <\/div>\n        <div class=\"wlm-tl-group wlm-ghost\">\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Reply received<\/span>\n          <\/div>\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 3v18h18\"\/><path d=\"M18 17V9\"\/><path d=\"M13 17V5\"\/><path d=\"M8 17v-3\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Conversation history<\/span>\n          <\/div>\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><path d=\"M4 4h16v16H4z\" style=\"display:none\"\/><path d=\"M22 12h-6l-2 3h-4l-2-3H2\"\/><path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Webhook event<\/span>\n          <\/div>\n          <div class=\"wlm-tl-step\">\n            <div class=\"wlm-tl-dot\"><svg viewBox=\"0 0 24 24\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"8.5\" cy=\"7\" r=\"4\"\/><path d=\"M20 8v6\"\/><path d=\"M23 11h-6\"\/><\/svg><\/div>\n            <span class=\"wlm-tl-label\">Per-user attribution<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wlm-grid\">\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">No delivery or read confirmation<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">No reply routed back to your application<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">No conversation history<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">No attachments<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">No server-side trigger. It takes a human and a click<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">No per-user attribution in a multi-tenant product<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">Silent failure if the number has no active WhatsApp account<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">Different behavior across desktop, WhatsApp Web and mobile<\/div><\/div>\n      <div class=\"wlm-item\"><div class=\"wlm-item-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/div><div class=\"wlm-item-text\">No group creation or management. A link only opens a one-to-one chat, see the <a href=\"https:\/\/www.unipile.com\/whatsapp-group-api\/\">WhatsApp Group API<\/a> limits for anything group-related<\/div><\/div>\n    <\/div>\n\n    <div class=\"wlm-strip\">\n      <span class=\"wlm-strip-text\">A link cannot report clicks, replies or history. An API can.<\/span>\n      <a class=\"wlm-strip-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Build a real WhatsApp integration<\/span>\n        <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var wrapper = document.getElementById('upl-wal-limits');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); } else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-reply, #upl-wal-reply *, #upl-wal-reply *::before, #upl-wal-reply *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-reply { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-reply br{display:none!important;}\n#upl-wal-reply p{display:contents!important;}\n#upl-wal-reply { padding: 54px 20px !important; }\n#upl-wal-reply .wrp-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-reply .wrp-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(59,185,139,0.12)!important;color:#2aaa7e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-reply .wrp-badge-dot{width:7px!important;height:7px!important;background:#3BB98B!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-reply h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-reply .wrp-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n#upl-wal-reply .wrp-lead strong{ color:#0f2736!important; font-weight:600!important; }\n\n#upl-wal-reply .wrp-cards{ display:grid!important; grid-template-columns:1fr 1fr!important; gap:20px!important; margin-bottom:32px!important; }\n#upl-wal-reply .wrp-card{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:16px!important; padding:26px!important; display:flex!important; flex-direction:column!important; }\n#upl-wal-reply .wrp-card.wrp-reco{ border:2px solid #3BB98B!important; }\n#upl-wal-reply .wrp-card-head{ display:flex!important; align-items:center!important; justify-content:space-between!important; gap:10px!important; margin-bottom:16px!important; }\n#upl-wal-reply .wrp-card-title{ font-family:'Poppins',sans-serif!important; font-size:1.05rem!important; font-weight:700!important; color:#0f2736!important; }\n#upl-wal-reply .wrp-pill{ font-size:0.65rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.4px!important; padding:4px 10px!important; border-radius:20px!important; }\n#upl-wal-reply .wrp-pill.wrp-pill-green{ background:#3BB98B!important; color:#ffffff!important; }\n#upl-wal-reply .wrp-pill.wrp-pill-grey{ background:#f1f5f9!important; color:#64748b!important; }\n#upl-wal-reply .wrp-points{ display:flex!important; flex-direction:column!important; gap:11px!important; }\n#upl-wal-reply .wrp-point{ display:flex!important; align-items:flex-start!important; gap:10px!important; }\n#upl-wal-reply .wrp-point svg{ width:15px!important; height:15px!important; color:#3BB98B!important; stroke:currentColor!important; fill:none!important; stroke-width:2.6!important; flex-shrink:0!important; margin-top:2px!important; }\n#upl-wal-reply .wrp-point span{ font-size:0.85rem!important; line-height:1.55!important; color:#334155!important; }\n#upl-wal-reply .wrp-point a{ color:#3BB98B!important; text-decoration:underline!important; }\n\n#upl-wal-reply .wrp-code{ background:#0d1117!important; border-radius:14px!important; overflow:hidden!important; margin-bottom:24px!important; }\n#upl-wal-reply .wrp-code-bar{ background:#161b22!important; padding:12px 18px!important; display:flex!important; align-items:center!important; gap:8px!important; border-bottom:1px solid rgba(255,255,255,0.06)!important; }\n#upl-wal-reply .wrp-dot{ width:11px!important; height:11px!important; border-radius:50%!important; display:inline-block!important; }\n#upl-wal-reply .wrp-dot.r{ background:#ff5f57!important; } #upl-wal-reply .wrp-dot.y{ background:#febc2e!important; } #upl-wal-reply .wrp-dot.g{ background:#28c840!important; }\n#upl-wal-reply .wrp-fname{ color:#8b949e!important; font-size:12.5px!important; margin-left:6px!important; font-family:'SFMono-Regular',Menlo,monospace!important; }\n#upl-wal-reply .wrp-pre{ padding:20px 22px!important; overflow-x:auto!important; }\n#upl-wal-reply .wrp-pre code{ font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; font-size:12.5px!important; line-height:1.9!important; white-space:pre!important; display:block!important; color:#e6edf3!important; }\n#upl-wal-reply .wrp-c{ color:#8b949e!important; } #upl-wal-reply .wrp-k{ color:#ff7b72!important; } #upl-wal-reply .wrp-s{ color:#a5d6ff!important; } #upl-wal-reply .wrp-p{ color:#fde68a!important; } #upl-wal-reply .wrp-fn{ color:#d2a8ff!important; }\n\n#upl-wal-reply .wrp-handoff{ display:flex!important; align-items:center!important; gap:14px!important; background:#f4f5f7!important; border-radius:14px!important; padding:20px 24px!important; margin-bottom:26px!important; flex-wrap:wrap!important; justify-content:space-between!important; }\n#upl-wal-reply .wrp-handoff-text{ font-size:0.9rem!important; color:#334155!important; line-height:1.6!important; max-width:640px!important; }\n#upl-wal-reply .wrp-handoff-text a{ color:#0f2736!important; font-weight:700!important; text-decoration:underline!important; }\n#upl-wal-reply .wrp-handoff-arrow{ display:inline-flex!important; align-items:center!important; justify-content:center!important; width:36px!important; height:36px!important; border-radius:50%!important; background:#ffffff!important; border:1px solid #e5e7eb!important; flex-shrink:0!important; }\n#upl-wal-reply .wrp-handoff-arrow svg{ width:16px!important; height:16px!important; color:#0f2736!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n\n#upl-wal-reply .wrp-cta-row{ text-align:center!important; }\n#upl-wal-reply .wrp-cta{ display:inline-flex!important; align-items:center!important; gap:8px!important; background:#DDDF4C!important; color:#0f2736!important; padding:13px 26px!important; border-radius:8px!important; font-size:0.92rem!important; font-weight:700!important; transition:transform 0.3s ease!important; }\n#upl-wal-reply .wrp-cta:hover{ transform:translateY(-5px)!important; }\n#upl-wal-reply .wrp-cta svg{ width:15px!important; height:15px!important; stroke:currentColor!important; fill:none!important; stroke-width:2.5!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-reply h2{ font-size:28px!important; }\n  #upl-wal-reply .wrp-cards{ grid-template-columns:1fr!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-reply{ padding:44px 16px!important; }\n  #upl-wal-reply h2{ font-size:26px!important; }\n  #upl-wal-reply .wrp-lead{ font-size:15.5px!important; }\n  #upl-wal-reply .wrp-pre code{ font-size:11px!important; }\n  #upl-wal-reply .wrp-pre{ padding:14px!important; }\n  #upl-wal-reply .wrp-handoff{ flex-direction:column!important; align-items:flex-start!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-reply\">\n  <div class=\"wrp-container\">\n    <span id=\"wal-reply-back\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wrp-badge\"><span class=\"wrp-badge-dot\"><\/span><span>Past the link<\/span><\/div>\n    <h2>How do you get the reply back into your app?<\/h2>\n    <div class=\"wrp-lead\">You need an API that holds a WhatsApp session. Two routes exist: <strong>Meta's Cloud API<\/strong>, which requires a verified Business account, or a <strong>connected-account API<\/strong> such as Unipile, where the end user links their own WhatsApp account on behalf of the authenticated user, by QR code or pairing code.<\/div>\n\n    <div class=\"wrp-cards\">\n      <div class=\"wrp-card\">\n        <div class=\"wrp-card-head\"><span class=\"wrp-card-title\">Meta Cloud API<\/span><span class=\"wrp-pill wrp-pill-grey\">Verified business<\/span><\/div>\n        <div class=\"wrp-points\">\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>Requires a verified WhatsApp Business account<\/span><\/div>\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>Billed per message since July 1, 2025, see the <a href=\"https:\/\/www.unipile.com\/whatsapp-business-api-pricing\/\">WhatsApp Business API pricing<\/a> breakdown<\/span><\/div>\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>The 24-hour customer service window still exists, it determines what's free, not what's billed<\/span><\/div>\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>Built for templated notifications at scale<\/span><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wrp-card wrp-reco\">\n        <div class=\"wrp-card-head\"><span class=\"wrp-card-title\">Connected account, Unipile<\/span><span class=\"wrp-pill wrp-pill-green\">No verification<\/span><\/div>\n        <div class=\"wrp-points\">\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>Each end user links their own WhatsApp account, on behalf of the authenticated user<\/span><\/div>\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>By QR code or pairing code, no Meta Business verification<\/span><\/div>\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>Reads and sends from the actual linked inbox, replies included<\/span><\/div>\n          <div class=\"wrp-point\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span>Same connect, send, list, listen pattern as LinkedIn, Instagram, Telegram, Gmail, Outlook and IMAP<\/span><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wrp-code\">\n      <div class=\"wrp-code-bar\"><span class=\"wrp-dot r\"><\/span><span class=\"wrp-dot y\"><\/span><span class=\"wrp-dot g\"><\/span><span class=\"wrp-fname\">connected-account-flow.js<\/span><\/div>\n      <div class=\"wrp-pre\"><code><span class=\"wrp-c\">\/\/ 1. Link the account, on behalf of the authenticated user<\/span>&#10;<span class=\"wrp-k\">const<\/span> { qrCodeString } = <span class=\"wrp-k\">await<\/span> client.account.<span class=\"wrp-fn\">connectWhatsapp<\/span>();&#10;&#10;<span class=\"wrp-c\">\/\/ 2. Send a message once linked<\/span>&#10;<span class=\"wrp-c\">POST \/api\/v1\/chats\/{chat_id}\/messages<\/span>&#10;{ <span class=\"wrp-p\">\"text\"<\/span>: <span class=\"wrp-s\">\"Hi! Your order has shipped.\"<\/span> }&#10;&#10;<span class=\"wrp-c\">\/\/ 3. Receive replies through a webhook, no polling<\/span>&#10;{&#10;  <span class=\"wrp-p\">\"event\"<\/span>: <span class=\"wrp-s\">\"message_received\"<\/span>,&#10;  <span class=\"wrp-p\">\"chat_id\"<\/span>: <span class=\"wrp-s\">\"chat_182...\"<\/span>,&#10;  <span class=\"wrp-p\">\"message\"<\/span>: <span class=\"wrp-s\">\"Is this still available?\"<\/span>&#10;}<\/code><\/div>\n    <\/div>\n\n    <div class=\"wrp-handoff\">\n      <div class=\"wrp-handoff-text\">For the full sending guide, payloads and webhook handling, see <a href=\"https:\/\/www.unipile.com\/whatsapp-api-to-send-messages\/\">how to send WhatsApp messages via API<\/a>. Endpoint reference: <a href=\"https:\/\/developer.unipile.com\/docs\/whatsapp\" target=\"_blank\" rel=\"noopener\">developer.unipile.com\/docs\/whatsapp<\/a>.<\/div>\n      <div class=\"wrp-handoff-arrow\"><svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/div>\n    <\/div>\n\n    <div class=\"wrp-cta-row\">\n      <a class=\"wrp-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Build it with Unipile<\/span>\n        <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var wrapper = document.getElementById('upl-wal-reply');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); } else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-decision, #upl-wal-decision *, #upl-wal-decision *::before, #upl-wal-decision *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-decision { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-decision br{display:none!important;}\n#upl-wal-decision p{display:contents!important;}\n#upl-wal-decision { padding: 54px 20px !important; }\n#upl-wal-decision .wdc-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-decision .wdc-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(59,185,139,0.12)!important;color:#2aaa7e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-decision .wdc-badge-dot{width:7px!important;height:7px!important;background:#3BB98B!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-decision h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-decision .wdc-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n\n#upl-wal-decision .wdc-table{ background:#ffffff!important; border-radius:16px!important; border:1px solid #e5e7eb!important; overflow:hidden!important; margin-bottom:30px!important; }\n#upl-wal-decision .wdc-row{ display:grid!important; grid-template-columns: 1.3fr 1fr 1fr 1fr!important; }\n#upl-wal-decision .wdc-row + .wdc-row{ border-top:1px solid #e5e7eb!important; }\n#upl-wal-decision .wdc-row.wdc-head{ background:#0f2736!important; }\n#upl-wal-decision .wdc-cell{ padding:15px 18px!important; display:flex!important; align-items:center!important; }\n#upl-wal-decision .wdc-row.wdc-head .wdc-cell{ font-size:0.82rem!important; font-weight:700!important; color:#ffffff!important; }\n#upl-wal-decision .wdc-row.wdc-head .wdc-cell:first-child{ color:rgba(255,255,255,0.55)!important; font-weight:600!important; }\n#upl-wal-decision .wdc-row.wdc-head .wdc-cell.wdc-hl{ background:rgba(59,185,139,0.22)!important; }\n#upl-wal-decision .wdc-row:not(.wdc-head) .wdc-cell:first-child{ font-weight:600!important; color:#0f2736!important; font-size:0.82rem!important; }\n#upl-wal-decision .wdc-row:not(.wdc-head) .wdc-cell:not(:first-child){ font-size:0.82rem!important; color:#1e293b!important; line-height:1.45!important; }\n#upl-wal-decision .wdc-row:not(.wdc-head) .wdc-cell.wdc-hl{ background:rgba(59,185,139,0.05)!important; color:#0f2736!important; font-weight:500!important; }\n#upl-wal-decision .wdc-mobile-label{ display:none!important; font-size:0.6rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.5px!important; color:#94a3b8!important; margin-bottom:3px!important; }\n\n#upl-wal-decision .wdc-guide{ display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:14px!important; margin-bottom:32px!important; }\n#upl-wal-decision .wdc-guide-card{ background:#f8fafc!important; border-radius:12px!important; padding:18px 20px!important; }\n#upl-wal-decision .wdc-guide-title{ display:flex!important; align-items:center!important; gap:8px!important; font-size:0.85rem!important; font-weight:700!important; color:#0f2736!important; margin-bottom:8px!important; }\n#upl-wal-decision .wdc-guide-title svg{ width:15px!important; height:15px!important; color:#3BB98B!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n#upl-wal-decision .wdc-guide-text{ font-size:0.8rem!important; line-height:1.55!important; color:#64748b!important; }\n#upl-wal-decision .wdc-guide-text a{ color:#3BB98B!important; text-decoration:underline!important; }\n\n#upl-wal-decision .wdc-strip{ display:flex!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; flex-wrap:wrap!important; background:#0f2736!important; border-radius:16px!important; padding:26px 30px!important; }\n#upl-wal-decision .wdc-strip-text{ font-size:1rem!important; color:#ffffff!important; font-weight:600!important; max-width:520px!important; }\n#upl-wal-decision .wdc-strip-cta{ display:inline-flex!important; align-items:center!important; gap:8px!important; background:#DDDF4C!important; color:#0f2736!important; padding:13px 24px!important; border-radius:8px!important; font-size:0.9rem!important; font-weight:700!important; transition:transform 0.3s ease!important; white-space:nowrap!important; }\n#upl-wal-decision .wdc-strip-cta:hover{ transform:translateY(-5px)!important; }\n#upl-wal-decision .wdc-strip-cta svg{ width:15px!important; height:15px!important; stroke:currentColor!important; fill:none!important; stroke-width:2.5!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-decision h2{ font-size:28px!important; }\n  #upl-wal-decision .wdc-guide{ grid-template-columns:1fr!important; }\n}\n@media (max-width: 700px) {\n  #upl-wal-decision .wdc-row.wdc-head{ display:none!important; }\n  #upl-wal-decision .wdc-row{ grid-template-columns: 1fr!important; }\n  #upl-wal-decision .wdc-cell{ padding:8px 18px!important; }\n  #upl-wal-decision .wdc-cell:first-child{ background:#f8fafc!important; padding-top:14px!important; font-size:0.78rem!important; }\n  #upl-wal-decision .wdc-cell:last-child{ padding-bottom:14px!important; }\n  #upl-wal-decision .wdc-mobile-label{ display:block!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-decision{ padding:44px 16px!important; }\n  #upl-wal-decision h2{ font-size:26px!important; }\n  #upl-wal-decision .wdc-lead{ font-size:15.5px!important; }\n  #upl-wal-decision .wdc-strip{ flex-direction:column!important; align-items:flex-start!important; padding:22px!important; }\n  #upl-wal-decision .wdc-strip-cta{ width:100%!important; justify-content:center!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-decision\">\n  <div class=\"wdc-container\">\n    <span id=\"wal-decision\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wdc-badge\"><span class=\"wdc-badge-dot\"><\/span><span>Decision<\/span><\/div>\n    <h2>Link, Cloud API or connected account: which one do you need?<\/h2>\n    <div class=\"wdc-lead\">Use a link when a human initiates the conversation from a page you control. Use the Cloud API when a verified business sends templated notifications at scale. Use a connected-account API when your product must read and send from the user's own WhatsApp inbox.<\/div>\n\n    <div class=\"wdc-table\">\n      <div class=\"wdc-row wdc-head\">\n        <div class=\"wdc-cell\"><span>Criterion<\/span><\/div>\n        <div class=\"wdc-cell\"><span>Link<\/span><\/div>\n        <div class=\"wdc-cell\"><span>Meta Cloud API<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span>Connected account<\/span><\/div>\n      <\/div>\n      <div class=\"wdc-row\">\n        <div class=\"wdc-cell\"><span>Who initiates<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Link<\/span><span>A human, from a page you control<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Cloud API<\/span><span>Your business sends first, templated<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span class=\"wdc-mobile-label\">Connected account<\/span><span>Either side, from the linked inbox<\/span><\/div>\n      <\/div>\n      <div class=\"wdc-row\">\n        <div class=\"wdc-cell\"><span>Auth required<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Link<\/span><span>None<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Cloud API<\/span><span>Verified Meta Business account<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span class=\"wdc-mobile-label\">Connected account<\/span><span>QR code or pairing code, no Business verification<\/span><\/div>\n      <\/div>\n      <div class=\"wdc-row\">\n        <div class=\"wdc-cell\"><span>Cost<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Link<\/span><span>Free<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Cloud API<\/span><span>Per message, since July 1, 2025<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span class=\"wdc-mobile-label\">Connected account<\/span><span>Unipile plan pricing, not billed per message<\/span><\/div>\n      <\/div>\n      <div class=\"wdc-row\">\n        <div class=\"wdc-cell\"><span>Receives replies<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Link<\/span><span>No<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Cloud API<\/span><span>Yes, via webhook<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span class=\"wdc-mobile-label\">Connected account<\/span><span>Yes, via webhook<\/span><\/div>\n      <\/div>\n      <div class=\"wdc-row\">\n        <div class=\"wdc-cell\"><span>Conversation history<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Link<\/span><span>No<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Cloud API<\/span><span>Yes<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span class=\"wdc-mobile-label\">Connected account<\/span><span>Yes<\/span><\/div>\n      <\/div>\n      <div class=\"wdc-row\">\n        <div class=\"wdc-cell\"><span>Multi-tenant products<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Link<\/span><span>Breaks, one hardcoded number<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Cloud API<\/span><span>Needs custom routing per business number<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span class=\"wdc-mobile-label\">Connected account<\/span><span>Native, one linked account per end user<\/span><\/div>\n      <\/div>\n      <div class=\"wdc-row\">\n        <div class=\"wdc-cell\"><span>Setup time<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Link<\/span><span>Minutes<\/span><\/div>\n        <div class=\"wdc-cell\"><span class=\"wdc-mobile-label\">Cloud API<\/span><span>Days to weeks, Business verification<\/span><\/div>\n        <div class=\"wdc-cell wdc-hl\"><span class=\"wdc-mobile-label\">Connected account<\/span><span>Minutes to hours<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wdc-guide\">\n      <div class=\"wdc-guide-card\">\n        <div class=\"wdc-guide-title\"><svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg><span>Just need a link<\/span><\/div>\n        <div class=\"wdc-guide-text\">Use the <a href=\"#wal-generator\">generator above<\/a>. No account, no setup.<\/div>\n      <\/div>\n      <div class=\"wdc-guide-card\">\n        <div class=\"wdc-guide-title\"><svg viewBox=\"0 0 24 24\"><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><\/svg><span>Sending templated notifications<\/span><\/div>\n        <div class=\"wdc-guide-text\">See the <a href=\"https:\/\/www.unipile.com\/whatsapp-cloud-api-integration-simplify-messaging-for-your-saas\/\">WhatsApp Cloud API integration<\/a> guide.<\/div>\n      <\/div>\n      <div class=\"wdc-guide-card\">\n        <div class=\"wdc-guide-title\"><svg viewBox=\"0 0 24 24\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg><span>Reading and sending per user<\/span><\/div>\n        <div class=\"wdc-guide-text\">Start with the <a href=\"https:\/\/www.unipile.com\/whatsapp-api-a-complete-guide-to-integration\/\">complete WhatsApp API guide<\/a>.<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wdc-strip\">\n      <span class=\"wdc-strip-text\">Most products outgrow the link within a week. Start where you'll actually end up.<\/span>\n      <a class=\"wdc-strip-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Start building<\/span>\n        <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var wrapper = document.getElementById('upl-wal-decision');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); } else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-embed, #upl-wal-embed *, #upl-wal-embed *::before, #upl-wal-embed *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-embed { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-embed br{display:none!important;}\n#upl-wal-embed p{display:contents!important;}\n#upl-wal-embed { padding: 54px 20px !important; }\n#upl-wal-embed .wem-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-embed .wem-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(221,223,76,0.18)!important;color:#8a8c2e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-embed .wem-badge-dot{width:7px!important;height:7px!important;background:#DDDF4C!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-embed h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-embed .wem-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 30px !important; }\n\n#upl-wal-embed .wem-grid{ display:grid!important; grid-template-columns:1.15fr 0.85fr!important; gap:28px!important; margin-bottom:30px!important; align-items:stretch!important; }\n#upl-wal-embed .wem-code{ background:#0d1117!important; border-radius:14px!important; overflow:hidden!important; }\n#upl-wal-embed .wem-code-bar{ background:#161b22!important; padding:12px 18px!important; display:flex!important; align-items:center!important; gap:8px!important; border-bottom:1px solid rgba(255,255,255,0.06)!important; }\n#upl-wal-embed .wem-dot{ width:11px!important; height:11px!important; border-radius:50%!important; display:inline-block!important; }\n#upl-wal-embed .wem-dot.r{ background:#ff5f57!important; } #upl-wal-embed .wem-dot.y{ background:#febc2e!important; } #upl-wal-embed .wem-dot.g{ background:#28c840!important; }\n#upl-wal-embed .wem-fname{ color:#8b949e!important; font-size:12.5px!important; margin-left:6px!important; font-family:'SFMono-Regular',Menlo,monospace!important; }\n#upl-wal-embed .wem-pre{ padding:20px 22px!important; overflow-x:auto!important; }\n#upl-wal-embed .wem-pre code{ font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; font-size:12.5px!important; line-height:1.9!important; white-space:pre!important; display:block!important; color:#e6edf3!important; }\n#upl-wal-embed .wem-c{ color:#8b949e!important; } #upl-wal-embed .wem-tag{ color:#7ee787!important; } #upl-wal-embed .wem-attr{ color:#fde68a!important; } #upl-wal-embed .wem-var{ color:#a5d6ff!important; }\n\n#upl-wal-embed .wem-side{ display:flex!important; flex-direction:column!important; gap:16px!important; }\n#upl-wal-embed .wem-panel{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:14px!important; padding:20px!important; flex:1!important; }\n#upl-wal-embed .wem-panel-title{ display:flex!important; align-items:center!important; gap:8px!important; font-size:0.8rem!important; font-weight:700!important; color:#0f2736!important; margin-bottom:10px!important; text-transform:uppercase!important; letter-spacing:0.3px!important; }\n#upl-wal-embed .wem-panel-title svg{ width:15px!important; height:15px!important; color:#3BB98B!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n#upl-wal-embed .wem-panel-text{ font-size:0.83rem!important; line-height:1.6!important; color:#475569!important; }\n#upl-wal-embed .wem-btn-preview{ display:inline-flex!important; align-items:center!important; gap:7px!important; background:#25D366!important; color:#ffffff!important; padding:8px 15px!important; border-radius:22px!important; font-size:0.8rem!important; font-weight:700!important; margin-top:10px!important; }\n#upl-wal-embed .wem-btn-preview img{ width:15px!important; height:15px!important; filter:brightness(0) invert(1)!important; display:block!important; }\n\n#upl-wal-embed .wem-devices{ display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:14px!important; margin-bottom:30px!important; }\n#upl-wal-embed .wem-device{ background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:12px!important; padding:18px!important; }\n#upl-wal-embed .wem-device-icon{ width:32px!important; height:32px!important; border-radius:8px!important; background:rgba(59,185,139,0.12)!important; display:flex!important; align-items:center!important; justify-content:center!important; margin-bottom:10px!important; }\n#upl-wal-embed .wem-device-icon svg{ width:16px!important; height:16px!important; color:#3BB98B!important; stroke:currentColor!important; fill:none!important; stroke-width:2.3!important; }\n#upl-wal-embed .wem-device-title{ display:block!important; font-size:0.85rem!important; font-weight:700!important; color:#0f2736!important; margin-bottom:5px!important; }\n#upl-wal-embed .wem-device-text{ display:block!important; font-size:0.78rem!important; line-height:1.55!important; color:#64748b!important; }\n\n#upl-wal-embed .wem-warn{ display:flex!important; gap:14px!important; padding:22px 24px!important; background:#0f2736!important; border-radius:14px!important; }\n#upl-wal-embed .wem-warn svg{ width:20px!important; height:20px!important; color:#DDDF4C!important; stroke:currentColor!important; fill:none!important; stroke-width:2.3!important; flex-shrink:0!important; margin-top:2px!important; }\n#upl-wal-embed .wem-warn-text{ font-size:0.9rem!important; line-height:1.7!important; color:rgba(255,255,255,0.85)!important; }\n#upl-wal-embed .wem-warn-text strong{ color:#ffffff!important; font-weight:700!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-embed h2{ font-size:28px!important; }\n  #upl-wal-embed .wem-grid{ grid-template-columns:1fr!important; }\n  #upl-wal-embed .wem-devices{ grid-template-columns:1fr!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-embed{ padding:44px 16px!important; }\n  #upl-wal-embed h2{ font-size:26px!important; }\n  #upl-wal-embed .wem-lead{ font-size:15.5px!important; }\n  #upl-wal-embed .wem-pre code{ font-size:11px!important; }\n  #upl-wal-embed .wem-pre{ padding:14px!important; }\n  #upl-wal-embed .wem-warn{ flex-direction:column!important; padding:20px!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-embed\">\n  <div class=\"wem-container\">\n    <span id=\"wal-embed\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wem-badge\"><span class=\"wem-badge-dot\"><\/span><span>Implementation<\/span><\/div>\n    <h2>How do you embed a WhatsApp link in a product?<\/h2>\n    <div class=\"wem-lead\">Generate the link server-side, per user, and never hardcode a phone number in a multi-tenant product. The link is just an anchor, so it belongs in your template layer, not in your API layer.<\/div>\n\n    <div class=\"wem-grid\">\n      <div class=\"wem-code\">\n        <div class=\"wem-code-bar\"><span class=\"wem-dot r\"><\/span><span class=\"wem-dot y\"><\/span><span class=\"wem-dot g\"><\/span><span class=\"wem-fname\">chat-button.html<\/span><\/div>\n        <div class=\"wem-pre\"><code><span class=\"wem-c\">&lt;!-- template layer, not your API layer --&gt;<\/span>&#10;&lt;<span class=\"wem-tag\">a<\/span> <span class=\"wem-attr\">href<\/span>=<span class=\"wem-var\">\"https:\/\/wa.me\/{{ user.whatsapp_number }}?text={{ prefilled_text | url_encode }}\"<\/span>&#10;   <span class=\"wem-attr\">target<\/span>=<span class=\"wem-var\">\"_blank\"<\/span> <span class=\"wem-attr\">rel<\/span>=<span class=\"wem-var\">\"noopener\"<\/span>&#10;   <span class=\"wem-attr\">aria-label<\/span>=<span class=\"wem-var\">\"Chat on WhatsApp\"<\/span>&gt;&#10;  Chat on WhatsApp&#10;&lt;\/<span class=\"wem-tag\">a<\/span>&gt;<\/code><\/div>\n      <\/div>\n      <div class=\"wem-side\">\n        <div class=\"wem-panel\">\n          <div class=\"wem-panel-title\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12c0 1.85.5 3.58 1.38 5.07L2 22l5.07-1.33A9.94 9.94 0 0 0 12 22c5.52 0 10-4.48 10-10S17.52 2 12 2z\"\/><\/svg><span>Official button<\/span><\/div>\n          <div class=\"wem-panel-text\">WhatsApp publishes a ready-made \"Chat on WhatsApp\" badge, green and white, in a few fixed sizes, meant to be used without modification.<\/div>\n          <span class=\"wem-btn-preview\"><img decoding=\"async\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2025\/09\/whatsapp-1.svg\" alt=\"\">Chat on WhatsApp<\/span>\n        <\/div>\n        <div class=\"wem-panel\">\n          <div class=\"wem-panel-title\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/><line x1=\"17.5\" y1=\"17.5\" x2=\"17.5\" y2=\"17.5\"\/><\/svg><span>QR code<\/span><\/div>\n          <div class=\"wem-panel-text\">Any QR code generator that accepts a URL turns a <code style=\"font-family:'SFMono-Regular',Menlo,monospace;background:#f1f5f9;padding:1px 5px;border-radius:4px;\">wa.me<\/code> link into a scannable code for print, packaging or in-person signage.<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wem-devices\">\n      <div class=\"wem-device\">\n        <div class=\"wem-device-icon\"><svg viewBox=\"0 0 24 24\"><rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"\/><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"\/><\/svg><\/div>\n        <span class=\"wem-device-title\">Mobile<\/span>\n        <span class=\"wem-device-text\">Opens the WhatsApp app directly, with the chat and pre-filled text ready.<\/span>\n      <\/div>\n      <div class=\"wem-device\">\n        <div class=\"wem-device-icon\"><svg viewBox=\"0 0 24 24\"><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><\/svg><\/div>\n        <span class=\"wem-device-title\">Desktop, app installed<\/span>\n        <span class=\"wem-device-text\">Opens the WhatsApp desktop app instead of the browser.<\/span>\n      <\/div>\n      <div class=\"wem-device\">\n        <div class=\"wem-device-icon\"><svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg><\/div>\n        <span class=\"wem-device-title\">Desktop, no app<\/span>\n        <span class=\"wem-device-text\">Opens WhatsApp Web in the browser, and prompts a QR sign-in if the session isn't already active.<\/span>\n      <\/div>\n    <\/div>\n\n    <div class=\"wem-warn\">\n      <svg viewBox=\"0 0 24 24\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\n      <div class=\"wem-warn-text\"><strong>Why the link breaks in multi-tenant products:<\/strong> a single hardcoded number cannot tell your customers apart. Generate the link from the specific user or workspace record every time, so it carries whichever number that user actually owns, not a number pasted once into a template.<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-fix, #upl-wal-fix *, #upl-wal-fix *::before, #upl-wal-fix *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-fix { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-fix br{display:none!important;}\n#upl-wal-fix p{display:contents!important;}\n#upl-wal-fix { padding: 54px 20px !important; }\n#upl-wal-fix .wfx-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-fix .wfx-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(59,185,139,0.12)!important;color:#2aaa7e!important;padding:6px 14px!important;border-radius:20px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;width:fit-content!important;margin-bottom:18px!important;}\n#upl-wal-fix .wfx-badge-dot{width:7px!important;height:7px!important;background:#3BB98B!important;border-radius:50%!important;flex-shrink:0!important;display:inline-block!important;}\n#upl-wal-fix h2 { display:block!important; font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.2 !important; margin-bottom: 18px !important; }\n#upl-wal-fix .wfx-lead { display:block!important; font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n#upl-wal-fix .wfx-lead code{ font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; background:#f1f5f9!important; color:#0f2736!important; padding:2px 7px!important; border-radius:5px!important; font-size:0.88em!important; }\n\n#upl-wal-fix .wfx-list{ display:flex!important; flex-direction:column!important; gap:12px!important; margin-bottom:32px!important; }\n#upl-wal-fix .wfx-item{ display:grid!important; grid-template-columns: 34px 1fr 1fr!important; gap:16px!important; align-items:flex-start!important; background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:14px!important; padding:20px 22px!important; }\n#upl-wal-fix .wfx-num{ width:34px!important; height:34px!important; border-radius:10px!important; background:rgba(239,68,68,0.12)!important; display:flex!important; align-items:center!important; justify-content:center!important; }\n#upl-wal-fix .wfx-num svg{ width:16px!important; height:16px!important; color:#ef4444!important; stroke:currentColor!important; fill:none!important; stroke-width:2.4!important; }\n#upl-wal-fix .wfx-cause-label{ display:block!important; font-size:0.65rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.5px!important; color:#ef4444!important; margin-bottom:5px!important; }\n#upl-wal-fix .wfx-cause-text{ display:block!important; font-size:0.9rem!important; font-weight:600!important; color:#0f2736!important; line-height:1.5!important; }\n#upl-wal-fix .wfx-fix-label{ display:block!important; font-size:0.65rem!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:0.5px!important; color:#3BB98B!important; margin-bottom:5px!important; }\n#upl-wal-fix .wfx-fix-text{ display:block!important; font-size:0.86rem!important; color:#475569!important; line-height:1.55!important; }\n#upl-wal-fix .wfx-fix-text code{ font-family:'SFMono-Regular',Menlo,Consolas,monospace!important; background:#f1f5f9!important; color:#0f2736!important; padding:1px 5px!important; border-radius:4px!important; font-size:0.85em!important; }\n\n#upl-wal-fix .wfx-cta-row{ text-align:center!important; }\n#upl-wal-fix .wfx-cta{ display:inline-flex!important; align-items:center!important; gap:8px!important; background:#DDDF4C!important; color:#0f2736!important; padding:13px 26px!important; border-radius:8px!important; font-size:0.92rem!important; font-weight:700!important; transition:transform 0.3s ease!important; }\n#upl-wal-fix .wfx-cta:hover{ transform:translateY(-5px)!important; }\n#upl-wal-fix .wfx-cta svg{ width:15px!important; height:15px!important; stroke:currentColor!important; fill:none!important; stroke-width:2.5!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-fix h2{ font-size:28px!important; }\n}\n@media (max-width: 700px) {\n  #upl-wal-fix .wfx-item{ grid-template-columns: 1fr!important; gap:10px!important; }\n  #upl-wal-fix .wfx-num{ display:none!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-fix{ padding:44px 16px!important; }\n  #upl-wal-fix h2{ font-size:26px!important; }\n  #upl-wal-fix .wfx-lead{ font-size:15.5px!important; }\n  #upl-wal-fix .wfx-item{ padding:16px 18px!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-fix\">\n  <div class=\"wfx-container\">\n    <span id=\"wal-troubleshooting\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n    <div class=\"wfx-badge\"><span class=\"wfx-badge-dot\"><\/span><span>Troubleshooting<\/span><\/div>\n    <h2>Why is my WhatsApp link not working?<\/h2>\n    <div class=\"wfx-lead\">The two most common causes are a phone number that is not in plain international format, and a <code>text<\/code> parameter that was not URL-encoded.<\/div>\n\n    <div class=\"wfx-list\">\n      <div class=\"wfx-item\">\n        <div class=\"wfx-num\"><svg viewBox=\"0 0 24 24\"><rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\"\/><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"\/><\/svg><\/div>\n        <div><span class=\"wfx-cause-label\">Cause<\/span><span class=\"wfx-cause-text\">Phone number not in plain international format<\/span><\/div>\n        <div><span class=\"wfx-fix-label\">Fix<\/span><span class=\"wfx-fix-text\">Use the full international number, digits only: no <code>+<\/code>, no leading <code>0<\/code>, no spaces, dashes or brackets.<\/span><\/div>\n      <\/div>\n      <div class=\"wfx-item\">\n        <div class=\"wfx-num\"><svg viewBox=\"0 0 24 24\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><\/svg><\/div>\n        <div><span class=\"wfx-cause-label\">Cause<\/span><span class=\"wfx-cause-text\">The text parameter was not URL-encoded<\/span><\/div>\n        <div><span class=\"wfx-fix-label\">Fix<\/span><span class=\"wfx-fix-text\">Run the message through <code>encodeURIComponent()<\/code> in JavaScript or <code>urllib.parse.quote()<\/code> in Python before appending it.<\/span><\/div>\n      <\/div>\n      <div class=\"wfx-item\">\n        <div class=\"wfx-num\"><svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg><\/div>\n        <div><span class=\"wfx-cause-label\">Cause<\/span><span class=\"wfx-cause-text\">The number has no active WhatsApp account<\/span><\/div>\n        <div><span class=\"wfx-fix-label\">Fix<\/span><span class=\"wfx-fix-text\">The link still opens, but the chat fails silently. Verify the number is actually registered on WhatsApp first.<\/span><\/div>\n      <\/div>\n      <div class=\"wfx-item\">\n        <div class=\"wfx-num\"><svg viewBox=\"0 0 24 24\"><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"\/><path d=\"M2 8h20\"\/><\/svg><\/div>\n        <div><span class=\"wfx-cause-label\">Cause<\/span><span class=\"wfx-cause-text\">Opened inside a third-party app's in-app browser<\/span><\/div>\n        <div><span class=\"wfx-fix-label\">Fix<\/span><span class=\"wfx-fix-text\">In-app browsers from social or ad platforms sometimes block or mishandle the redirect. Open the link in the system browser instead.<\/span><\/div>\n      <\/div>\n      <div class=\"wfx-item\">\n        <div class=\"wfx-num\"><svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg><\/div>\n        <div><span class=\"wfx-cause-label\">Cause<\/span><span class=\"wfx-cause-text\">A link preview crawler rewrote the URL<\/span><\/div>\n        <div><span class=\"wfx-fix-label\">Fix<\/span><span class=\"wfx-fix-text\">Some platforms wrap outbound links in their own redirect, which can drop the query string. Test the raw <code>wa.me<\/code> URL directly.<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wfx-cta-row\">\n      <a class=\"wfx-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Build on linked accounts<\/span>\n        <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var wrapper = document.getElementById('upl-wal-fix');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); } else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@600;700&#038;display=swap\" rel=\"stylesheet\">\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is there a WhatsApp link API?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No single WhatsApp link API exists. wa.me and api.whatsapp.com\/send are click-to-chat URLs: opening one starts a conversation in WhatsApp, with no authentication, developer account or code required. WhatsApp's own APIs are a separate layer that begins exactly where the link stops, once a person has to reply.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the correct wa.me link format?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The documented format is https:\/\/wa.me\/<number>, where <number> is the full phone number in international format. WhatsApp's Help Center instructs omitting any leading zeroes, brackets, spaces or dashes, for example https:\/\/wa.me\/1XXXXXXXXXX.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between wa.me and api.whatsapp.com\/send?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Both open the same conversation. wa.me\/<number> is the short form documented in WhatsApp's Help Center, with the number in the URL path. api.whatsapp.com\/send?phone=<number> is the long form, still widely used, that carries the number as a query parameter instead.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does a WhatsApp link send the message automatically?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. A click-to-chat link opens the conversation and can pre-fill the text field, but nothing is delivered until the person holding the phone presses send.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I add a pre-filled message to a WhatsApp link?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. Append ?text= followed by a URL-encoded message, for example https:\/\/wa.me\/1XXXXXXXXXX?text=Hi%2C%20I%20have%20a%20question. The text lands in the chat input field, pre-filled and still editable before sending.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Why is my WhatsApp link not working?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The two most common causes are a phone number that isn't in plain international format and a text parameter that wasn't URL-encoded. Also check that the number has an active WhatsApp account and that the link wasn't opened inside a third-party app's in-app browser.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Do I need the WhatsApp Business API to use a click-to-chat link?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. A wa.me or api.whatsapp.com\/send link requires no Business account, no verification and no API access. The WhatsApp Business Platform, or Cloud API, is a separate verified product for businesses that need to send templated notifications at scale or receive replies programmatically.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I receive replies to a WhatsApp link inside my software?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"A link itself cannot report replies back to your app, it is stateless. To read and send from an actual inbox, you need an API that holds a WhatsApp session: either Meta's Cloud API with a verified Business account, or a connected-account API such as Unipile, where each end user links their own WhatsApp account on behalf of the authenticated user, by QR code or pairing code.\"\n      }\n    }\n  ]\n}\n<\/script>\n<style>\n#upl-wal-faq { font-family:'Inter',sans-serif; padding:80px 20px; max-width:900px; margin:0 auto; background:transparent!important; }\n#upl-wal-faq *, #upl-wal-faq *::before, #upl-wal-faq *::after { margin:0!important; padding:0!important; box-sizing:border-box!important; }\n#upl-wal-faq .upl-faq-header { text-align:center!important; margin-bottom:60px!important; }\n#upl-wal-faq .upl-faq-title { font-family:'Poppins',sans-serif!important; font-size:clamp(32px,5vw,38px)!important; font-weight:700!important; color:#0f2736!important; margin-bottom:16px!important; line-height:1.2!important; }\n#upl-wal-faq .upl-faq-subtitle { font-size:17px!important; color:#383838!important; max-width:700px!important; margin:0 auto!important; line-height:1.6!important; }\n#upl-wal-faq .upl-faq-list { display:flex!important; flex-direction:column!important; gap:12px!important; }\n#upl-wal-faq .upl-faq-item { background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:16px!important; overflow:hidden!important; transition:all 0.3s ease!important; }\n#upl-wal-faq .upl-faq-item:hover { border-color:#3BB98B!important; box-shadow:0 4px 20px rgba(59,185,139,0.08)!important; }\n#upl-wal-faq .upl-faq-item.active { border-color:#3BB98B!important; box-shadow:0 8px 30px rgba(59,185,139,0.12)!important; }\n#upl-wal-faq .upl-faq-question { width:100%!important; display:flex!important; align-items:flex-start!important; justify-content:space-between!important; gap:20px!important; padding:24px 28px!important; background:transparent!important; border:none!important; cursor:pointer!important; text-align:left!important; }\n#upl-wal-faq .upl-faq-question-content { display:flex!important; align-items:flex-start!important; gap:16px!important; flex:1!important; }\n#upl-wal-faq .upl-faq-number { flex-shrink:0!important; padding:6px 12px!important; background:rgba(59,185,139,0.12)!important; color:#3BB98B!important; border-radius:20px!important; font-size:0.8rem!important; font-weight:600!important; }\n#upl-wal-faq .upl-faq-item.active .upl-faq-number { background:rgba(59,185,139,0.2)!important; color:#2a9d6e!important; }\n#upl-wal-faq .upl-faq-question-text { font-family:'Poppins',sans-serif!important; font-size:1.1rem!important; font-weight:600!important; color:#0f2736!important; line-height:1.4!important; padding-top:4px!important; }\n#upl-wal-faq .upl-faq-icon { flex-shrink:0!important; width:36px!important; height:36px!important; background:#f4f5f7!important; border-radius:50%!important; display:flex!important; align-items:center!important; justify-content:center!important; transition:all 0.3s ease!important; margin-top:2px!important; }\n#upl-wal-faq .upl-faq-icon svg { width:18px!important; height:18px!important; color:#64748b!important; transition:all 0.3s ease!important; }\n#upl-wal-faq .upl-faq-item:hover .upl-faq-icon { background:rgba(59,185,139,0.1)!important; }\n#upl-wal-faq .upl-faq-item:hover .upl-faq-icon svg { color:#3BB98B!important; }\n#upl-wal-faq .upl-faq-item.active .upl-faq-icon { background:#3BB98B!important; transform:rotate(45deg)!important; }\n#upl-wal-faq .upl-faq-item.active .upl-faq-icon svg { color:#ffffff!important; }\n#upl-wal-faq .upl-faq-answer { max-height:0!important; overflow:hidden!important; transition:max-height 0.4s ease!important; }\n#upl-wal-faq .upl-faq-item.active .upl-faq-answer { max-height:600px!important; }\n#upl-wal-faq .upl-faq-answer-content { padding:0 28px 28px 76px!important; color:#475569!important; font-size:1rem!important; line-height:1.7!important; }\n#upl-wal-faq .upl-faq-answer-content strong { color:#0f2736!important; font-weight:600!important; }\n#upl-wal-faq .upl-faq-answer-content a { color:#3BB98B!important; text-decoration:underline!important; }\n#upl-wal-faq .upl-faq-answer-content code { font-family:monospace!important; background:#f1f5f9!important; padding:2px 6px!important; border-radius:3px!important; font-size:0.85em!important; }\n#upl-wal-faq .upl-faq-cta { margin-top:50px!important; display:flex!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; padding:20px 28px!important; background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:12px!important; }\n#upl-wal-faq .upl-faq-cta-text { color:#475569!important; font-size:1rem!important; }\n#upl-wal-faq .upl-faq-cta-button { display:inline-flex!important; align-items:center!important; gap:10px!important; background:#DDDF4C!important; color:#0F2836!important; padding:13px 20px!important; border-radius:8px!important; text-decoration:none!important; font-weight:700!important; font-size:1rem!important; border:none!important; cursor:pointer!important; white-space:nowrap!important; }\n#upl-wal-faq .upl-faq-cta-button:hover { transform:translateY(-2px)!important; }\n\/* wpautop defensive patch (additive only, does not alter design): neutralizes stray\n   <!\u2013- [et_pb_br_holder] -\u2013> tags WordPress injects between .upl-faq-number and .upl-faq-question-text *\/\n#upl-wal-faq br { display:none!important; }\n@media (max-width:768px) {\n  #upl-wal-faq { padding:60px 16px!important; }\n  #upl-wal-faq .upl-faq-answer-content { padding:0 20px 20px 20px!important; }\n  #upl-wal-faq .upl-faq-question { padding:18px 20px!important; }\n  #upl-wal-faq .upl-faq-cta { flex-direction:column!important; align-items:flex-start!important; }\n}\n<\/style>\n\n<section id=\"upl-wal-faq\">\n  <span id=\"wal-faq\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n  <div class=\"upl-faq-header\">\n    <h2 class=\"upl-faq-title\">WhatsApp Link API - FAQ<\/h2>\n    <pee class=\"upl-faq-subtitle\">Everything developers ask about wa.me, api.whatsapp.com, the text parameter, and where the link stops.<\/pee>\n  <\/div>\n  <div class=\"upl-faq-list\">\n\n    <div class=\"upl-faq-item active\">\n      <button class=\"upl-faq-question\" aria-expanded=\"true\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">01<\/span>\n          <span class=\"upl-faq-question-text\">Is there a WhatsApp link API?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>No single WhatsApp link API exists. <code>wa.me<\/code> and <code>api.whatsapp.com\/send<\/code> are click-to-chat URLs: opening one starts a conversation in WhatsApp, with no authentication, developer account or code required. WhatsApp's own APIs are a separate layer that begins exactly where the link stops, once a person has to reply.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">02<\/span>\n          <span class=\"upl-faq-question-text\">What is the correct wa.me link format?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>The documented format is <code>https:\/\/wa.me\/&lt;number&gt;<\/code>, where <code>&lt;number&gt;<\/code> is the full phone number in international format. WhatsApp's Help Center instructs omitting any leading zeroes, brackets, spaces or dashes, for example <code>https:\/\/wa.me\/1XXXXXXXXXX<\/code>.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">03<\/span>\n          <span class=\"upl-faq-question-text\">What is the difference between wa.me and api.whatsapp.com\/send?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>Both open the same conversation. <code>wa.me\/&lt;number&gt;<\/code> is the short form documented in WhatsApp's Help Center, with the number in the URL path. <code>api.whatsapp.com\/send?phone=&lt;number&gt;<\/code> is the long form, still widely used, that carries the number as a query parameter instead.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">04<\/span>\n          <span class=\"upl-faq-question-text\">Does a WhatsApp link send the message automatically?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>No. A click-to-chat link opens the conversation and can pre-fill the text field, but nothing is delivered until the person holding the phone presses send.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">05<\/span>\n          <span class=\"upl-faq-question-text\">Can I add a pre-filled message to a WhatsApp link?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>Yes. Append <code>?text=<\/code> followed by a URL-encoded message, for example <code>https:\/\/wa.me\/1XXXXXXXXXX?text=Hi%2C%20I%20have%20a%20question<\/code>. The text lands in the chat input field, pre-filled and still editable before sending. Try it in the <a href=\"#wal-generator\">generator above<\/a>.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">06<\/span>\n          <span class=\"upl-faq-question-text\">Why is my WhatsApp link not working?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>The two most common causes are a phone number that isn't in plain international format and a <code>text<\/code> parameter that wasn't URL-encoded. Also check that the number has an active WhatsApp account and that the link wasn't opened inside a third-party app's in-app browser.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">07<\/span>\n          <span class=\"upl-faq-question-text\">Do I need the WhatsApp Business API to use a click-to-chat link?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>No. A <code>wa.me<\/code> or <code>api.whatsapp.com\/send<\/code> link requires no Business account, no verification and no API access. The WhatsApp Business Platform, or Cloud API, is a separate verified product for businesses that need to send templated notifications at scale or receive replies programmatically. See the <a href=\"https:\/\/www.unipile.com\/whatsapp-api-a-complete-guide-to-integration\/\">complete WhatsApp API guide<\/a>.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">08<\/span>\n          <span class=\"upl-faq-question-text\">How do I receive replies to a WhatsApp link inside my software?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><pee>A link itself cannot report replies back to your app, it is stateless. To read and send from an actual inbox, you need an API that holds a WhatsApp session: either Meta's Cloud API with a verified Business account, or a connected-account API such as Unipile, where each end user links their own WhatsApp account on behalf of the authenticated user, by QR code or pairing code. See <a href=\"https:\/\/www.unipile.com\/whatsapp-api-to-send-messages\/\">how to send WhatsApp messages via API<\/a>.<\/pee><\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n  <div class=\"upl-faq-cta\">\n    <pee class=\"upl-faq-cta-text\">Still not sure whether you need a link or an API? Our team can help you decide.<\/pee>\n    <span class=\"upl-faq-cta-button\" onclick=\"if(window.$crisp){$crisp.push(['do','chat:open'])}\"><span>Talk to an expert<\/span><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/span>\n  <\/div>\n<\/section>\n\n<script>\n(function(){\n  function initFaq(){\n    var faq=document.getElementById('upl-wal-faq');\n    if(!faq)return;\n    faq.querySelectorAll('.upl-faq-question').forEach(function(btn){\n      btn.addEventListener('click',function(){\n        var item=btn.closest('.upl-faq-item');\n        var isActive=item.classList.contains('active');\n        faq.querySelectorAll('.upl-faq-item').forEach(function(i){i.classList.remove('active');i.querySelector('.upl-faq-question').setAttribute('aria-expanded','false');});\n        if(!isActive){item.classList.add('active');btn.setAttribute('aria-expanded','true');}\n      });\n    });\n    faq.addEventListener('click',function(e){\n      var el=e.target.closest('[data-upl-link]');\n      if(!el)return;\n      e.preventDefault();\n      window.open(el.getAttribute('data-upl-link'),el.getAttribute('data-upl-target')||'_blank');\n    });\n  }\n  if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',initFaq);}else{initFaq();}\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n[et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wal-related, #upl-wal-related *, #upl-wal-related *::before, #upl-wal-related *::after {\n  margin:0!important; padding:0!important; box-sizing:border-box!important;\n  border:none!important; outline:none!important;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;\n  line-height:normal!important; letter-spacing:normal!important;\n  text-transform:none!important; text-decoration:none!important;\n  list-style:none!important; background:transparent!important; float:none!important;\n}\n#upl-wal-related { display:block!important; background:transparent!important; overflow-x:hidden!important; max-width:100vw!important; width:100%!important; }\n#upl-wal-related br{display:none!important;}\n#upl-wal-related p{display:contents!important;}\n#upl-wal-related { padding: 20px 20px 60px !important; }\n#upl-wal-related .wrl-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wal-related h3 { display:block!important; font-family:'Poppins',sans-serif!important; font-size:1.3rem!important; font-weight:700!important; color:#0f2736!important; margin-bottom:20px!important; }\n#upl-wal-related .wrl-grid{ display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:16px!important; }\n#upl-wal-related .wrl-card{ display:flex!important; flex-direction:column!important; gap:14px!important; background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:14px!important; padding:22px!important; transition:border-color 0.2s ease!important; }\n#upl-wal-related .wrl-card:hover{ border-color:#3BB98B!important; }\n#upl-wal-related .wrl-icon{ width:36px!important; height:36px!important; border-radius:9px!important; background:rgba(37,211,102,0.12)!important; display:flex!important; align-items:center!important; justify-content:center!important; }\n#upl-wal-related .wrl-icon svg{ width:18px!important; height:18px!important; color:#25D366!important; stroke:currentColor!important; fill:none!important; stroke-width:2.3!important; }\n#upl-wal-related .wrl-card-title{ display:block!important; font-size:0.95rem!important; font-weight:700!important; color:#0f2736!important; line-height:1.4!important; }\n#upl-wal-related .wrl-card-desc{ display:block!important; font-size:0.82rem!important; line-height:1.55!important; color:#64748b!important; flex:1!important; }\n#upl-wal-related .wrl-card-link{ display:inline-flex!important; align-items:center!important; gap:6px!important; font-size:0.78rem!important; font-weight:700!important; color:#3BB98B!important; }\n#upl-wal-related .wrl-card-link svg{ width:13px!important; height:13px!important; stroke:currentColor!important; fill:none!important; stroke-width:2.5!important; }\n\n@media (max-width: 900px) {\n  #upl-wal-related .wrl-grid{ grid-template-columns:1fr!important; }\n}\n@media (max-width: 600px) {\n  #upl-wal-related{ padding:16px 16px 44px!important; }\n}\n<\/style>\n\n<div id=\"upl-wal-related\">\n  <div class=\"wrl-container\">\n    <h3>Keep exploring the WhatsApp API<\/h3>\n    <div class=\"wrl-grid\">\n      <a class=\"wrl-card\" href=\"https:\/\/www.unipile.com\/whatsapp-api-to-send-messages\/\">\n        <div class=\"wrl-icon\"><svg viewBox=\"0 0 24 24\"><line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"\/><polygon points=\"22 2 15 22 11 13 2 9 22 2\"\/><\/svg><\/div>\n        <span class=\"wrl-card-title\">WhatsApp API to Send Messages<\/span>\n        <span class=\"wrl-card-desc\">The full integration guide: endpoints, payloads, delivery status and webhooks.<\/span>\n        <span class=\"wrl-card-link\"><span>Read the guide<\/span><svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/span>\n      <\/a>\n      <a class=\"wrl-card\" href=\"https:\/\/www.unipile.com\/whatsapp-api-a-complete-guide-to-integration\/\">\n        <div class=\"wrl-icon\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"\/><\/svg><\/div>\n        <span class=\"wrl-card-title\">WhatsApp API 2026: Types, Access, Pricing &amp; Limits<\/span>\n        <span class=\"wrl-card-desc\">Every way to access WhatsApp, compared: Cloud API, linked accounts and more.<\/span>\n        <span class=\"wrl-card-link\"><span>Read the guide<\/span><svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/span>\n      <\/a>\n      <a class=\"wrl-card\" href=\"https:\/\/www.unipile.com\/whatsapp-group-api\/\">\n        <div class=\"wrl-icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg><\/div>\n        <span class=\"wrl-card-title\">WhatsApp Group API in 2026<\/span>\n        <span class=\"wrl-card-desc\">What Meta supports for WhatsApp groups today, and what it doesn't.<\/span>\n        <span class=\"wrl-card-link\"><span>Read the guide<\/span><svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/span>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":279716,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[69],"tags":[],"post_folder":[],"class_list":["post-275019","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-guidelines"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained - Unipile<\/title>\n<meta name=\"description\" content=\"A WhatsApp link is a URL, not an API. Get the exact wa.me and api.whatsapp.com\/send formats, the text parameter, a free generator, and where the link stops.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.unipile.com\/es\/api-whatsapp-link\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained - Unipile\" \/>\n<meta property=\"og:description\" content=\"A WhatsApp link is a URL, not an API. Get the exact wa.me and api.whatsapp.com\/send formats, the text parameter, a free generator, and where the link stops.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.unipile.com\/es\/api-whatsapp-link\/\" \/>\n<meta property=\"og:site_name\" content=\"Unipile\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/unipilefr\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-20T07:41:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-07T08:42:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/04\/wa-05-link-api-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Damien Girardeau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@UnipileAPI\" \/>\n<meta name=\"twitter:site\" content=\"@UnipileAPI\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Damien Girardeau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/\"},\"author\":{\"name\":\"Damien Girardeau\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/person\\\/a2ac44e22bdc27d497ce8b58716a673e\"},\"headline\":\"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained\",\"datePublished\":\"2025-10-20T07:41:43+00:00\",\"dateModified\":\"2026-08-07T08:42:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/\"},\"wordCount\":3407,\"publisher\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/api-whatsapp-link-featured.png\",\"articleSection\":[\"API Guidelines\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/\",\"name\":\"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained - Unipile\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/api-whatsapp-link-featured.png\",\"datePublished\":\"2025-10-20T07:41:43+00:00\",\"dateModified\":\"2026-08-07T08:42:35+00:00\",\"description\":\"A WhatsApp link is a URL, not an API. Get the exact wa.me and api.whatsapp.com\\\/send formats, the text parameter, a free generator, and where the link stops.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/api-whatsapp-link-featured.png\",\"contentUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/api-whatsapp-link-featured.png\",\"width\":2400,\"height\":1600,\"caption\":\"The wa.me click-to-chat link format, and the limits a URL cannot cross\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/api-whatsapp-link\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.unipile.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#website\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/\",\"name\":\"Unipile\",\"description\":\"Integrate Messaging &amp; Email, Connect with Ease via API\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.unipile.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\",\"name\":\"Unipile\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/logo-unipile.png\",\"contentUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/logo-unipile.png\",\"width\":200,\"height\":49,\"caption\":\"Unipile\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/unipilefr\",\"https:\\\/\\\/x.com\\\/UnipileAPI\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/unipile\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/person\\\/a2ac44e22bdc27d497ce8b58716a673e\",\"name\":\"Damien Girardeau\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"caption\":\"Damien Girardeau\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained - Unipile","description":"A WhatsApp link is a URL, not an API. Get the exact wa.me and api.whatsapp.com\/send formats, the text parameter, a free generator, and where the link stops.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.unipile.com\/es\/api-whatsapp-link\/","og_locale":"es_ES","og_type":"article","og_title":"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained - Unipile","og_description":"A WhatsApp link is a URL, not an API. Get the exact wa.me and api.whatsapp.com\/send formats, the text parameter, a free generator, and where the link stops.","og_url":"https:\/\/www.unipile.com\/es\/api-whatsapp-link\/","og_site_name":"Unipile","article_publisher":"https:\/\/www.facebook.com\/unipilefr","article_published_time":"2025-10-20T07:41:43+00:00","article_modified_time":"2026-08-07T08:42:35+00:00","og_image":[{"width":2400,"height":1600,"url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/04\/wa-05-link-api-1.png","type":"image\/png"}],"author":"Damien Girardeau","twitter_card":"summary_large_image","twitter_creator":"@UnipileAPI","twitter_site":"@UnipileAPI","twitter_misc":{"Escrito por":"Damien Girardeau","Tiempo de lectura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/#article","isPartOf":{"@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/"},"author":{"name":"Damien Girardeau","@id":"https:\/\/www.unipile.com\/#\/schema\/person\/a2ac44e22bdc27d497ce8b58716a673e"},"headline":"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained","datePublished":"2025-10-20T07:41:43+00:00","dateModified":"2026-08-07T08:42:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/"},"wordCount":3407,"publisher":{"@id":"https:\/\/www.unipile.com\/#organization"},"image":{"@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/api-whatsapp-link-featured.png","articleSection":["API Guidelines"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/","url":"https:\/\/www.unipile.com\/api-whatsapp-link\/","name":"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained - Unipile","isPartOf":{"@id":"https:\/\/www.unipile.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/#primaryimage"},"image":{"@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/api-whatsapp-link-featured.png","datePublished":"2025-10-20T07:41:43+00:00","dateModified":"2026-08-07T08:42:35+00:00","description":"A WhatsApp link is a URL, not an API. Get the exact wa.me and api.whatsapp.com\/send formats, the text parameter, a free generator, and where the link stops.","breadcrumb":{"@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.unipile.com\/api-whatsapp-link\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/#primaryimage","url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/api-whatsapp-link-featured.png","contentUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/api-whatsapp-link-featured.png","width":2400,"height":1600,"caption":"The wa.me click-to-chat link format, and the limits a URL cannot cross"},{"@type":"BreadcrumbList","@id":"https:\/\/www.unipile.com\/api-whatsapp-link\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.unipile.com\/"},{"@type":"ListItem","position":2,"name":"WhatsApp Link API: wa.me &amp; api.whatsapp.com Explained"}]},{"@type":"WebSite","@id":"https:\/\/www.unipile.com\/#website","url":"https:\/\/www.unipile.com\/","name":"Unipile","description":"Integre la mensajer\u00eda y el correo electr\u00f3nico, con\u00e9ctese f\u00e1cilmente mediante API","publisher":{"@id":"https:\/\/www.unipile.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.unipile.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.unipile.com\/#organization","name":"Unipile","url":"https:\/\/www.unipile.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.unipile.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2021\/05\/logo-unipile.png","contentUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2021\/05\/logo-unipile.png","width":200,"height":49,"caption":"Unipile"},"image":{"@id":"https:\/\/www.unipile.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/unipilefr","https:\/\/x.com\/UnipileAPI","https:\/\/www.linkedin.com\/company\/unipile\/"]},{"@type":"Person","@id":"https:\/\/www.unipile.com\/#\/schema\/person\/a2ac44e22bdc27d497ce8b58716a673e","name":"Damien Girardeau","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","caption":"Damien Girardeau"}}]}},"_links":{"self":[{"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/posts\/275019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/comments?post=275019"}],"version-history":[{"count":27,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/posts\/275019\/revisions"}],"predecessor-version":[{"id":279711,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/posts\/275019\/revisions\/279711"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/media\/279716"}],"wp:attachment":[{"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/media?parent=275019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/categories?post=275019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/tags?post=275019"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/www.unipile.com\/es\/wp-json\/wp\/v2\/post_folder?post=275019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}