{"_id":"@amplience/dc-integration-middleware","_rev":"10-6553629e10bcc598eeed872a9ba23d05","name":"@amplience/dc-integration-middleware","dist-tags":{"latest":"3.0.0"},"versions":{"2.2.0":{"name":"@amplience/dc-integration-middleware","version":"2.2.0","author":{"name":"Amplience Innovation Team"},"license":"Apache-2.0","_id":"@amplience/dc-integration-middleware@2.2.0","maintainers":[{"name":"rezakalfane","email":"reza.kalfane@gmail.com"},{"name":"rs-amp","email":"rsimpson@amplience.com"},{"name":"techiedarren","email":"npm@dmlee.me"},{"name":"srweeks","email":"sweeks@amplience.com"},{"name":"amplience-admin","email":"operations@amplience.com"},{"name":"petercoulton-human","email":"petercoulton@gmail.com"},{"name":"easen-amp","email":"measen@amplience.com"},{"name":"ccorbett","email":"ccorbett@amplience.com"},{"name":"liliiamykhailova","email":"lmykhailova@amplience.com"},{"name":"gbrown-amp","email":"gbrown@amplience.com"},{"name":"nsmith-amp","email":"nsmith@amplience.com"},{"name":"amp-automation","email":"opssupport@amplience.com"}],"homepage":"https://github.com/amplience/dc-integration-middleware#readme","bugs":{"url":"https://github.com/amplience/dc-integration-middleware/issues"},"dist":{"shasum":"21a6ce5c7a7d0ae6d4eaea412929659130f100e4","tarball":"https://registry.npmjs.org/@amplience/dc-integration-middleware/-/dc-integration-middleware-2.2.0.tgz","fileCount":255,"integrity":"sha512-1kCpXBOrNJpFo3a6h2qlJ+mj+zNHIsogyYOwVVqwocoX+WYUeYu+4FEgXro9Pl8HyCs4IfLIQlCUBJqnxEXWMQ==","signatures":[{"sig":"MEUCIQDOQ2u3h4fvr6Mz0ydgC21YUUuHkZZYaTswIhP5TaClhgIgcgmgTFSadpP7HCeKiX5LbhIfOMN7KPWF3MnTm9SglXI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6219221},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"dc640d2115dcf4711248f9bb744b74897dcc57c4","scripts":{"lint":"eslint","test":"jest --silent --verbose","build":"eslint && npm run clean && tsc","clean":"rimraf dist","server":"nodemon src/server.ts","prepare":"eslint && npm run clean && tsc","version:major":"standard-version --release-as major","version:minor":"standard-version --release-as minor","version:patch":"standard-version --release-as patch","prepare-major-release":"run-s build version:major","prepare-minor-release":"run-s build version:minor","prepare-patch-release":"run-s build version:patch"},"typings":"dist/index.d.ts","_npmUser":{"name":"petercoulton-human","email":"petercoulton@gmail.com"},"repository":{"url":"git+https://github.com/amplience/dc-integration-middleware.git","type":"git"},"_npmVersion":"9.5.0","description":"Amplience Integration Middleware is a service written in `Node.js` that is intended to manage a number of different types of services, including but not limited to:","directories":{},"_nodeVersion":"18.15.0","dependencies":{"qs":"^6.10.3","btoa":"^1.2.1","axios":"^0.27.2","lodash":"^4.17.21","rimraf":"^3.0.2","express":"^4.18.1","slugify":"^1.6.5","form-data":"^4.0.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.2","eslint":"^8.9.0","nodemon":"^2.0.19","ts-jest":"^29.0.5","ts-node":"^10.8.1","typescript":"^4.2.3","@types/jest":"^29.4.0","@types/mime":"^2.0.3","@types/node":"^17.0.41","npm-run-all":"^4.1.5","ts-node-dev":"^2.0.0","@types/lodash":"^4.14.180","@types/connect":"^3.4.35","@types/express":"^4.17.13","@types/fs-extra":"^9.0.13","@types/form-data":"^2.5.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.1","@types/body-parser":"^1.19.2","@types/range-parser":"^1.2.4","@types/serve-static":"^1.13.10","json-stringify-safe":"^5.0.1","@typescript-eslint/parser":"^5.12.1","@types/express-serve-static-core":"^4.17.28","@typescript-eslint/eslint-plugin":"^5.12.1"},"_npmOperationalInternal":{"tmp":"tmp/dc-integration-middleware_2.2.0_1694616716490_0.8727534406301061","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"@amplience/dc-integration-middleware","version":"2.3.1","author":{"name":"Amplience Innovation Team"},"license":"Apache-2.0","_id":"@amplience/dc-integration-middleware@2.3.1","maintainers":[{"name":"sclarke-amplience","email":"sclarke@amplience.com"},{"name":"rezakalfane","email":"reza.kalfane@gmail.com"},{"name":"rs-amp","email":"rsimpson@amplience.com"},{"name":"techiedarren","email":"npm@dmlee.me"},{"name":"srweeks","email":"sweeks@amplience.com"},{"name":"amplience-admin","email":"operations@amplience.com"},{"name":"petercoulton-human","email":"petercoulton@gmail.com"},{"name":"easen-amp","email":"measen@amplience.com"},{"name":"ccorbett","email":"ccorbett@amplience.com"},{"name":"liliiamykhailova","email":"lmykhailova@amplience.com"},{"name":"gbrown-amp","email":"gbrown@amplience.com"},{"name":"nsmith-amp","email":"nsmith@amplience.com"},{"name":"amp-automation","email":"opssupport@amplience.com"}],"homepage":"https://github.com/amplience/dc-integration-middleware#readme","bugs":{"url":"https://github.com/amplience/dc-integration-middleware/issues"},"dist":{"shasum":"6cbcc3df1bd556fd4ff032d15fa9920d51d62cdc","tarball":"https://registry.npmjs.org/@amplience/dc-integration-middleware/-/dc-integration-middleware-2.3.1.tgz","fileCount":257,"integrity":"sha512-mn1BUZYihhezyCvleWYX26wqHXUF2t6TwYH+cBEmvNX4gU/UO/aUueDpR4xlyR+qAFk3aTCU2yGYgQ9B9/TJtQ==","signatures":[{"sig":"MEQCIF7SJJvYdJsTLFfDoZxuaBIEFecRdmJQdaKn7JRksENNAiAe+bF3UKtVV742rYkZU5jLo0fYcCGL8sWGR2mWeGl/pg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6221250},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"448961873162f34008ad86887e57664a098cab22","scripts":{"lint":"eslint","test":"jest --silent --verbose","build":"eslint && npm run clean && tsc","clean":"rimraf dist","server":"nodemon src/server.ts","prepare":"eslint && npm run clean && tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"amp-automation","email":"opssupport@amplience.com"},"repository":{"url":"git+https://github.com/amplience/dc-integration-middleware.git","type":"git"},"_npmVersion":"8.19.4","description":"Amplience Integration Middleware is a service written in `Node.js` that is intended to manage a number of different types of services, including but not limited to:","directories":{},"_nodeVersion":"16.20.2","dependencies":{"qs":"^6.10.3","btoa":"^1.2.1","axios":"^0.27.2","lodash":"^4.17.21","rimraf":"^3.0.2","express":"^4.18.1","slugify":"^1.6.5","form-data":"^4.0.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.2","eslint":"^8.9.0","nodemon":"^2.0.19","ts-jest":"^29.0.5","ts-node":"^10.8.1","typescript":"^4.2.3","@types/jest":"^29.4.0","@types/mime":"^2.0.3","@types/node":"^17.0.41","ts-node-dev":"^2.0.0","@types/lodash":"^4.14.180","@types/connect":"^3.4.35","@types/express":"^4.17.13","@types/fs-extra":"^9.0.13","@types/form-data":"^2.5.0","@types/node-fetch":"^2.6.1","@types/body-parser":"^1.19.2","@types/range-parser":"^1.2.4","@types/serve-static":"^1.13.10","json-stringify-safe":"^5.0.1","@typescript-eslint/parser":"^5.12.1","@types/express-serve-static-core":"^4.17.28","@typescript-eslint/eslint-plugin":"^5.12.1"},"_npmOperationalInternal":{"tmp":"tmp/dc-integration-middleware_2.3.1_1715174833308_0.3994235029665263","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"@amplience/dc-integration-middleware","version":"2.4.0","author":{"name":"Amplience Innovation Team"},"license":"Apache-2.0","_id":"@amplience/dc-integration-middleware@2.4.0","maintainers":[{"name":"amplience-admin","email":"operations@amplience.com"},{"name":"petercoulton-human","email":"petercoulton@gmail.com"},{"name":"easen-amp","email":"measen@amplience.com"},{"name":"ccorbett","email":"ccorbett@amplience.com"},{"name":"gbrown-amp","email":"gbrown@amplience.com"},{"name":"nsmith-amp","email":"nsmith@amplience.com"},{"name":"amp-automation","email":"opssupport@amplience.com"},{"name":"srweeks","email":"sweeks@amplience.com"},{"name":"techiedarren","email":"npm@dmlee.me"},{"name":"rs-amp","email":"rsimpson@amplience.com"},{"name":"amp-adm-srv-npm","email":"amp-adm-srv-npm@amplience.com"},{"name":"gnewso","email":"gnewsome@amplience.com"}],"homepage":"https://github.com/amplience/dc-integration-middleware#readme","bugs":{"url":"https://github.com/amplience/dc-integration-middleware/issues"},"dist":{"shasum":"0a6e0e4147f0c7fe7056d65b869da86d2edc6bf7","tarball":"https://registry.npmjs.org/@amplience/dc-integration-middleware/-/dc-integration-middleware-2.4.0.tgz","fileCount":275,"integrity":"sha512-y0BRyo5VBKiDK5J0GykmAzizEvGPVwRudARG0YM5/7I9RVjn+KGNB0voqzo0+H107TzOQVE14pCUVLW0X7Pzzw==","signatures":[{"sig":"MEUCIQD/3ACt9/m8lfAG8HQP75kSehHGK1iMscnRj43pF4POewIgZz14Iw4vkbMVD41wSgmWGP8kGumxCOtqVX8HE0Ku3sw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6355804},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"a0ebd213da5319dc86531104d4f99ecf254163a0","scripts":{"lint":"eslint","test":"LANG=en_us jest --silent --verbose","build":"eslint && npm run clean && tsc","clean":"rimraf dist","server":"nodemon src/server.ts","prepare":"eslint && npm run clean && tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"amp-automation","email":"opssupport@amplience.com"},"repository":{"url":"git+https://github.com/amplience/dc-integration-middleware.git","type":"git"},"_npmVersion":"10.8.2","description":"Amplience Integration Middleware is a service written in `Node.js` that is intended to manage a number of different types of services, including but not limited to:","directories":{},"_nodeVersion":"20.18.1","dependencies":{"qs":"^6.10.3","btoa":"^1.2.1","axios":"^0.27.2","lodash":"^4.17.21","rimraf":"^3.0.2","express":"^4.18.1","slugify":"^1.6.5","form-data":"^4.0.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.2","nock":"^13.5.6","eslint":"^8.9.0","nodemon":"^2.0.19","ts-jest":"^29.0.5","ts-node":"^10.8.1","prettier":"^3.4.2","typescript":"^4.2.3","@types/jest":"^29.4.0","@types/mime":"^2.0.3","@types/node":"^17.0.41","ts-node-dev":"^2.0.0","@types/lodash":"^4.14.180","@types/connect":"^3.4.35","@types/express":"^4.17.13","@types/fs-extra":"^9.0.13","@types/form-data":"^2.5.0","@types/node-fetch":"^2.6.1","@types/body-parser":"^1.19.2","@types/range-parser":"^1.2.4","@types/serve-static":"^1.13.10","json-stringify-safe":"^5.0.1","@typescript-eslint/parser":"^5.12.1","@types/express-serve-static-core":"^4.17.28","@typescript-eslint/eslint-plugin":"^5.12.1"},"_npmOperationalInternal":{"tmp":"tmp/dc-integration-middleware_2.4.0_1738065105995_0.18851259447941637","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@amplience/dc-integration-middleware","version":"2.5.0","author":{"name":"Amplience Innovation Team"},"license":"Apache-2.0","_id":"@amplience/dc-integration-middleware@2.5.0","maintainers":[{"name":"amplience-admin","email":"operations@amplience.com"},{"name":"petercoulton-human","email":"petercoulton@gmail.com"},{"name":"easen-amp","email":"measen@amplience.com"},{"name":"ccorbett","email":"ccorbett@amplience.com"},{"name":"gbrown-amp","email":"gbrown@amplience.com"},{"name":"nsmith-amp","email":"nsmith@amplience.com"},{"name":"amp-automation","email":"opssupport@amplience.com"},{"name":"srweeks","email":"sweeks@amplience.com"},{"name":"techiedarren","email":"npm@dmlee.me"},{"name":"rs-amp","email":"rsimpson@amplience.com"},{"name":"amp-adm-srv-npm","email":"amp-adm-srv-npm@amplience.com"},{"name":"gnewso","email":"gnewsome@amplience.com"}],"homepage":"https://github.com/amplience/dc-integration-middleware#readme","bugs":{"url":"https://github.com/amplience/dc-integration-middleware/issues"},"dist":{"shasum":"54ac7ac323e9b822cc356219da30b923e8721778","tarball":"https://registry.npmjs.org/@amplience/dc-integration-middleware/-/dc-integration-middleware-2.5.0.tgz","fileCount":275,"integrity":"sha512-K6iSF7vv0L1gS4pVuc6CO1VCU+imotHL7dWUaGbPDxeHScdzoS4fI1PNCd3gs0Au8d8be8eVBHuTOp45rfwk2w==","signatures":[{"sig":"MEUCIGNXDTIDV68CvMjcOBe/deSEweWhf/c5A1Yo2B0SzfxOAiEAjqQ2Yewrhpgv3/XvJ3G7/l2URapPh2SHxIOxfFoDbok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6359648},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"87c69b14bfc6f2eda7047cdcf98dcbedf0e96bcd","scripts":{"lint":"eslint","test":"LANG=en_us jest --silent --verbose","build":"eslint && npm run clean && tsc","clean":"rimraf dist","server":"nodemon src/server.ts","prepare":"eslint && npm run clean && tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"amp-automation","email":"opssupport@amplience.com"},"repository":{"url":"git+https://github.com/amplience/dc-integration-middleware.git","type":"git"},"_npmVersion":"10.8.2","description":"Amplience Integration Middleware is a service written in `Node.js` that is intended to manage a number of different types of services, including but not limited to:","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qs":"^6.10.3","btoa":"^1.2.1","axios":"^0.27.2","lodash":"^4.17.21","rimraf":"^3.0.2","express":"^4.18.1","slugify":"^1.6.5","form-data":"^4.0.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.2","nock":"^13.5.6","eslint":"^8.9.0","nodemon":"^2.0.19","ts-jest":"^29.0.5","ts-node":"^10.8.1","prettier":"^3.4.2","typescript":"^4.2.3","@types/jest":"^29.4.0","@types/mime":"^2.0.3","@types/node":"^17.0.41","ts-node-dev":"^2.0.0","@types/lodash":"^4.14.180","@types/connect":"^3.4.35","@types/express":"^4.17.13","@types/fs-extra":"^9.0.13","@types/form-data":"^2.5.0","@types/node-fetch":"^2.6.1","@types/body-parser":"^1.19.2","@types/range-parser":"^1.2.4","@types/serve-static":"^1.13.10","json-stringify-safe":"^5.0.1","@typescript-eslint/parser":"^5.12.1","@types/express-serve-static-core":"^4.17.28","@typescript-eslint/eslint-plugin":"^5.12.1"},"_npmOperationalInternal":{"tmp":"tmp/dc-integration-middleware_2.5.0_1744276643760_0.4149519186183457","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@amplience/dc-integration-middleware","version":"3.0.0","types":"dist/index.d.ts","typings":"dist/index.d.ts","main":"dist/index.js","scripts":{"clean":"rimraf dist","lint":"eslint","build":"eslint && npm run clean && tsc","prepare":"eslint && npm run clean && tsc","server":"nodemon src/server.ts","test":"LANG=en_us jest --silent --verbose"},"exports":{".":"./dist/index.js"},"dependencies":{"axios":"^0.27.2","btoa":"^1.2.1","express":"^4.18.1","form-data":"^4.0.0","isomorphic-unfetch":"^3.1.0","lodash":"^4.17.21","qs":"^6.10.3","rimraf":"^3.0.2","slugify":"^1.6.5"},"devDependencies":{"@types/body-parser":"^1.19.2","@types/connect":"^3.4.35","@types/express":"^4.17.13","@types/express-serve-static-core":"^4.17.28","@types/form-data":"^2.5.0","@types/fs-extra":"^9.0.13","@types/jest":"^29.4.0","@types/lodash":"^4.14.180","@types/mime":"^2.0.3","@types/node":"^17.0.41","@types/node-fetch":"^2.6.1","@types/range-parser":"^1.2.4","@types/serve-static":"^1.13.10","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","eslint":"^8.9.0","jest":"^29.4.2","json-stringify-safe":"^5.0.1","nock":"^13.5.6","nodemon":"^2.0.19","prettier":"^3.4.2","ts-jest":"^29.0.5","ts-node":"^10.8.1","ts-node-dev":"^2.0.0","typescript":"^4.2.3"},"author":{"name":"Amplience Innovation Team"},"license":"Apache-2.0","bugs":{"url":"https://github.com/amplience/dc-integration-middleware/issues"},"homepage":"https://github.com/amplience/dc-integration-middleware#readme","repository":{"type":"git","url":"git+https://github.com/amplience/dc-integration-middleware.git"},"gitHead":"ffa5d78face52096c900efd534bb4a72557c1131","_id":"@amplience/dc-integration-middleware@3.0.0","description":"Amplience Integration Middleware is a service written in `Node.js` that is intended to manage a number of different types of services, including but not limited to:","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-IeNZQtggIFYSzGRkUoZSjBKryFlFJmCysIqGD/BQnhBYWcgUyEFY8dITY8qNu+zrwjKWAmu5GjooyKvRJVpOWg==","shasum":"14c41eea9b4be9c8c3073d2b89affebfa9a88a2c","tarball":"https://registry.npmjs.org/@amplience/dc-integration-middleware/-/dc-integration-middleware-3.0.0.tgz","fileCount":275,"unpackedSize":6360046,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amplience%2fdc-integration-middleware@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDf9nAserDneCpzfJAEA/ClkPOhbNTvoOfjHXeVE4WwsgIgY+ZABRhbsvBj7uYx2zL9CzcziA5anCt5uBJOr8coIew="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:07807534-62e8-4bcc-9fd0-49ad8b6aebcb"}},"directories":{},"maintainers":[{"name":"amplience-admin","email":"operations@amplience.com"},{"name":"petercoulton-human","email":"petercoulton@gmail.com"},{"name":"easen-amp","email":"measen@amplience.com"},{"name":"ccorbett","email":"ccorbett@amplience.com"},{"name":"gbrown-amp","email":"gbrown@amplience.com"},{"name":"nsmith-amp","email":"nsmith@amplience.com"},{"name":"amp-automation","email":"opssupport@amplience.com"},{"name":"srweeks","email":"sweeks@amplience.com"},{"name":"techiedarren","email":"npm@dmlee.me"},{"name":"rs-amp","email":"rsimpson@amplience.com"},{"name":"amp-adm-srv-npm","email":"amp-adm-srv-npm@amplience.com"},{"name":"gnewso","email":"gnewsome@amplience.com"},{"name":"labski42","email":"lkcheung@amplience.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dc-integration-middleware_3.0.0_1768389781341_0.22266987624211154"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-13T14:51:56.424Z","modified":"2026-01-14T11:23:02.061Z","2.2.0":"2023-09-13T14:51:56.886Z","2.3.1":"2024-05-08T13:27:13.600Z","2.4.0":"2025-01-28T11:51:46.301Z","2.5.0":"2025-04-10T09:17:24.063Z","3.0.0":"2026-01-14T11:23:01.689Z"},"bugs":{"url":"https://github.com/amplience/dc-integration-middleware/issues"},"author":{"name":"Amplience Innovation Team"},"license":"Apache-2.0","homepage":"https://github.com/amplience/dc-integration-middleware#readme","repository":{"type":"git","url":"git+https://github.com/amplience/dc-integration-middleware.git"},"description":"Amplience Integration Middleware is a service written in `Node.js` that is intended to manage a number of different types of services, including but not limited to:","maintainers":[{"name":"amplience-admin","email":"operations@amplience.com"},{"name":"petercoulton-human","email":"petercoulton@gmail.com"},{"name":"easen-amp","email":"measen@amplience.com"},{"name":"ccorbett","email":"ccorbett@amplience.com"},{"name":"gbrown-amp","email":"gbrown@amplience.com"},{"name":"nsmith-amp","email":"nsmith@amplience.com"},{"name":"amp-automation","email":"opssupport@amplience.com"},{"name":"srweeks","email":"sweeks@amplience.com"},{"name":"techiedarren","email":"npm@dmlee.me"},{"name":"rs-amp","email":"rsimpson@amplience.com"},{"name":"amp-adm-srv-npm","email":"amp-adm-srv-npm@amplience.com"},{"name":"gnewso","email":"gnewsome@amplience.com"},{"name":"labski42","email":"lkcheung@amplience.com"}],"readme":"# @amplience/dc-integration-middleware\n\nAmplience Integration Middleware is a service written in `Node.js` that is intended to manage a number of different types of services, including but not limited to:\n\n-   Commerce Services\n\n`dc-integration-middleware` uses codecs in order to determine how and where to get data from. It currently supports getting e-commerce data from:\n\n-   Commercetools\n-   BigCommerce\n-   Shopify\n-   Scayle\n-   Salesforce Commerce Cloud\n-   REST\n\n## 📝 Pre-requisites\n\nThis extension was developed and tested with:\n\n-   Node version `20.x`\n\n## ⚙️ Features\n\nThe `CommerceAPI` interface exposes these methods:\n\n-   `getProduct` (by ID or slug)\n-   `getProducts` (by IDs, keyword, or category ID)\n-   `getCategory` (by ID)\n-   `getCategoryTree` (category structure)\n-   `getCustomerGroups` (customer segmentation)\n  - Customer Groups are not supported when accessing some integrations from a browser.\n\n### CORS Support Table\n\n|  |\tSFCC | Big Commerce | Commercetools | Shopify | Scayle |REST |\n| :--- | :---: | :---: | :---: | :---: | :---: | :---: |\n| products | ✅ | ✅  | ✅  | ✅  | ❌  | ✅  |\n| categories | ✅  | ✅  | ✅  | ✅  | ❌  | ✅  |\n| user segments | ✅  | ❌  | ✅  | ❌   | ❌  | ✅  |\n\nConcrete implementations of this interface are referred to as `Codec`s and are located in `src/codec/codecs`. Platform-specific e-Commerce implementations are found in `src/codec/codecs/commerce`.\nYou can find types and methods [here](./docs/dev/commerce-codec.md).\n\nThere is a separate project called [`dc-integration-tester`](https://github.com/amplience/dc-integration-tester) which provides a CLI that lets you test the codecs in this project with your configuration, and potentially test new or modified codecs on your own copy of the codebase.\n\nThere are also [Unit Tests](./docs/dev/unit-testing.md) for each method and vendor.\n\n### Server Support Table\nIf you choose to deploy your use of this middleware in your own hosting, you can change the configuration to interface with commerce API's from the server rather than client side. See [`import`](./docs/dev/import.md)\n\n|  |\tSFCC | Big Commerce | Commercetools | Shopify | Scayle |REST |\n| :--- | :---: | :---: | :---: | :---: | :---: | :---: |\n| products | ✅ | ✅  | ✅  | ✅  | ✅  | ✅  |\n| categories | ✅  | ✅  | ✅  | ✅  | ✅  | ✅  |\n| user segments | ✅  | ✅  | ✅  | ✅  | ❌  | ✅  |\n\n## 🏁 Quick Start\n\n\n> Note: as an example you can check our [eComm Toolkit extension](https://github.com/amplience/dc-extension-ecomm-toolkit) that is built using `dc-integration-middleware` as a middleware in `Next.js`.\n\nUsing the `config` object for one of the commerce vendors, you can get the Commerce API:\n\n```typescript\nconst commerceApi = await getCommerceAPI(config)\n```\n\n(NOTE: You should get a new Commerce API whenever you want to use different credentials or a different locale/language)\n\nFrom there you can use any of the commerce methods:\n\n```typescript\n// Getting the category tree\nconst categoryTree: Category[] = await commerceApi.getCategoryTree({})\n\n// Getting customer groups\nconst customerGroups: CustomerGroup[] = await commerceApi.getCustomerGroups({})\n\n// Getting products by ids\nconst products: Product[] = await commerceApi.getProducts({\n    productIds: ids\n})\n\n// Getting products by keyword\nconst products: Product[] = await commerceApi.getProducts({\n    keyword: keywordInput.current.value\n})\n\n// Getting a category by slug\nconst category: Category = await commerceApi.getCategory({\n    slug: catSlug\n})\n\n// Getting a product by id\nconst product: Product = await commerceApi.getProduct({\n    id: productId\n})\n```\n\n## 📐 Architecture Diagram\n\n![](./docs/media/architecture.png)\n\n## 🏢 Vendor specific information\n\n- **Commerce Services**\n  - [Saleforce Commerce Cloud](./docs/vendor/commerce/sfcc.md)\n  - [Scayle](./docs/vendor/commerce/scayle.md)\n  - [Shopify](./docs/vendor/commerce/shopify.md)\n  - [BigCommerce](./docs/vendor/commerce/bigcommerce.md)\n  - [BigCommerce CORS](./docs/vendor/commerce/bigcommerce-cors.md)\n  - [CommerceTools](./docs/vendor/commerce/commercetools.md)\n  - [REST](./docs/vendor/commerce/rest.md)\n\n## 🧩 Development\n\n- **Types and methods**\n  - [Commerce Codecs](./docs/dev/commerce-codec.md)\n  - [Pagination](./docs/dev/pagination.md)\n  - [Page Cache](./docs/dev/page-cache.md)\n- **Project**\n  - [Import into project](./docs/dev/import.md)\n  - [Host the service](./docs/dev/host.md)\n  - [Develop locally](./docs/dev/develop-locally.md)\n- **Integration**\n  - [Modify an integration](./docs/dev/modify-integration.md)\n  - [Add an integration](./docs/dev/add-integration.md)\n- **Testing**\n  - [Unit testing guidelines](./docs/dev/unit-testing.md)\n- **Support**\n  - [Support Guidelines](./docs/support.md)\n\n## 📄 License\n\nThis software is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\n\nCopyright 2025 Amplience\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n\n```\nhttp://www.apache.org/licenses/LICENSE-2.0\n```\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n","readmeFilename":"README.md"}