@beworke/pixel-bemony 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/README.md +176 -0
  3. package/RELEASE_CANDIDATE.md +37 -0
  4. package/dist/browser/index.cjs.js +2598 -0
  5. package/dist/browser/index.cjs.js.map +1 -0
  6. package/dist/browser/index.d.mts +184 -0
  7. package/dist/browser/index.d.ts +184 -0
  8. package/dist/browser/index.esm.js +2557 -0
  9. package/dist/browser/index.esm.js.map +1 -0
  10. package/dist/browser/pixel-bemony.global.js +9848 -0
  11. package/dist/browser/pixel-bemony.global.js.map +1 -0
  12. package/dist/createBemonyPixel-BGRD66p-.d.mts +474 -0
  13. package/dist/createBemonyPixel-BGRD66p-.d.ts +474 -0
  14. package/dist/index.cjs.js +2154 -0
  15. package/dist/index.cjs.js.map +1 -0
  16. package/dist/index.d.mts +320 -0
  17. package/dist/index.d.ts +320 -0
  18. package/dist/index.esm.js +2081 -0
  19. package/dist/index.esm.js.map +1 -0
  20. package/docs/BACKEND_PURCHASE_AND_REDIRECTS.md +125 -0
  21. package/docs/BROWSER_EVENT_ENRICHMENT.md +116 -0
  22. package/docs/SCENARIOS.md +92 -0
  23. package/docs/SECURITY_LIMITATIONS.md +45 -0
  24. package/docs/TEST_MATRIX.md +39 -0
  25. package/docs/TROUBLESHOOTING.md +81 -0
  26. package/examples/README.md +73 -0
  27. package/examples/browser-bootstrap.html +47 -0
  28. package/examples/checkout-price-code.html +37 -0
  29. package/examples/funnel/donsell/downsell_1.html +130 -0
  30. package/examples/funnel/donsell/downsell_2.html +130 -0
  31. package/examples/funnel/donsell/downsell_3.html +130 -0
  32. package/examples/funnel/offer-page.html +105 -0
  33. package/examples/funnel/upsell/upsell_1.html +130 -0
  34. package/examples/funnel/upsell/upsell_2.html +130 -0
  35. package/examples/funnel/upsell/upsell_3.html +139 -0
  36. package/examples/offer-page-price-code.html +22 -0
  37. package/examples/one-click-price-code.html +38 -0
  38. package/examples/security/checkout-sim.css +408 -0
  39. package/examples/security/checkout-sim.js +414 -0
  40. package/examples/security/one-click/pri_downsell_1.html +85 -0
  41. package/examples/security/one-click/pri_downsell_1a.html +85 -0
  42. package/examples/security/one-click/pri_downsell_1b.html +78 -0
  43. package/examples/security/one-click/pri_downsell_2.html +78 -0
  44. package/examples/security/one-click/pri_downsell_2a.html +78 -0
  45. package/examples/security/one-click/pri_downsell_2b.html +78 -0
  46. package/examples/security/one-click/pri_downsell_3.html +78 -0
  47. package/examples/security/one-click/pri_downsell_3a.html +78 -0
  48. package/examples/security/one-click/pri_downsell_3b.html +78 -0
  49. package/examples/security/one-click/pri_upsell_1.html +78 -0
  50. package/examples/security/one-click/pri_upsell_1a.html +78 -0
  51. package/examples/security/one-click/pri_upsell_1b.html +78 -0
  52. package/examples/security/one-click/pri_upsell_2.html +78 -0
  53. package/examples/security/one-click/pri_upsell_2a.html +78 -0
  54. package/examples/security/one-click/pri_upsell_2b.html +78 -0
  55. package/examples/security/one-click/pri_upsell_3.html +78 -0
  56. package/examples/security/one-click/pri_upsell_3a.html +78 -0
  57. package/examples/security/one-click/pri_upsell_3b.html +78 -0
  58. package/examples/security/one-click/pri_upsell_3c.html +78 -0
  59. package/examples/security/pri1766322.html +333 -0
  60. package/examples/security/pri5529930.html +333 -0
  61. package/examples/security/pri6670988.html +334 -0
  62. package/examples/security/thank-you.html +65 -0
  63. package/examples/sim/funnel-flow.js +258 -0
  64. package/examples/sim/one-click-sim.js +167 -0
  65. package/examples/upsell-price-code.html +41 -0
  66. package/examples/url-context-navigation.html +96 -0
  67. package/package.json +63 -0
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_1b</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 1</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_1b</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 1;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_1b',
62
+ offerId: 'offer_upsell_1b',
63
+ productId: 'product_1',
64
+ price: 47,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_1',
68
+ nextHref: sim.nextAfterUpsellAccept(1),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_2</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 2</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_2</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 2;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_2',
62
+ offerId: 'offer_upsell_2',
63
+ productId: 'product_1',
64
+ price: 67,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_2',
68
+ nextHref: sim.nextAfterUpsellAccept(2),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_2a</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 2</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_2a</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 2;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_2a',
62
+ offerId: 'offer_upsell_2a',
63
+ productId: 'product_1',
64
+ price: 197,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_2',
68
+ nextHref: sim.nextAfterUpsellAccept(2),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_2b</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 2</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_2b</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 2;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_2b',
62
+ offerId: 'offer_upsell_2b',
63
+ productId: 'product_1',
64
+ price: 67,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_2',
68
+ nextHref: sim.nextAfterUpsellAccept(2),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_3</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 3</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_3</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 3;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_3',
62
+ offerId: 'offer_upsell_3',
63
+ productId: 'product_1',
64
+ price: 47,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_3',
68
+ nextHref: sim.nextAfterUpsellAccept(3),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_3a</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 3</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_3a</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 3;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_3a',
62
+ offerId: 'offer_upsell_3a',
63
+ productId: 'product_1',
64
+ price: 497,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_3',
68
+ nextHref: sim.nextAfterUpsellAccept(3),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_3b</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 3</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_3b</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 3;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_3b',
62
+ offerId: 'offer_upsell_3b',
63
+ productId: 'product_1',
64
+ price: 97,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_3',
68
+ nextHref: sim.nextAfterUpsellAccept(3),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Security · One-click Upsell · pri_upsell_3c</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <style>
8
+ body {
9
+ font-family: Georgia, 'Times New Roman', serif;
10
+ max-width: 28rem;
11
+ margin: 0 auto;
12
+ padding: 2rem 1rem;
13
+ background: linear-gradient(165deg, #e8eef0, #f4f1ea);
14
+ color: #17201b;
15
+ line-height: 1.5;
16
+ }
17
+ button {
18
+ width: 100%;
19
+ padding: 0.9rem;
20
+ background: #122019;
21
+ color: #fff;
22
+ border: 0;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ }
26
+ button:disabled { opacity: 0.5; cursor: wait; }
27
+ .pill {
28
+ display: inline-block;
29
+ padding: 0.15rem 0.5rem;
30
+ border-radius: 999px;
31
+ background: #dfe8e2;
32
+ font-size: 0.75rem;
33
+ }
34
+ .pill.ok { background: #c6e6cf; }
35
+ .pill.bad { background: #f0c9c9; }
36
+ pre {
37
+ background: #142019;
38
+ color: #dceee6;
39
+ padding: 0.85rem;
40
+ font-size: 0.72rem;
41
+ overflow: auto;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body>
46
+ <p>Bemony · security (interno)</p>
47
+ <h1>One-click · Upsell 3</h1>
48
+ <p>
49
+ Identidade <code>pri_upsell_3c</code> vem do path da URL (sem
50
+ <code>data-price-code</code>).
51
+ </p>
52
+ <p>Status: <span id="pixel-status" class="pill">Init…</span></p>
53
+ <button type="button" id="confirm" disabled>Confirmar oferta</button>
54
+ <pre id="funnel-debug">aguardando…</pre>
55
+ <script src="../../sim/funnel-flow.js"></script>
56
+ <script>
57
+ (function () {
58
+ var STAGE = 3;
59
+ var sim = window.BemonyFunnelSim;
60
+ window.__ONE_CLICK_SIM__ = {
61
+ label: 'oc-upsell_3c',
62
+ offerId: 'offer_upsell_3c',
63
+ productId: 'product_1',
64
+ price: 37,
65
+ currency: 'USD',
66
+ productType: 'upsell',
67
+ funnelStepId: 'step_upsell_3',
68
+ nextHref: sim.nextAfterUpsellAccept(3),
69
+ };
70
+ })();
71
+ </script>
72
+ <script
73
+ src="../../../dist/browser/pixel-bemony.global.js"
74
+ data-auto-init="false"
75
+ ></script>
76
+ <script src="../../sim/one-click-sim.js"></script>
77
+ </body>
78
+ </html>