{"_id":"@abra-promotions/webhooks-for-tapcart","name":"@abra-promotions/webhooks-for-tapcart","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@abra-promotions/webhooks-for-tapcart","version":"1.0.1","type":"module","description":"Abra webhooks for enabling abra promotions inside the Tapcart platform","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","build:watch":"rollup -c -w","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build","test":"echo \"No tests specified\" && exit 0","lint":"eslint --config eslint.config.mjs src/**/*.js","prettier":"prettier --write src/**/*.js"},"keywords":["tapcart","abra","webhooks","promotions","cart","shopify"],"author":{"name":"Abra"},"license":"MIT","peerDependencies":{"react":">=16.8.0","@tapcart/mobile-components":"^0.7.25"},"devDependencies":{"@eslint/js":"^9.14.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.1","rollup-plugin-dts":"^6.1.0","rimraf":"^5.0.5","eslint":"^9.14.0","prettier":"^3.3.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/abra/tapcart-custom-blocks.git","directory":"npm-package"},"_id":"@abra-promotions/webhooks-for-tapcart@1.0.1","gitHead":"c925bb3988ae0978e488ddad8fd3d499e3d9d70a","bugs":{"url":"https://github.com/abra/tapcart-custom-blocks/issues"},"homepage":"https://github.com/abra/tapcart-custom-blocks#readme","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-NdScLRF0yTuuBnhME5FpmyK0rUJMTcCefDjk4nRSr0unjcPDEiSi8H/4uFUm18GJSjGlq8C2OFOrYehUDcw+jw==","shasum":"0753b24937fd04794cf027fc1f9e4e05245221c5","tarball":"https://registry.npmjs.org/@abra-promotions/webhooks-for-tapcart/-/webhooks-for-tapcart-1.0.1.tgz","fileCount":7,"unpackedSize":527851,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHiooFf1p1wIHtEjXYtg5ycpTH82/0eFhJlTxDA+/NftAiEA02E11AUzz3fFjqF2TTe9HeiqfUXF0DfySxMhLhKe52g="}]},"_npmUser":{"name":"alon-mota-abra","email":"alon@abrapromotions.com"},"directories":{},"maintainers":[{"name":"danielpatricio","email":"daniel@abrapromotions.com"},{"name":"alon-mota-abra","email":"alon@abrapromotions.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/webhooks-for-tapcart_1.0.1_1760634901140_0.796401341955614"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-16T17:15:01.046Z","1.0.1":"2025-10-16T17:15:01.318Z","modified":"2025-10-16T17:15:01.627Z"},"maintainers":[{"name":"danielpatricio","email":"daniel@abrapromotions.com"},{"name":"alon-mota-abra","email":"alon@abrapromotions.com"}],"description":"Abra webhooks for enabling abra promotions inside the Tapcart platform","homepage":"https://github.com/abra/tapcart-custom-blocks#readme","keywords":["tapcart","abra","webhooks","promotions","cart","shopify"],"repository":{"type":"git","url":"git+https://github.com/abra/tapcart-custom-blocks.git","directory":"npm-package"},"author":{"name":"Abra"},"bugs":{"url":"https://github.com/abra/tapcart-custom-blocks/issues"},"license":"MIT","readme":"# @abra/tapcart-webhooks\n\nAbra Tapcart webhook integrations for promotions, cart management, and activation.\n\n## Installation\n\n```bash\nnpm install @abra/tapcart-webhooks\n```\n\n## Usage\n\nuseTapcart, and tapcartData are properties provided by tapcart for every block.\n\n### useAbra\n\nMain hook for Abra promotion logic, use it within tapcart to parse any product into it's discounted version.\n\n```javascript\nimport { useAbra } from \"@abra/tapcart-webhooks\";\n\nconst MyComponent = ({ useTapcart, tapcartData }) => {\n  //Initialize\n  const { abra } = useAbra({ useTapcart, tapcartData });\n\n  // Use  for promotion logic\n  const productWithDiscountedPrice = abra.getProductWithDiscount(product);\n  return <div>...</div>;\n};\n```\n\n### useAbraActivate\n\nHook for activation logic, add it to the homepage, will enable and disable promotions\n\n```javascript\nimport { useAbraActivate } from \"@abra/tapcart-webhooks\";\n\nconst MyComponent = ({ useTapcart, tapcartData }) => {\n  useAbraActivate({\n    useTapcart,\n    tapcartData,\n    discountCode, // (Optional) used for activating private promotions\n    displayToast, // (Optional) whether will show a banner after a promotion is activated\n    redirectPath, // (Optional) Wheather it should redirect to a specific page after activating\n    testDeviceId, // (Optional) Allows activating test promotion code on this device\n    testPromotionCode, // (Optional) Code that will activate on test device\n    autoApplyDiscount, // (Optional) Make it false for automatic discounts\n  });\n\n  return <div>...</div>;\n};\n```\n\n### useAbraCart / AbraCartBlock\n\nCart-specific functionality: control discounts, attributes and gift items. load it in the cart page.\n\n```javascript\nimport { useAbraCart } from \"@abra/tapcart-webhooks\";\n\nconst CartComponent = ({ useTapcart, tapcartData }) => {\n  useAbraCart({ useTapcart, tapcartData });\n  return <div>...</div>;\n};\n```\n\n## Requirements\n\n- React 16.8+\n- @tapcart/mobile-components ^0.7.25\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-c14ef40d4566e46af863de87b70d73fe"}