{"id":21613,"date":"2026-06-04T16:39:56","date_gmt":"2026-06-04T14:39:56","guid":{"rendered":"https:\/\/www.drugshortage.ch\/?page_id=21613"},"modified":"2026-06-05T11:55:25","modified_gmt":"2026-06-05T09:55:25","slug":"atc-abonnement","status":"publish","type":"page","link":"https:\/\/www.drugshortage.ch\/index.php\/atc-abonnement\/","title":{"rendered":"ATC-abonnement"},"content":{"rendered":"\n<!-- ============================================================\n     ATC-Code Abonnement \u2013 Registrierung\n     Seite: \"atc-abonnement\" (\u00f6ffentlich)\n     ============================================================ -->\n<style>\n  #atcreg-outer { width:100%; max-width:560px; box-sizing:border-box; font-family:'Segoe UI',Arial,sans-serif; font-size:13px; color:#2d3748; margin:0 auto; }\n  .atcreg-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:28px; box-shadow:0 1px 4px rgba(0,0,0,.06); }\n  .atcreg-title { font-size:18px; font-weight:700; color:#1a202c; margin-bottom:6px; }\n  .atcreg-sub { font-size:13px; color:#718096; margin-bottom:22px; line-height:1.6; }\n\n  \/* Tiers *\/\n  .atcreg-tiers { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }\n  .atcreg-tier {\n    flex:1; min-width:140px; border:2px solid #e2e8f0; border-radius:10px;\n    padding:14px 16px; cursor:pointer; transition:all .15s; position:relative;\n  }\n  .atcreg-tier:hover { border-color:#e53e3e; }\n  .atcreg-tier.selected { border-color:#e53e3e; background:#fff5f5; }\n  .atcreg-tier-name { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#718096; margin-bottom:4px; }\n  .atcreg-tier-price { font-size:20px; font-weight:800; color:#1a202c; }\n  .atcreg-tier-price sub { font-size:11px; font-weight:400; color:#718096; vertical-align:baseline; }\n  .atcreg-tier-req { font-size:11px; color:#718096; margin:4px 0 8px; }\n  .atcreg-tier-features { list-style:none; padding:0; margin:0; }\n  .atcreg-tier-features li { font-size:11px; color:#4a5568; padding:1px 0; }\n  .atcreg-tier-features li::before { content:'\u2713 '; color:#276749; font-weight:700; }\n  .atcreg-badge { position:absolute; top:-9px; left:12px; background:#e53e3e; color:#fff; font-size:9px; font-weight:700; padding:2px 8px; border-radius:8px; }\n\n  \/* Form *\/\n  .atcreg-label { font-size:11px; font-weight:700; color:#718096; text-transform:uppercase; letter-spacing:.4px; display:block; margin-bottom:5px; }\n  .atcreg-input { width:100%; padding:10px 13px; border:1.5px solid #e2e8f0; border-radius:8px; font-size:13px; outline:none; transition:border-color .2s; }\n  .atcreg-input:focus { border-color:#e53e3e; box-shadow:0 0 0 3px rgba(229,62,62,.08); }\n  .atcreg-btn { width:100%; padding:12px; border:none; border-radius:8px; background:#e53e3e; color:#fff; font-size:14px; font-weight:700; cursor:pointer; transition:background .2s; margin-top:14px; }\n  .atcreg-btn:hover { background:#c53030; }\n  .atcreg-btn:disabled { opacity:.5; cursor:not-allowed; }\n  .atcreg-spinner { display:inline-block; width:14px; height:14px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:atcregspin .7s linear infinite; vertical-align:middle; margin-right:6px; }\n  @keyframes atcregspin { to { transform:rotate(360deg); } }\n  .atcreg-alert { border-radius:8px; padding:10px 14px; margin-top:12px; font-size:13px; line-height:1.5; }\n  .atcreg-alert-ok  { background:#f0fff4; border:1px solid #9ae6b4; color:#1a4731; }\n  .atcreg-alert-err { background:#fff5f5; border:1px solid #feb2b2; color:#742a2a; }\n  .atcreg-stripe-btn {\n    display:block; width:100%; padding:8px; margin-top:10px;\n    background:#e53e3e; color:#fff; border:none; border-radius:6px;\n    font-size:12px; font-weight:600; cursor:pointer; transition:background .2s;\n  }\n  .atcreg-stripe-btn:hover { background:#c53030; }\n  .atcreg-stripe-btn-pro { background:#1a202c; }\n  .atcreg-stripe-btn-pro:hover { background:#2d3748; }\n  .atcreg-note { font-size:11px; color:#a0aec0; text-align:center; margin-top:10px; }\n<\/style>\n\n<div id=\"atcreg-outer\">\n  <div class=\"atcreg-card\">\n    <div class=\"atcreg-title\">&#x1f514; ATC-Abonnement einrichten<\/div>\n    <div class=\"atcreg-sub\">\n      Erhalten Sie automatische E-Mail-Benachrichtigungen sobald ein neuer Lieferengpass\n      Ihre gew\u00e4hlten ATC-Codes betrifft. Kein Login n\u00f6tig.\n    <\/div>\n\n    <!-- Tier-Wahl -->\n    <div style=\"margin-bottom:14px;\">\n      <label class=\"atcreg-label\">W\u00e4hlen Sie Ihr Abonnement<\/label>\n      <div class=\"atcreg-tiers\">\n        <div class=\"atcreg-tier selected\" id=\"atcreg-tier-free\" onclick=\"atcregWaehle('free')\">\n          <div class=\"atcreg-tier-name\">Free<\/div>\n          <div class=\"atcreg-tier-price\">CHF 0<\/div>\n          <div class=\"atcreg-tier-req\">3 Codes \u00b7 Stufe 5<\/div>\n          <ul class=\"atcreg-tier-features\">\n            <li>Wirkstoff-Ebene<\/li>\n            <li>E-Mail-Benachrichtigung<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"atcreg-tier\" id=\"atcreg-tier-basic\" onclick=\"atcregWaehle('basic')\">\n          <div class=\"atcreg-tier-name\">Basic<\/div>\n          <div class=\"atcreg-tier-price\">CHF 19<sub>\/Mo<\/sub><\/div>\n          <div class=\"atcreg-tier-req\">10 Codes \u00b7 Stufe 4\u20135<\/div>\n          <ul class=\"atcreg-tier-features\">\n            <li>Chemische Ebene<\/li>\n            <li>Wirkstoff-Ebene<\/li>\n            <li>E-Mail-Benachrichtigung<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"atcreg-tier\" id=\"atcreg-tier-pro\" onclick=\"atcregWaehle('pro')\">\n          <div class=\"atcreg-badge\">Empfohlen<\/div>\n          <div class=\"atcreg-tier-name\">Pro<\/div>\n          <div class=\"atcreg-tier-price\">CHF 49<sub>\/Mo<\/sub><\/div>\n          <div class=\"atcreg-tier-req\">5 Codes \u00b7 Stufe 3\u20135<\/div>\n          <ul class=\"atcreg-tier-features\">\n            <li>Pharmakologische Ebene<\/li>\n            <li>Chemische Ebene<\/li>\n            <li>Wirkstoff-Ebene<\/li>\n            <li>E-Mail-Benachrichtigung<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- E-Mail -->\n    <div style=\"margin-bottom:4px;\">\n      <label class=\"atcreg-label\" for=\"atcreg-email\">Ihre E-Mail-Adresse<\/label>\n      <input type=\"email\" class=\"atcreg-input\" id=\"atcreg-email\" placeholder=\"ihre@email.ch\">\n    <\/div>\n\n    <button class=\"atcreg-btn\" id=\"atcreg-btn\" onclick=\"atcregSende()\">\n      Magic Link senden \u2192\n    <\/button>\n\n    <div id=\"atcreg-alert\"><\/div>\n    <div class=\"atcreg-note\">Sie erhalten einen Link per E-Mail um Ihre ATC-Codes zu verwalten \u00b7 Jederzeit k\u00fcndbar<\/div>\n  <\/div>\n<\/div>\n\n<script>\nconst ATCREG_API = \"https:\/\/www.drugshortage.ch\/ds.php?a=abo_registrierung\";\nlet atcregTier = 'free';\n\nfunction atcregWaehle(tier) {\n  atcregTier = tier;\n  ['free','basic','pro'].forEach(function(t) {\n    document.getElementById('atcreg-tier-' + t).classList.toggle('selected', t === tier);\n  });\n}\n\nasync function atcregKaufe(tier, event) {\n  event.stopPropagation();\n  const priceMap = {\n    basic: 'price_1TeixcKZkvHmj4lAfa0hGpYm',\n    pro:   'price_1Teiy1KZkvHmj4lAmxtKdORP'\n  };\n  const btn = event.target;\n  btn.disabled = true;\n  btn.textContent = '&#x23f3; Weiterleitung...';\n  try {\n    const res = await fetch(\"https:\/\/www.drugshortage.ch\/api\/api_checkout.php?action=create\", {\n      method: \"POST\",\n      headers: {\"Content-Type\": \"application\/json\", \"X-Requested-With\": \"XMLHttpRequest\"},\n      body: JSON.stringify({priceId: priceMap[tier], tier: 'atc_' + tier})\n    });\n    const d = await res.json();\n    if (d.url) { window.location.href = d.url; }\n    else {\n      alert(d.error || 'Fehler');\n      btn.disabled = false;\n      btn.textContent = 'Abonnieren';\n    }\n  } catch(e) {\n    alert('Fehler: ' + e);\n    btn.disabled = false;\n  }\n}\n\nasync function atcregSende() {\n  const email = document.getElementById('atcreg-email').value.trim();\n  const btn   = document.getElementById('atcreg-btn');\n  const alert = document.getElementById('atcreg-alert');\n\n  if (!email) {\n    alert.innerHTML = \"<div class='atcreg-alert atcreg-alert-err'>&#x26a0;&#xfe0f; Bitte E-Mail-Adresse eingeben.<\/div>\";\n    return;\n  }\n\n  btn.disabled = true;\n  btn.innerHTML = \"<span class='atcreg-spinner'><\/span> Sende\u2026\";\n  alert.innerHTML = \"\";\n\n  try {\n    const res = await fetch(ATCREG_API + \"&action=atc_magic_link\", {\n      method: \"POST\",\n      headers: {\"Content-Type\": \"application\/json\", \"X-Requested-With\": \"XMLHttpRequest\"},\n      body: JSON.stringify({email: email, tier: atcregTier})\n    });\n    const d = await res.json();\n\n    if (d.ok) {\n      alert.innerHTML = \"<div class='atcreg-alert atcreg-alert-ok'>\" +\n        \"&#x2705; Magic Link gesendet an <strong>\" + email + \"<\/strong><br>\" +\n        \"Bitte pr\u00fcfen Sie Ihr Postfach (auch Spam-Ordner).<\/div>\";\n      document.getElementById('atcreg-email').value = '';\n    } else {\n      alert.innerHTML = \"<div class='atcreg-alert atcreg-alert-err'>&#x274c; \" + (d.fehler || 'Fehler') + \"<\/div>\";\n    }\n  } catch(e) {\n    alert.innerHTML = \"<div class='atcreg-alert atcreg-alert-err'>&#x274c; Fehler: \" + e + \"<\/div>\";\n  }\n\n  btn.disabled = false;\n  btn.innerHTML = \"Magic Link senden \u2192\";\n}\n<\/script>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#x1f514; ATC-Abonnement einrichten Erhalten Sie automatische E-Mail-Benachrichtigungen sobald ein neuer Lieferengpass Ihre gew\u00e4hlten ATC-Codes betrifft. Kein Login n\u00f6tig. W\u00e4hlen Sie Ihr Abonnement Free CHF 0 3 Codes \u00b7 Stufe 5 Wirkstoff-Ebene E-Mail-Benachrichtigung Basic CHF 19\/Mo 10 Codes \u00b7 Stufe 4\u20135 Chemische Ebene Wirkstoff-Ebene E-Mail-Benachrichtigung Empfohlen Pro CHF 49\/Mo 5 Codes \u00b7 Stufe 3\u20135 Pharmakologische Ebene&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-21613","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/comments?post=21613"}],"version-history":[{"count":7,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21613\/revisions"}],"predecessor-version":[{"id":21632,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21613\/revisions\/21632"}],"wp:attachment":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/media?parent=21613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}