@beworke/pixel 0.1.0-rc.1 → 0.1.0-rc.10

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 (189) hide show
  1. package/CHANGELOG.md +303 -4
  2. package/README.md +90 -128
  3. package/RELEASE_CANDIDATE.md +218 -101
  4. package/dist/Pixel-BnN86r4X.d.ts +797 -0
  5. package/dist/Pixel-BoUGqCbP.d.mts +797 -0
  6. package/dist/{StorageFactory-CAkJJqVD.d.ts → StorageFactory-BfCArzMM.d.ts} +2 -2
  7. package/dist/{StorageFactory-BhpbB6Jj.d.mts → StorageFactory-C0prtNR7.d.mts} +2 -2
  8. package/dist/browser/index.cjs.js +3 -0
  9. package/dist/browser/index.cjs.js.map +1 -0
  10. package/dist/browser/index.d.mts +71 -0
  11. package/dist/browser/index.d.ts +71 -0
  12. package/dist/browser/index.esm.js +3 -0
  13. package/dist/browser/index.esm.js.map +1 -0
  14. package/dist/browser/pixel.buygoods-checkout.global.js +4 -0
  15. package/dist/browser/pixel.buygoods-checkout.global.js.map +1 -0
  16. package/dist/browser/pixel.buygoods-landing.global.js +4 -0
  17. package/dist/browser/pixel.buygoods-landing.global.js.map +1 -0
  18. package/dist/browser/pixel.global.js +4 -0
  19. package/dist/browser/pixel.global.js.map +1 -0
  20. package/dist/config/index.cjs.js +1 -1
  21. package/dist/config/index.cjs.js.map +1 -1
  22. package/dist/config/index.d.mts +16 -5
  23. package/dist/config/index.d.ts +16 -5
  24. package/dist/config/index.esm.js +1 -1
  25. package/dist/config/index.esm.js.map +1 -1
  26. package/dist/events/index.cjs.js +1 -1
  27. package/dist/events/index.cjs.js.map +1 -1
  28. package/dist/events/index.d.mts +2 -1
  29. package/dist/events/index.d.ts +2 -1
  30. package/dist/events/index.esm.js +1 -1
  31. package/dist/events/index.esm.js.map +1 -1
  32. package/dist/examples/html-script/README.md +21 -55
  33. package/dist/examples/html-script/RELEASE_CANDIDATE.md +39 -26
  34. package/dist/examples/html-script/add-payment-info/README.md +3 -3
  35. package/dist/examples/html-script/add-payment-info/example-add-payment-info-card-autocomplete.html +107 -96
  36. package/dist/examples/html-script/add-payment-info/example-add-payment-info-card-disabled.html +107 -96
  37. package/dist/examples/html-script/add-payment-info/example-add-payment-info-card-fields.html +106 -95
  38. package/dist/examples/html-script/add-payment-info/example-add-payment-info-data-track.html +114 -95
  39. package/dist/examples/html-script/add-payment-info/example-add-payment-info-dedupe.html +106 -95
  40. package/dist/examples/html-script/add-payment-info/example-add-payment-info-manual.html +97 -95
  41. package/dist/examples/html-script/add-payment-info/example-add-payment-info-rules-card.html +106 -95
  42. package/dist/examples/html-script/add-payment-info/example-add-payment-info-security.html +106 -95
  43. package/dist/examples/html-script/add-to-cart/README.md +9 -6
  44. package/dist/examples/html-script/add-to-cart/example-add-to-cart-attribute.html +133 -119
  45. package/dist/examples/html-script/add-to-cart/example-add-to-cart-auto.html +146 -130
  46. package/dist/examples/html-script/add-to-cart/example-add-to-cart-click.html +144 -127
  47. package/dist/examples/html-script/add-to-cart/example-add-to-cart-dedupe.html +133 -119
  48. package/dist/examples/html-script/add-to-cart/example-add-to-cart-link.html +590 -0
  49. package/dist/examples/html-script/add-to-cart/example-add-to-cart-manual.html +124 -116
  50. package/dist/examples/html-script/add-to-cart/example-add-to-cart-order-bump.html +133 -119
  51. package/dist/examples/html-script/add-to-cart/example-add-to-cart-text.html +147 -130
  52. package/dist/examples/html-script/behavior/example-behavior-engagement.html +489 -0
  53. package/dist/examples/html-script/behavior/example-behavior-heartbeat.html +350 -0
  54. package/dist/examples/html-script/behavior/example-behavior-runtime-intelligence.html +433 -0
  55. package/dist/examples/html-script/behavior/example-behavior-viewport.html +397 -0
  56. package/dist/examples/html-script/{example-behavior.html → behavior/example-behavior.html} +23 -17
  57. package/dist/examples/html-script/buygoods/example-buygoods-checkout.html +50 -0
  58. package/dist/examples/html-script/buygoods/ladding.html +184 -0
  59. package/dist/examples/html-script/example-basic.html +1 -1
  60. package/dist/examples/html-script/example-checkout-commerce.html +826 -0
  61. package/dist/examples/html-script/example-conversion.html +42 -49
  62. package/dist/examples/html-script/example-global-factory-classic.html +45 -0
  63. package/dist/examples/html-script/example-global-factory.html +40 -0
  64. package/dist/examples/html-script/example-integration.html +45 -51
  65. package/dist/examples/html-script/example-landing-commerce.html +416 -0
  66. package/dist/examples/html-script/example-runtime-diagnostics.html +108 -0
  67. package/dist/examples/html-script/example-transport.html +70 -63
  68. package/dist/examples/html-script/full-funnel/README.md +64 -0
  69. package/dist/examples/html-script/full-funnel/checkout.html +118 -0
  70. package/dist/examples/html-script/full-funnel/downsell.html +60 -0
  71. package/dist/examples/html-script/full-funnel/landing.html +153 -0
  72. package/dist/examples/html-script/full-funnel/thank-you.html +87 -0
  73. package/dist/examples/html-script/full-funnel/upsell.html +66 -0
  74. package/dist/examples/html-script/initiate-checkout/README.md +6 -6
  75. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-attribute.html +135 -122
  76. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-auto.html +143 -128
  77. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-click.html +144 -128
  78. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-manual.html +127 -120
  79. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-snapshot.html +136 -123
  80. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-submit.html +144 -131
  81. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-text.html +146 -130
  82. package/dist/examples/html-script/internal-checkout/example-cardioclear-checkout.html +103 -0
  83. package/dist/examples/html-script/internal-checkout/example-slimsoda-checkout.html +103 -0
  84. package/dist/examples/html-script/lead/README.md +9 -7
  85. package/dist/examples/html-script/lead/example-lead-trigger-attribute.html +107 -94
  86. package/dist/examples/html-script/lead/example-lead-trigger-auto.html +118 -103
  87. package/dist/examples/html-script/lead/example-lead-trigger-click.html +118 -102
  88. package/dist/examples/html-script/release-candidate.html +219 -107
  89. package/dist/examples/html-script/remove-from-cart/README.md +4 -4
  90. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-attribute.html +134 -121
  91. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-css.html +134 -121
  92. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-dedupe.html +141 -128
  93. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-manual.html +125 -118
  94. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-multi.html +135 -122
  95. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-state.html +136 -123
  96. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-text.html +139 -124
  97. package/dist/examples/html-script/search/README.md +1 -1
  98. package/dist/examples/html-script/search/example-search-attribute.html +107 -99
  99. package/dist/examples/html-script/search/example-search-button-sync.html +107 -99
  100. package/dist/examples/html-script/search/example-search-dedupe.html +107 -99
  101. package/dist/examples/html-script/search/example-search-input.html +108 -99
  102. package/dist/examples/html-script/search/example-search-manual.html +98 -96
  103. package/dist/examples/html-script/search/example-search-submit.html +107 -99
  104. package/dist/examples/html-script/search/example-search-text.html +112 -99
  105. package/dist/examples/html-script/url-context/example-url-context-allowed-domains.html +92 -0
  106. package/dist/examples/html-script/url-context/example-url-context-landing.html +110 -0
  107. package/dist/examples/html-script/url-context/example-url-context-upsell.html +105 -0
  108. package/dist/examples/html-script/url-context/example-url-context.html +205 -0
  109. package/dist/examples/html-script/view-content/README.md +1 -1
  110. package/dist/examples/html-script/view-content/example-view-content-attribute.html +126 -118
  111. package/dist/examples/html-script/view-content/example-view-content-css.html +126 -118
  112. package/dist/examples/html-script/view-content/example-view-content-dedupe.html +126 -118
  113. package/dist/examples/html-script/view-content/example-view-content-empty.html +126 -118
  114. package/dist/examples/html-script/view-content/example-view-content-manual.html +117 -115
  115. package/dist/examples/html-script/view-content/example-view-content-product-card.html +126 -118
  116. package/dist/examples/html-script/view-content/example-view-content-text.html +131 -121
  117. package/dist/examples/release-candidate/README.md +2 -1
  118. package/dist/examples/v2/README.md +16 -13
  119. package/dist/index-B8u_3PGG.d.ts +460 -0
  120. package/dist/index-BxT2d-TK.d.mts +460 -0
  121. package/dist/index.cjs.js +1 -1
  122. package/dist/index.cjs.js.map +1 -1
  123. package/dist/index.d.mts +23 -361
  124. package/dist/index.d.ts +23 -361
  125. package/dist/index.esm.js +1 -1
  126. package/dist/index.esm.js.map +1 -1
  127. package/dist/pixel-DNGbAN5C.d.ts +871 -0
  128. package/dist/pixel-_BSDpx4M.d.mts +871 -0
  129. package/dist/pixel-default-config-BMYaqs7i.d.ts +21 -0
  130. package/dist/pixel-default-config-DLRya1tl.d.mts +21 -0
  131. package/dist/pixel-settings-D-t9zQb4.d.ts +40 -0
  132. package/dist/pixel-settings-DGxl0MVm.d.mts +40 -0
  133. package/dist/runtime/index.cjs.js +1 -1
  134. package/dist/runtime/index.cjs.js.map +1 -1
  135. package/dist/runtime/index.d.mts +19 -26
  136. package/dist/runtime/index.d.ts +19 -26
  137. package/dist/runtime/index.esm.js +1 -1
  138. package/dist/runtime/index.esm.js.map +1 -1
  139. package/dist/services/index.cjs.js +1 -1
  140. package/dist/services/index.cjs.js.map +1 -1
  141. package/dist/services/index.d.mts +14 -6
  142. package/dist/services/index.d.ts +14 -6
  143. package/dist/services/index.esm.js +1 -1
  144. package/dist/services/index.esm.js.map +1 -1
  145. package/dist/types-B-Nzagpk.d.mts +19 -0
  146. package/dist/types-D0KVsgzs.d.mts +293 -0
  147. package/dist/types-D3kJ9bfT.d.ts +293 -0
  148. package/dist/types-Dfi9C49l.d.ts +19 -0
  149. package/dist/url-context-Ck2LK18V.d.mts +87 -0
  150. package/dist/url-context-Ck2LK18V.d.ts +87 -0
  151. package/dist/v2/global.global.js +1 -1
  152. package/dist/v2/global.global.js.map +1 -1
  153. package/dist/v2/index.cjs.js +1 -1
  154. package/dist/v2/index.cjs.js.map +1 -1
  155. package/dist/v2/index.d.mts +26 -6
  156. package/dist/v2/index.d.ts +26 -6
  157. package/dist/v2/index.esm.js +1 -1
  158. package/dist/v2/index.esm.js.map +1 -1
  159. package/docs/public/README.md +80 -0
  160. package/docs/public/api/exports.md +55 -0
  161. package/docs/public/api/pixel.md +86 -0
  162. package/docs/public/configuration/commerce.md +44 -0
  163. package/docs/public/configuration/modules.md +63 -0
  164. package/docs/public/configuration/overview.md +85 -0
  165. package/docs/public/configuration/transport.md +127 -0
  166. package/docs/public/events/catalog.md +67 -0
  167. package/docs/public/getting-started/installation.md +87 -0
  168. package/docs/public/getting-started/quick-start.md +142 -0
  169. package/docs/public/getting-started/react-nextjs.md +78 -0
  170. package/docs/public/getting-started/script-tag.md +94 -0
  171. package/docs/public/guides/funnel-checkout.md +52 -0
  172. package/docs/public/guides/funnel-downsell.md +53 -0
  173. package/docs/public/guides/funnel-full.md +64 -0
  174. package/docs/public/guides/funnel-landing.md +70 -0
  175. package/docs/public/guides/funnel-thank-you.md +48 -0
  176. package/docs/public/guides/funnel-upsell.md +72 -0
  177. package/docs/public/limitations.md +33 -0
  178. package/docs/public/privacy/limitations.md +33 -0
  179. package/docs/public/release-candidate/validation.md +42 -0
  180. package/docs/public/troubleshooting.md +56 -0
  181. package/package.json +38 -20
  182. package/dist/index-DUfFzniE.d.mts +0 -274
  183. package/dist/index-DUfFzniE.d.ts +0 -274
  184. package/dist/pixel-CbeF25mD.d.mts +0 -555
  185. package/dist/pixel-CbeF25mD.d.ts +0 -555
  186. package/dist/pixel-default-config-1VgLFOiL.d.mts +0 -5
  187. package/dist/pixel-default-config-Bxb-Vdd8.d.ts +0 -5
  188. package/dist/types-CTpRvFKZ.d.ts +0 -71
  189. package/dist/types-DGlBdsAy.d.mts +0 -71
@@ -0,0 +1,103 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Pixel — CardioClear checkout (internal)</title>
7
+ <script src="https://unpkg.com/@beworke/pixel@latest/dist/browser/pixel.global.js"></script>
8
+ </head>
9
+
10
+ <body>
11
+ <h1>Pixel — CardioClear checkout</h1>
12
+ <p>
13
+ Checkout interno (mesmo snippet do SlimSoda). PAGE_VIEW no init ·
14
+ ADD_TO_CART em <code>#email</code> + <code>#phone</code> ·
15
+ ADD_PAYMENT_INFO em <code>[data-checkout]</code> (“Pay Now”) · HEARTBEAT.
16
+ Session pública em <code>hcid</code>.
17
+ </p>
18
+ <form id="checkout-form">
19
+ <label>email <input id="email" name="email" type="email" /></label>
20
+ <label>phone <input id="phone" name="phone" type="tel" /></label>
21
+ <button class="complete pay-now" type="button" data-checkout="true">Pay Now</button>
22
+ </form>
23
+ <pre id="status">aguardando init…</pre>
24
+
25
+ <script>
26
+ Pixel({
27
+ identity: {
28
+ pixelId: 'pix_7704308',
29
+ },
30
+ app: {
31
+ source: 'hwaffiliate',
32
+ target: 'checkout',
33
+ platform: 'internal-checkout',
34
+ },
35
+ modules: {
36
+ core: {
37
+ pageView: { enabled: true },
38
+ urlContext: {
39
+ enabled: true,
40
+ managedParams: [
41
+ {
42
+ key: 'public_session',
43
+ param: 'hcid',
44
+ mode: 'read_write',
45
+ writeStrategy: 'replaceState',
46
+ generator: { type: 'public_id', prefix: 'sid' },
47
+ persistence: { enabled: true },
48
+ },
49
+ ],
50
+ linkDecoration: { enabled: false },
51
+ },
52
+ },
53
+ conversion: {
54
+ auto: {
55
+ detectors: {
56
+ lead: { enabled: false },
57
+ removeFromCart: { enabled: false },
58
+ purchase: { enabled: false },
59
+ search: { enabled: false },
60
+ viewContent: { enabled: false },
61
+ initiateCheckout: { enabled: false },
62
+ addToCart: {
63
+ enabled: true,
64
+ sources: [
65
+ {
66
+ name: 'internal-email-phone',
67
+ type: 'form',
68
+ fireOnce: true,
69
+ selectorForm: {
70
+ fields: ['email', 'phone'],
71
+ mode: 'all',
72
+ trigger: 'auto',
73
+ debounceMs: 300,
74
+ fireOnce: true,
75
+ },
76
+ },
77
+ ],
78
+ },
79
+ addPaymentInfo: {
80
+ enabled: true,
81
+ sources: [
82
+ {
83
+ name: 'internal-pay',
84
+ type: 'selector',
85
+ selector: '[data-checkout]',
86
+ selectorType: 'css',
87
+ trigger: 'click',
88
+ fireOnce: true,
89
+ },
90
+ ],
91
+ },
92
+ },
93
+ },
94
+ },
95
+ behavior: {
96
+ enabled: true,
97
+ heartbeat: { enabled: true },
98
+ },
99
+ },
100
+ });
101
+ </script>
102
+ </body>
103
+ </html>
@@ -0,0 +1,103 @@
1
+ <!doctype html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Pixel — SlimSoda checkout (internal)</title>
7
+ <script src="https://unpkg.com/@beworke/pixel@latest/dist/browser/pixel.global.js"></script>
8
+ </head>
9
+
10
+ <body>
11
+ <h1>Pixel — SlimSoda checkout</h1>
12
+ <p>
13
+ Checkout interno (mesmo snippet do CardioClear). PAGE_VIEW no init ·
14
+ ADD_TO_CART em <code>#email</code> + <code>#phone</code> ·
15
+ ADD_PAYMENT_INFO em <code>[data-checkout]</code> (“ORDER NOW”) · HEARTBEAT.
16
+ Session pública em <code>hcid</code>.
17
+ </p>
18
+ <form id="checkout-form">
19
+ <label>email <input id="email" name="email" type="email" /></label>
20
+ <label>phone <input id="phone" name="phone" type="tel" /></label>
21
+ <button class="sp-cta" type="button" data-checkout="true">ORDER NOW</button>
22
+ </form>
23
+ <pre id="status">aguardando init…</pre>
24
+
25
+ <script>
26
+ Pixel({
27
+ identity: {
28
+ pixelId: 'pix_7704308',
29
+ },
30
+ app: {
31
+ source: 'hwaffiliate',
32
+ target: 'checkout',
33
+ platform: 'internal-checkout',
34
+ },
35
+ modules: {
36
+ core: {
37
+ pageView: { enabled: true },
38
+ urlContext: {
39
+ enabled: true,
40
+ managedParams: [
41
+ {
42
+ key: 'public_session',
43
+ param: 'hcid',
44
+ mode: 'read_write',
45
+ writeStrategy: 'replaceState',
46
+ generator: { type: 'public_id', prefix: 'sid' },
47
+ persistence: { enabled: true },
48
+ },
49
+ ],
50
+ linkDecoration: { enabled: false },
51
+ },
52
+ },
53
+ conversion: {
54
+ auto: {
55
+ detectors: {
56
+ lead: { enabled: false },
57
+ removeFromCart: { enabled: false },
58
+ purchase: { enabled: false },
59
+ search: { enabled: false },
60
+ viewContent: { enabled: false },
61
+ initiateCheckout: { enabled: false },
62
+ addToCart: {
63
+ enabled: true,
64
+ sources: [
65
+ {
66
+ name: 'internal-email-phone',
67
+ type: 'form',
68
+ fireOnce: true,
69
+ selectorForm: {
70
+ fields: ['email', 'phone'],
71
+ mode: 'all',
72
+ trigger: 'auto',
73
+ debounceMs: 300,
74
+ fireOnce: true,
75
+ },
76
+ },
77
+ ],
78
+ },
79
+ addPaymentInfo: {
80
+ enabled: true,
81
+ sources: [
82
+ {
83
+ name: 'internal-pay',
84
+ type: 'selector',
85
+ selector: '[data-checkout]',
86
+ selectorType: 'css',
87
+ trigger: 'click',
88
+ fireOnce: true,
89
+ },
90
+ ],
91
+ },
92
+ },
93
+ },
94
+ },
95
+ behavior: {
96
+ enabled: true,
97
+ heartbeat: { enabled: true },
98
+ },
99
+ },
100
+ });
101
+ </script>
102
+ </body>
103
+ </html>
@@ -6,20 +6,22 @@ Cada HTML valida **um** comportamento. Abra um de cada vez.
6
6
 
7
7
  | Arquivo | Trigger | Contexto | Detector |
8
8
  |---------|---------|----------|----------|
9
- | [`example-lead-trigger-click.html`](./example-lead-trigger-click.html) | `click` | Newsletter — inscrição explícita | `ConfiguredForm` + `selectorForm` |
10
- | [`example-lead-trigger-auto.html`](./example-lead-trigger-auto.html) | `auto` | Checkout — contato preenchido | `ConfiguredForm` + `selectorForm` |
11
- | [`example-lead-trigger-attribute.html`](./example-lead-trigger-attribute.html) | clique no seletor | Atributo `data-track="lead"` | `ConfiguredSelector` (sem `selectorForm`) |
9
+ | [`example-lead-trigger-click.html`](./example-lead-trigger-click.html) | `click` | Newsletter — inscrição explícita | `ConfiguredForm` + source `type: form` |
10
+ | [`example-lead-trigger-auto.html`](./example-lead-trigger-auto.html) | `auto` | Checkout — contato preenchido | `ConfiguredForm` + source `type: form` |
11
+ | [`example-lead-trigger-attribute.html`](./example-lead-trigger-attribute.html) | clique no seletor | Atributo `data-track="lead"` | `ConfiguredSelector` (source `type: selector`) |
12
12
 
13
13
  ### Como abrir
14
14
 
15
- 1. Na raiz: `npm run build` (ou use `dist/v2/global.global.js` já gerado)
16
- 2. Abra o HTML (live server / file)
17
- 3. Script: `../../dist/v2/global.global.js`
15
+ 1. Na raiz: `npm run build` (gera `dist/v2/global.global.js`)
16
+ 2. Abra o HTML (Live Server na raiz do repo, ou `file://`)
17
+ 3. Script nos HTMLs: `../../../dist/v2/global.global.js` (3 níveis — pasta `lead/`)
18
+
19
+ Se o pill ficar **offline** e Active detectors vazio, o bundle não carregou (`window.PixelV2` undefined).
18
20
 
19
21
  ### Regras rápidas
20
22
 
21
23
  - **Click (newsletter):** `mode: 'all'` — email **e** phone + clique no CTA.
22
24
  - **Auto (checkout):** `mode: 'all'` — dispara no `input`/`change` quando ambos estão ok (`fireOnce`).
23
- - **Atributo:** sem `selectorForm` — clique em `[data-track="lead"]` + extract do form pai (email **ou** phone **ou** name).
25
+ - **Atributo:** source `type: selector` — clique em `[data-track="lead"]` + extract do form pai (email **ou** phone **ou** name).
24
26
 
25
27
  Demais eventos de commerce ficam desabilitados nestes playgrounds.
@@ -314,7 +314,7 @@
314
314
  </div>
315
315
  </div>
316
316
 
317
- <script src="../../dist/v2/global.global.js"></script>
317
+ <script src="../../../v2/global.global.js"></script>
318
318
  <script>
319
319
  const { Pixel, DEFAULT_PIXEL_CONFIG } = window.PixelV2;
320
320
  const API_ENDPOINT =
@@ -338,10 +338,19 @@
338
338
 
339
339
  function leadDetectorConfig() {
340
340
  return {
341
- enabled: true,
342
- selector: ['[data-track="lead"]'],
343
- selectorType: 'css',
344
- };
341
+ enabled: true,
342
+ sources: [
343
+ {
344
+ name: 'lead-selector',
345
+ type: 'selector',
346
+ selector: [
347
+ '[data-track=\'lead\']'
348
+ ],
349
+ selectorType: 'css',
350
+ trigger: 'click'
351
+ }
352
+ ]
353
+ };
345
354
  }
346
355
 
347
356
  function buildConfig() {
@@ -355,11 +364,87 @@
355
364
  debug: true,
356
365
  },
357
366
  transport: {
358
- ...DEFAULT_PIXEL_CONFIG.transport,
359
- apiEndpoint: API_ENDPOINT,
360
- timeoutMs: 10000,
367
+ ...base.transport,
368
+ enabled: true,
369
+ sender: { mode: 'internal', baseUrl: API_ENDPOINT },
370
+ persistence: { enabled: true },
371
+ replay: { enabled: true },
372
+ ordering: { enabled: true },
373
+ coordination: { enabled: true },
374
+ circuitBreaker: {
375
+ enabled: true,
376
+ failureThreshold: 5,
377
+ resetTimeoutMs: 30000,
378
+ halfOpenMaxAttempts: 2,
379
+ },
380
+ backpressure: {
381
+ enabled: true,
382
+ maxQueueSize: 500,
383
+ policy: 'drop_oldest',
384
+ sampleRate: 0.5,
385
+ },
386
+ deadLetter: { enabled: true, maxEntries: 200 },
387
+ compression: { enabled: true, strategy: 'identity' },
388
+ retry: {
389
+ enabled: true,
390
+ maxAttempts: 4,
391
+ baseDelayMs: 500,
392
+ maxDelayMs: 4000,
393
+ multiplier: 2,
394
+ },
395
+ batch: {
396
+ enabled: true,
397
+ batchSize: 10,
398
+ maxWaitMs: 5000,
399
+ },
400
+ timeout: { enabled: true, timeoutMs: 10000 },
401
+ offline: { enabled: true },
402
+ flush: {
403
+ enabled: true,
404
+ flushOnDestroy: true,
405
+ prepareUnloadHooks: true,
406
+ },
361
407
  },
362
408
  identity: { ...base.identity, pixelId: PIXEL_ID },
409
+ commerce: {
410
+ enabled: true,
411
+ currency: 'BRL',
412
+ catalog: { products: [] },
413
+ cart: {
414
+ mode: 'single_product',
415
+ initialItems: [],
416
+ calculateValueFrom: 'cart',
417
+ allowDynamicItems: true,
418
+ },
419
+ mappings: {
420
+ attributes: {
421
+ productId: ['data-product-id'],
422
+ productName: ['data-product-name'],
423
+ price: ['data-product-price'],
424
+ quantity: ['data-quantity'],
425
+ currency: ['data-currency'],
426
+ },
427
+ fields: {
428
+ email: ['email', 'customerEmail'],
429
+ phone: ['phone', 'telefone', 'customerPhone'],
430
+ productId: ['productId'],
431
+ productName: ['productName'],
432
+ price: ['price'],
433
+ quantity: ['quantity'],
434
+ currency: ['currency'],
435
+ },
436
+ },
437
+ enrichment: {
438
+ pageView: { enabled: false, source: 'cart' },
439
+ viewContent: { enabled: true, source: 'event_or_cart' },
440
+ lead: { enabled: false, source: 'event_or_cart' },
441
+ addToCart: { enabled: true, source: 'event_or_cart' },
442
+ removeFromCart: { enabled: true, source: 'event_or_cart' },
443
+ initiateCheckout: { enabled: true, source: 'cart' },
444
+ addPaymentInfo: { enabled: true, source: 'cart' },
445
+ purchase: { enabled: true, source: 'cart' },
446
+ }
447
+ },
363
448
  modules: {
364
449
  ...base.modules,
365
450
  core: {
@@ -374,103 +459,31 @@
374
459
  },
375
460
  behavior: { ...base.modules.behavior, enabled: false },
376
461
  privacy: { ...base.modules.privacy, enabled: false },
377
- transport: {
378
- enabled: true,
379
- mockSender: { enabled: false },
380
- sender: { mode: 'http' },
381
- persistence: { enabled: true },
382
- replay: { enabled: true },
383
- ordering: { enabled: true },
384
- coordination: { enabled: true },
385
- circuitBreaker: {
386
- enabled: true,
387
- failureThreshold: 5,
388
- resetTimeoutMs: 30000,
389
- halfOpenMaxAttempts: 2,
390
- },
391
- backpressure: {
392
- enabled: true,
393
- maxQueueSize: 500,
394
- policy: 'drop_oldest',
395
- sampleRate: 0.5,
396
- },
397
- deadLetter: { enabled: true, maxEntries: 200 },
398
- compression: { enabled: true, strategy: 'identity' },
399
- retry: {
400
- enabled: true,
401
- maxAttempts: 4,
402
- baseDelayMs: 500,
403
- maxDelayMs: 4000,
404
- multiplier: 2,
405
- },
406
- batch: {
407
- enabled: true,
408
- batchSize: 10,
409
- flushIntervalMs: 2000,
410
- maxWaitMs: 5000,
411
- },
412
- timeout: { enabled: true, timeoutMs: 10000 },
413
- offline: { enabled: true },
414
- flush: {
415
- enabled: true,
416
- flushIntervalMs: 2000,
417
- flushOnDestroy: true,
418
- prepareUnloadHooks: true,
419
- },
420
- },
421
462
  integrations: { ...base.modules.integrations, enabled: false },
422
463
  conversion: {
423
464
  enabled: true,
424
- commerce: {
425
- currency: 'BRL',
426
- catalog: { products: [] },
427
- checkout: {
428
- mode: 'single_product',
429
- selectedItems: [],
430
- calculateValueFrom: 'selected_items',
431
- allowDynamicItems: true,
432
- },
433
- mappings: {
434
- attributes: {
435
- productId: ['data-product-id'],
436
- productName: ['data-product-name'],
437
- price: ['data-product-price'],
438
- quantity: ['data-quantity'],
439
- currency: ['data-currency'],
440
- },
441
- fields: {
442
- email: ['email', 'customerEmail'],
443
- phone: ['phone', 'telefone', 'customerPhone'],
444
- productId: ['productId'],
445
- productName: ['productName'],
446
- price: ['price'],
447
- quantity: ['quantity'],
448
- currency: ['currency'],
449
- },
450
- },
451
- },
452
465
  manual: {
453
466
  pageView: { enabled: false },
454
- purchase: { enabled: false },
467
+ purchase: { enabled: false, sources: [] },
455
468
  lead: { enabled: true },
456
- addToCart: { enabled: false },
457
- removeFromCart: { enabled: false },
458
- initiateCheckout: { enabled: false },
459
- addPaymentInfo: { enabled: false },
460
- search: { enabled: false },
461
- viewContent: { enabled: false },
469
+ addToCart: { enabled: false, sources: [] },
470
+ removeFromCart: { enabled: false, sources: [] },
471
+ initiateCheckout: { enabled: false, sources: [] },
472
+ addPaymentInfo: { enabled: false, sources: [] },
473
+ search: { enabled: false, sources: [] },
474
+ viewContent: { enabled: false, sources: [] },
462
475
  },
463
476
  auto: {
464
477
  enabled: true,
465
478
  detectors: {
466
479
  lead: leadDetectorConfig(),
467
- purchase: { enabled: false },
468
- addToCart: { enabled: false },
469
- removeFromCart: { enabled: false },
470
- initiateCheckout: { enabled: false },
471
- addPaymentInfo: { enabled: false },
472
- search: { enabled: false },
473
- viewContent: { enabled: false },
480
+ purchase: { enabled: false, sources: [] },
481
+ addToCart: { enabled: false, sources: [] },
482
+ removeFromCart: { enabled: false, sources: [] },
483
+ initiateCheckout: { enabled: false, sources: [] },
484
+ addPaymentInfo: { enabled: false, sources: [] },
485
+ search: { enabled: false, sources: [] },
486
+ viewContent: { enabled: false, sources: [] },
474
487
  },
475
488
  },
476
489
  rules: {