{"_id":"@dotseco/n8n-nodes-dots-eco","_rev":"7-edb99457b164e3b4e5781f93f88d46cd","name":"@dotseco/n8n-nodes-dots-eco","dist-tags":{"latest":"0.5.3"},"versions":{"0.1.0":{"name":"@dotseco/n8n-nodes-dots-eco","version":"0.1.0","keywords":["n8n-community-node-package"],"author":{"name":"Dots.eco","email":"engineering@dots.eco"},"license":"MIT","_id":"@dotseco/n8n-nodes-dots-eco@0.1.0","maintainers":[{"name":"dots.eco","email":"erez@dots.eco"}],"homepage":"https://www.dots.eco","bugs":{"url":"https://github.com/dots-eco/n8n-dots-eco/issues"},"n8n":{"nodes":["dist/nodes/DotsEco/DotsEco.node.js"],"credentials":["dist/credentials/DotsEcoApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"6efe955835bbf509f04c9a64ae0cb8c284c019ca","tarball":"https://registry.npmjs.org/@dotseco/n8n-nodes-dots-eco/-/n8n-nodes-dots-eco-0.1.0.tgz","fileCount":11,"integrity":"sha512-RzDKa3XQWNtOZu2gIgrMpddRU0XZQwWY4+nlvjWiPKPWy6f3NJ2UQv2xDw+d8NI7elJisbpSMTZKgQo+OEgEVA==","signatures":[{"sig":"MEUCIQCofoUKktcZ23txgBbk+tuqVawXD6zaPqK0XmO8Yj2PCAIgcin1ThFY3gArDexbDMteg7Ukcfxe9xSo3TyHiNPl46Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55520},"main":"index.js","scripts":{"dev":"tsc --watch","lint":"eslint nodes credentials package.json","build":"tsc && gulp build:icons","format":"prettier nodes credentials --write","lintfix":"eslint nodes credentials package.json --fix","prepublishOnly":"npm run build && npm run lint -c .eslintrc.prepublish.js nodes credentials package.json"},"_npmUser":{"name":"dots.eco","email":"erez@dots.eco"},"repository":{"url":"git+https://github.com/dots-eco/n8n-dots-eco.git","type":"git"},"_npmVersion":"9.8.1","description":"Dots.eco API Integration for N8N","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.2","n8n-core":"^1.5.0","prettier":"^3.0.3","typescript":"~4.8.4","graceful-fs":"4.2.11","n8n-workflow":"^1.6.0","@types/express":"^4.17.17","@typescript-eslint/parser":"~6.7","eslint-plugin-n8n-nodes-base":"^1.16.0","@types/request-promise-native":"~1.0.18"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-dots-eco_0.1.0_1695120697811_0.5798110818616797","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@dotseco/n8n-nodes-dots-eco","version":"0.1.1","keywords":["n8n-community-node-package"],"author":{"name":"Dots.eco","email":"engineering@dots.eco"},"license":"MIT","_id":"@dotseco/n8n-nodes-dots-eco@0.1.1","maintainers":[{"name":"dots.eco","email":"erez@dots.eco"}],"homepage":"https://www.dots.eco","bugs":{"url":"https://github.com/dots-eco/n8n-dots-eco/issues"},"n8n":{"nodes":["dist/nodes/DotsEco/DotsEco.node.js"],"credentials":["dist/credentials/DotsEcoApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"6d581813d983f1700b91ad6b3c8446227175ef7c","tarball":"https://registry.npmjs.org/@dotseco/n8n-nodes-dots-eco/-/n8n-nodes-dots-eco-0.1.1.tgz","fileCount":11,"integrity":"sha512-MJzRGK7dkJ825C3JaealQMFwN3udPAM8KoinTfJzyP6g1/8MDIiofouISx37wDdZc1DHWLgk2YbnqvTh7N6tuA==","signatures":[{"sig":"MEUCIQC9ffqO+k/1cYFFSLjAFXR/rDm9dcERwxzqGNh00jfjqwIgdXnEcagFZa+0UWIqxqqGP7SvCQ2kTNnPpXHMIUnFX5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68228},"main":"index.js","gitHead":"e6b0b5d83badbfe2986444ce6a7530684ce701f4","scripts":{"dev":"tsc --watch","lint":"eslint nodes credentials package.json","build":"tsc && gulp build:icons","format":"prettier nodes credentials --write","lintfix":"eslint nodes credentials package.json --fix","prepublishOnly":"npm run build && npm run lint -c .eslintrc.prepublish.js nodes credentials package.json"},"_npmUser":{"name":"dots.eco","email":"erez@dots.eco"},"repository":{"url":"git+https://github.com/dots-eco/n8n-dots-eco.git","type":"git"},"_npmVersion":"9.8.1","description":"Dots.eco API Integration for N8N","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.2","n8n-core":"^1.5.0","prettier":"^3.0.3","typescript":"~4.8.4","graceful-fs":"4.2.11","n8n-workflow":"^1.6.0","@types/express":"^4.17.17","@typescript-eslint/parser":"~6.7","eslint-plugin-n8n-nodes-base":"^1.16.0","@types/request-promise-native":"~1.0.18"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-dots-eco_0.1.1_1695121158067_0.10629604565452677","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@dotseco/n8n-nodes-dots-eco","version":"0.1.2","keywords":["n8n-community-node-package"],"author":{"name":"Dots.eco","email":"engineering@dots.eco"},"license":"MIT","_id":"@dotseco/n8n-nodes-dots-eco@0.1.2","maintainers":[{"name":"dots.eco","email":"erez@dots.eco"}],"homepage":"https://www.dots.eco","bugs":{"url":"https://github.com/dots-eco/n8n-dots-eco/issues"},"n8n":{"nodes":["dist/nodes/DotsEco/DotsEco.node.js"],"credentials":["dist/credentials/DotsEcoApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"725b4f81572e97a4b44481e31637a4570642823a","tarball":"https://registry.npmjs.org/@dotseco/n8n-nodes-dots-eco/-/n8n-nodes-dots-eco-0.1.2.tgz","fileCount":11,"integrity":"sha512-+irEhPsWXBQCd2mgMl5VmnZ1eT4ea+EQnJQIAM/HudZhAyU1kIIqXUdnmt5YQTtqGDeEeY8HYIPii6md/jZl/Q==","signatures":[{"sig":"MEUCIFUxfDPm8B7PYz9HKu6PK18uSC04cY0iRvkR8LaPe1gwAiEAoXArBDwugAoDfk/C6gS5iHIrTBRVgP8+z56Sjm/oHsA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65503},"main":"index.js","gitHead":"4f8e57c1b4679c08afb621f3d94fa4957962e1ee","scripts":{"dev":"tsc --watch","lint":"eslint nodes credentials package.json","build":"tsc && gulp build:icons","format":"prettier nodes credentials --write","lintfix":"eslint nodes credentials package.json --fix","prepublishOnly":"npm run build && npm run lint -c .eslintrc.prepublish.js nodes credentials package.json"},"_npmUser":{"name":"dots.eco","email":"erez@dots.eco"},"repository":{"url":"git+https://github.com/dots-eco/n8n-dots-eco.git","type":"git"},"_npmVersion":"9.8.1","description":"Dots.eco API Integration for N8N","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.2","n8n-core":"^1.5.0","prettier":"^3.0.3","typescript":"~4.8.4","graceful-fs":"4.2.11","n8n-workflow":"^1.6.0","@types/express":"^4.17.17","@typescript-eslint/parser":"~6.7","eslint-plugin-n8n-nodes-base":"^1.16.0","@types/request-promise-native":"~1.0.18"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-dots-eco_0.1.2_1695121381402_0.9506987463008196","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@dotseco/n8n-nodes-dots-eco","version":"0.5.1","keywords":["n8n-community-node-package","n8n","dots-eco","impact","certificates","sustainability"],"author":{"name":"dots.eco","email":"engineering@dots.eco"},"license":"MIT","_id":"@dotseco/n8n-nodes-dots-eco@0.5.1","maintainers":[{"name":"dots.eco","email":"nadav@dots.eco"},{"name":"dots-tomer","email":"tomer@dots.eco"}],"homepage":"https://docs.impact.dots.eco","bugs":{"url":"https://github.com/dots-eco/n8n-dots-eco/issues"},"n8n":{"nodes":["dist/nodes/DotsEco/DotsEco.node.js"],"strict":true,"credentials":["dist/credentials/DotsEcoApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"96fd81e96feb6bc8bbcffa2a238e76299f4f4df3","tarball":"https://registry.npmjs.org/@dotseco/n8n-nodes-dots-eco/-/n8n-nodes-dots-eco-0.5.1.tgz","fileCount":30,"integrity":"sha512-jGiQs1af+hh/cZAwdR37wz0IhuKIuVUFen1187S5CXwjfJopDSHy0r11IRVYfyGY7Dv1rXgPa2bc4QEF/vtE4w==","signatures":[{"sig":"MEUCICg2Auh0cpNTRQheFNFVm/yBaEMy/WSnXB/EpjIp0MZfAiEAiKzeueqem6vVRCzbjD8fA78AkRPw3GLvYqo2EtTeD08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dotseco%2fn8n-nodes-dots-eco@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132800},"pnpm":{"overrides":{"change-case":"4.1.2"}},"engines":{"node":">=20.19"},"gitHead":"7525f636574d2b5bdf960f1b9e84fcf051c25ecc","scripts":{"dev":"npm run build:watch","lint":"eslint . && tsc --noEmit -p tsconfig.json && prettier --check .","test":"npm run build && node --test tests/unit/*.test.js","build":"npm run clean && tsc -p tsconfig.json && node scripts/copy-assets.mjs","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"npm run build","lint:fix":"eslint . --fix && prettier --write .","build:watch":"tsc --watch -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68331cc2-5afd-4f3b-8d4d-b49b4659d201"}},"repository":{"url":"git+https://github.com/dots-eco/n8n-dots-eco.git","type":"git"},"_npmVersion":"11.9.0","description":"First-party n8n community node for the documented dots.eco public API","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"eslint":"9.29.0","prettier":"3.6.2","typescript":"5.9.2","@types/node":"^22.13.14","n8n-workflow":"^2.13.0","@n8n/node-cli":"0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-dots-eco_0.5.1_1774372226721_0.960385708763273","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@dotseco/n8n-nodes-dots-eco","version":"0.5.2","keywords":["n8n-community-node-package","n8n","dots-eco","impact","certificates","sustainability"],"author":{"name":"dots.eco","email":"tomer@dots.eco"},"license":"MIT","_id":"@dotseco/n8n-nodes-dots-eco@0.5.2","maintainers":[{"name":"dots.eco","email":"nadav@dots.eco"},{"name":"dots-tomer","email":"tomer@dots.eco"}],"homepage":"https://docs.impact.dots.eco","bugs":{"url":"https://github.com/dots-eco/n8n-dots-eco/issues"},"n8n":{"nodes":["dist/nodes/DotsEco/DotsEco.node.js"],"strict":true,"credentials":["dist/credentials/DotsEcoApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"1e3aa8ba3107e3e8a1cbdbaf304a4c004536bfd6","tarball":"https://registry.npmjs.org/@dotseco/n8n-nodes-dots-eco/-/n8n-nodes-dots-eco-0.5.2.tgz","fileCount":30,"integrity":"sha512-u8z7Ek2CoZYc1a8A69aDeUy/tIMf5VOv1aNwVmVcTMFxK8xZg4fAL17m9D6hMhOE8re74oK2CGU4Tq2RMpHviQ==","signatures":[{"sig":"MEUCIFWIVZ8eLZueaAaGDBXvv4mLwqQ+fMPmilwpWJbMc1nJAiEA8xTFjs1It/592IVDZooZ+xQRF2XiwrTDDRLd84ZxRF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dotseco%2fn8n-nodes-dots-eco@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132784},"pnpm":{"overrides":{"change-case":"4.1.2"}},"engines":{"node":">=20.19"},"gitHead":"5be1396bca3b868d641a05d83f4d4b75613f105a","scripts":{"dev":"npm run build:watch","lint":"eslint . && tsc --noEmit -p tsconfig.json && prettier --check .","test":"npm run build && node --test tests/unit/*.test.js","build":"npm run clean && tsc -p tsconfig.json && node scripts/copy-assets.mjs","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"npm run build","lint:fix":"eslint . --fix && prettier --write .","build:watch":"tsc --watch -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68331cc2-5afd-4f3b-8d4d-b49b4659d201"}},"repository":{"url":"git+https://github.com/dots-eco/n8n-dots-eco.git","type":"git"},"_npmVersion":"11.9.0","description":"First-party n8n community node for the dots.eco public API.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"eslint":"9.29.0","prettier":"3.6.2","typescript":"5.9.2","@types/node":"^22.13.14","n8n-workflow":"^2.13.0","@n8n/node-cli":"0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-dots-eco_0.5.2_1774372503762_0.5882722352856311","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@dotseco/n8n-nodes-dots-eco","version":"0.5.3","description":"First-party n8n community node for the dots.eco public API.","license":"MIT","homepage":"https://docs.impact.dots.eco","keywords":["n8n-community-node-package","n8n","dots-eco","impact","certificates","sustainability"],"author":{"name":"dots.eco","email":"tomer@dots.eco"},"repository":{"type":"git","url":"git+https://github.com/dots-eco/n8n-dots-eco.git"},"bugs":{"url":"https://github.com/dots-eco/n8n-dots-eco/issues"},"engines":{"node":">=20.19"},"packageManager":"pnpm@10.32.1","scripts":{"clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","build":"npm run clean && tsc -p tsconfig.json && node scripts/copy-assets.mjs","build:watch":"tsc --watch -p tsconfig.json","dev":"npm run build:watch","lint":"eslint . && tsc --noEmit -p tsconfig.json && prettier --check .","lint:fix":"eslint . --fix && prettier --write .","test":"npm run build && node --test tests/unit/*.test.js","prepack":"npm run build"},"n8n":{"n8nNodesApiVersion":1,"strict":true,"credentials":["dist/credentials/DotsEcoApi.credentials.js"],"nodes":["dist/nodes/DotsEco/DotsEco.node.js"]},"pnpm":{"overrides":{"change-case":"4.1.2"}},"peerDependencies":{"n8n-workflow":"^2.13.0"},"devDependencies":{"@n8n/node-cli":"0.23.0","@types/node":"^22.13.14","eslint":"9.29.0","n8n-workflow":"^2.13.0","prettier":"3.6.2","typescript":"5.9.2"},"gitHead":"a7f2219ba103afb9d2e133f479e810071766007c","_id":"@dotseco/n8n-nodes-dots-eco@0.5.3","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-hAVPoKCUZFe/PCHuQPbVvLLUCs9WB5oDYxpF8y4Zy2mIBF2n+j2gU1mpVgf7t5nvnCfdfaWf+MTBYDTJijW/ng==","shasum":"aa3eb4a2afb87e6168eba26749e080c06d5a46fb","tarball":"https://registry.npmjs.org/@dotseco/n8n-nodes-dots-eco/-/n8n-nodes-dots-eco-0.5.3.tgz","fileCount":30,"unpackedSize":132843,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dotseco%2fn8n-nodes-dots-eco@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCuL/mHuMy6IBaJEiA6PGQu3khVCDmk1uhjg3OilzuRwwIgT+IR8alP5M62vCRKM41DG5zcdESKc6fG6cdRtVhHb68="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68331cc2-5afd-4f3b-8d4d-b49b4659d201"}},"directories":{},"maintainers":[{"name":"dots.eco","email":"nadav@dots.eco"},{"name":"dots-tomer","email":"tomer@dots.eco"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-dots-eco_0.5.3_1778085882682_0.010591201038745224"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-19T10:51:37.723Z","modified":"2026-05-06T16:44:43.108Z","0.1.0":"2023-09-19T10:51:37.964Z","0.1.1":"2023-09-19T10:59:18.234Z","0.1.2":"2023-09-19T11:03:01.601Z","0.5.1":"2026-03-24T17:10:26.895Z","0.5.2":"2026-03-24T17:15:03.898Z","0.5.3":"2026-05-06T16:44:42.817Z"},"bugs":{"url":"https://github.com/dots-eco/n8n-dots-eco/issues"},"author":{"name":"dots.eco","email":"tomer@dots.eco"},"license":"MIT","homepage":"https://docs.impact.dots.eco","keywords":["n8n-community-node-package","n8n","dots-eco","impact","certificates","sustainability"],"repository":{"type":"git","url":"git+https://github.com/dots-eco/n8n-dots-eco.git"},"description":"First-party n8n community node for the dots.eco public API.","maintainers":[{"name":"dots.eco","email":"nadav@dots.eco"},{"name":"dots-tomer","email":"tomer@dots.eco"}],"readme":"![Dots.eco logo](https://raw.githubusercontent.com/dots-eco/n8n-dots-eco/main/nodes/DotsEco/Dots_eco_logo.svg)\n\n# Dots.eco n8n Nodes\n\nThis package is the first-party n8n integration for the documented public Dots.eco API.\n\n## Installation\n\nUse the package as an n8n community node:\n\n- In self-hosted n8n, open **Settings > Community Nodes** and install `@dotseco/n8n-nodes-dots-eco`\n- For local development, install dependencies with `pnpm install`\n\n## Scope\n\nThe node currently covers the documented public endpoints for:\n\n- Applications\n- Allocations\n- Certificates\n- Eco Club offerings\n- Flow cards\n- Impact summaries\n- Notification subscriptions\n- Supported languages and currencies\n\n## Credentials\n\nThe `Dots.eco API` credential includes:\n\n- `baseUrl`\n- `readAuthToken`\n- `writeAuthToken`\n\nThe node routes tokens automatically by operation:\n\n- read token for read endpoints\n- write token for write endpoints\n\nThe package does not expose a sandbox or production toggle. Environment stays implicit in the base URL, app token, and auth tokens you provide.\nThe credential \"test connection\" check only verifies reachability of the base URL through a documented public endpoint. Read and write token validity is exercised by the first authenticated node operation you run.\n\nAuthentication notes:\n\n- `Base URL`: production API base URL, usually `https://impact.dots.eco/api/v1`\n- `Read Auth Token`: used for read operations such as listing allocations or reading certificate data\n- `Write Auth Token`: used for create operations such as creating applications, certificates, flow cards, and notification subscriptions\n\n## Editor Conveniences\n\nThe node keeps the existing request shape while adding a few editor-side conveniences:\n\n- supported languages and currencies load directly from Dots.eco selectors\n- certificate allocation IDs can still be entered manually, or looked up by company\n- Eco Club allocation limits can still be entered as CSV, or selected from a lookup\n\nManual entry remains available for compatibility, expressions, and existing workflows.\n\n## Usage\n\n### Example: list allocations for a company\n\n1. Create `Dots.eco API` credentials with your base URL and read token.\n2. Add the `Dots.eco` node.\n3. Select `Allocation` as the resource and `List` as the operation.\n4. Enter the numeric `Company ID`.\n5. Optionally set `Language` to localize allocation labels returned by Dots.eco.\n\n### Example: create a certificate\n\n1. Create `Dots.eco API` credentials with your base URL and write token.\n2. Add the `Dots.eco` node.\n3. Select `Certificate` as the resource and `Create` as the operation.\n4. Fill in `App Token`, `External Unique ID`, `Impact Quantity`, `Allocation ID`, and `Remote User ID`.\n5. Optionally use allocation lookup mode to load allocations by company instead of entering the allocation ID manually.\n\n### Example workflow\n\nThis package is designed for normal n8n workflows. A minimal flow to create a certificate after receiving order data looks like this:\n\n`Manual Trigger` -> `Set` or `Webhook` -> `Dots.eco` (`Certificate` / `Create`) -> next business step\n\n## Development\n\nInstall dependencies and build the package:\n\n```bash\npnpm install\npnpm build\n```\n\nRun package checks:\n\n```bash\npnpm lint\npnpm test\n```\n\n## Validation\n\nThis package intentionally keeps only lightweight unit coverage in `tests/unit`.\n\n## Release and Submission\n\n- The package has no runtime dependencies, which is required for n8n verification\n- The repository includes a GitHub Actions publish workflow that uses npm provenance, which n8n requires for Creator Portal submissions from May 1, 2026 onward\n- Before submitting a new version, publish that version to npm from GitHub Actions so the npm metadata, repository link, and provenance statement all match the repository state\n\n## References\n\n- Dots.eco API docs: <https://docs.impact.dots.eco>\n\n## License\n\nMIT\n","readmeFilename":"README.md"}