{"_id":"@addme/clevertap-coupons","_rev":"7-4f9405eb755586dca72033cb1fe9c2a9","name":"@addme/clevertap-coupons","dist-tags":{"latest":"2.2.0"},"versions":{"1.0.1":{"name":"@addme/clevertap-coupons","version":"1.0.1","keywords":["nestjs","clevertap","coupons","promo"],"license":"UNLICENSED","_id":"@addme/clevertap-coupons@1.0.1","maintainers":[{"name":"kankosal","email":"kosal.web@gmail.com"}],"dist":{"shasum":"2397b3ffb912d29fee0263b11374c4660f5a8ab1","tarball":"https://registry.npmjs.org/@addme/clevertap-coupons/-/clevertap-coupons-1.0.1.tgz","fileCount":38,"integrity":"sha512-gK4cRN4Vq0BZk7RgxIQwwQNlrNT5uZkPnHWP/6tQOjI0UUjkcmwRtdIJ0U8oShQLeLd4IiqsxpRF4gR1BjNSWQ==","signatures":[{"sig":"MEQCID6MqF/yMKonNDKlK3GLiW85uYS/cyaNR/kcqj/nCpn9AiA6IDg4aMA9vtCi9ZSl2E9HFHfc1J2QwZnjdTe3hTYX3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48494},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"52dd4770dc105e33bc35799f043179dd75873401","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"kankosal","email":"kosal.web@gmail.com"},"_npmVersion":"11.12.1","description":"NestJS module for CleverTap Coupon APIs (fetch, validate, apply)","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","typescript":"^5.7.3","@nestjs/core":"^11.0.1","@nestjs/common":"^11.0.1","class-validator":"^0.15.1","reflect-metadata":"^0.2.2","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","class-validator":"^0.14.0 || ^0.15.0","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/clevertap-coupons_1.0.1_1784789476699_0.8894688537054498","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@addme/clevertap-coupons","version":"2.2.0","description":"JavaScript/TypeScript client for CleverTap Coupon APIs — works in any Node.js project","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"engines":{"node":">=18"},"devDependencies":{"typescript":"^5.7.3"},"keywords":["clevertap","coupons","promo","javascript","typescript","node"],"license":"UNLICENSED","gitHead":"52dd4770dc105e33bc35799f043179dd75873401","_id":"@addme/clevertap-coupons@2.2.0","_nodeVersion":"22.21.1","_npmVersion":"11.12.1","dist":{"integrity":"sha512-GgWQgwfy5URBA51GkodnmQHQ1/JtOwMtGFCFJC7jdLPZzs4vmeOeawA/08AFzrT0S9McU8oGpJwvNvNxP83JOg==","shasum":"0d5fdc78bea4364b086b56b1f21b6c94d8bb8a12","tarball":"https://registry.npmjs.org/@addme/clevertap-coupons/-/clevertap-coupons-2.2.0.tgz","fileCount":35,"unpackedSize":20643,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHt4TOZK96h8gzBwGrMEAgoZqldmYEbtYGj+kkP3zw3KAiBjkwt4m+RjZErEVesTxnTr5eb4aesVv9en1Dvs3RVA2w=="}]},"_npmUser":{"name":"kankosal","email":"kosal.web@gmail.com"},"directories":{},"maintainers":[{"name":"kankosal","email":"kosal.web@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clevertap-coupons_2.2.0_1785122202886_0.27144333225643646"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-23T06:51:16.484Z","modified":"2026-07-27T03:16:43.164Z","0.1.0":"2026-07-23T06:44:20.449Z","1.0.0":"2026-07-23T06:47:53.195Z","1.0.1":"2026-07-23T06:51:16.838Z","2.2.0":"2026-07-27T03:16:43.033Z"},"license":"UNLICENSED","keywords":["clevertap","coupons","promo","javascript","typescript","node"],"description":"JavaScript/TypeScript client for CleverTap Coupon APIs — works in any Node.js project","maintainers":[{"name":"kankosal","email":"kosal.web@gmail.com"}],"readme":"# @addme/clevertap-coupons\n\nJavaScript/TypeScript client for [CleverTap Coupon APIs](https://developer.clevertap.com/docs/coupon-apis).\n\n**Zero dependencies.** Works in any Node.js project — Express, Fastify, plain scripts, TypeScript, or JavaScript.\n\nRequires **Node.js 18+** (uses native `fetch`).\n\n## Install\n\n```bash\nnpm install @addme/clevertap-coupons\n```\n\n## JavaScript (CommonJS)\n\n```javascript\nconst {\n  createCleverTapCoupons,\n  CleverTapCouponsError,\n} = require('@addme/clevertap-coupons');\n\nconst coupons = createCleverTapCoupons({\n  accountId: process.env.CLEVERTAP_ACCOUNT_ID,\n  passcode: process.env.CLEVERTAP_PASSCODE,\n  region: 'eu1',\n});\n\nasync function main() {\n  try {\n    const result = await coupons.validateCoupon(\n      { identity: 'user123' },\n      {\n        couponCode: 'FLAT500',\n        order: {\n          orderId: 'order12345',\n          saleAmount: 101,\n          items: [{ productId: '123456', unitPrice: 300, quantity: 3 }],\n        },\n      },\n    );\n    console.log(result);\n  } catch (error) {\n    if (error instanceof CleverTapCouponsError) {\n      console.error(error.message, error.statusCode, error.clevertap);\n    }\n  }\n}\n\nmain();\n```\n\n## JavaScript / TypeScript (ES modules)\n\n```javascript\nimport { createCleverTapCoupons } from '@addme/clevertap-coupons';\n\nconst coupons = createCleverTapCoupons({\n  accountId: process.env.CLEVERTAP_ACCOUNT_ID,\n  passcode: process.env.CLEVERTAP_PASSCODE,\n  region: 'eu1',\n});\n\nawait coupons.fetchCoupons({ identity: 'user123' }, { order: { orderId: 'o1', items: [] } });\n```\n\n## One-off calls (no setup object)\n\n```javascript\nconst { validateCoupon } = require('@addme/clevertap-coupons');\n\nconst config = {\n  accountId: process.env.CLEVERTAP_ACCOUNT_ID,\n  passcode: process.env.CLEVERTAP_PASSCODE,\n  region: 'eu1',\n};\n\nawait validateCoupon(config, { identity: 'user123' }, { couponCode: 'FLAT500', order: { ... } });\n```\n\n## API\n\n| Export | Description |\n|--------|-------------|\n| `createCleverTapCoupons(config)` | Returns `{ fetchCoupons, validateCoupon, applyCoupon }` |\n| `fetchCoupons(config, query, body?)` | Standalone fetch |\n| `validateCoupon(config, query, body)` | Standalone validate |\n| `applyCoupon(config, query, body)` | Standalone redeem/revert |\n| `CleverTapCouponsError` | Error with `statusCode` and `clevertap` details |\n\n## NestJS / Express\n\nThis package is framework-agnostic. Wire it into your framework of choice:\n\n- **NestJS** — wrap `createCleverTapCoupons()` in a provider/module in your app\n- **Express** — call functions inside route handlers\n- **Scripts** — use directly with `node script.js`\n","readmeFilename":"README.md"}