{"_id":"@35up/js-sdk-node","_rev":"4-00c3dc67f03dff6c528b3f61672feba5","name":"@35up/js-sdk-node","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@35up/js-sdk-node","version":"1.0.0","keywords":["bootstrap"],"author":{"name":"35up GmbH","email":"the.engineers@35up.com"},"license":"MIT","_id":"@35up/js-sdk-node@1.0.0","maintainers":[{"name":"gustavoaz7","email":"gustavo_azevedo_7@hotmail.com"},{"name":"enjoythelive1","email":"enjoythelive1@gmail.com"},{"name":"drafter500","email":"vzemtsov@yahoo.com"},{"name":"schrodervictor","email":"schrodervictor@gmail.com"},{"name":"35up-npm","email":"npm@35up.com"}],"homepage":"https://github.com/35up/js-sdk#readme","bugs":{"url":"https://github.com/35up/js-sdk/issues"},"amd":"dist/35up-js-sdk.amd.min.js","dist":{"shasum":"3b4e50ff0d6ba89284f3b3862ad5729d422300f1","tarball":"https://registry.npmjs.org/@35up/js-sdk-node/-/js-sdk-node-1.0.0.tgz","fileCount":13,"integrity":"sha512-ZljiyzaqS1+ewOBtQ3kzJSbzwMJbm40vTCiDgQk95kBTD21lQI4oihkTzRfC9jvkx0ybhRZ0btoQW8NsglyhPg==","signatures":[{"sig":"MEYCIQDcw1wI1OE0i05KZe8S3O1r/N8nI0znJM9LBiZSpg+6iAIhANU/ETTM1/iGuKNIVpZomPVw6lNnzA3UtoM5Rsu3bV46","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNadHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2ZA//WCbLB/UshkrKsmFsQu08aEkC0N2Z4VtvHELzRL52p23PSg6F\r\nYS5ONXFhiEESOO7q+n/ziBOCU1J1dAFaPh+38A94uZ52281Onxy+s7UJm0BZ\r\ndrPiqArOJpuE4R0PJUAcIJEJFxs5Pl8vJKIgE5hVFT/fkK5t/9y/N69MoHkl\r\nZF9EqXQodREzcYwGT13G2vOs8Jf3nSdqhBqHeXVmg9uJmXcLuYr2XdRkz1Eg\r\nQyYNUiy88agIYu8WV/ncyx97g1p8Le/mk4yT92OFpWqjV9gmxfvdEJInMaff\r\nltUiKCGh22/lPhGmRAuDtyYgElPV7e9ndVlKLABIjFEPEXTwM7cDuQz/u5tS\r\nP2WricdbDFN6Vri0HKPBSN5QOy6wdfdjt3c0CZO7ANjDr81J6TxpBpjMWPqB\r\n09UnRS72sgmC8l7Lje9aqqLtTUHRHKgvL6RTQnxL6WXAARsxsB+enfbWp8Ih\r\njNGqAhPp3pf7QZYwfYpUHqysmeVJF4g7ia07EZjVcVxu6dmn2hiIU8N/qqJS\r\nozxGeOqZwkHfCycPW1+fHvDVBRlZezkSl32J136FrgX/qPXSYM2fkfhpi5ox\r\np0vJhWX+wmJ7mM7EOv696WTuOS1k777xnficAu7orJ6k0A+WIOttSUHyHiZ6\r\nldiDXydAGtPFOqykb73YOliULwQ9qfbtkBg=\r\n=obKW\r\n-----END PGP SIGNATURE-----\r\n"},"iife":"dist/35up-js-sdk.iife.min.js","main":"dist/35up-js-sdk.cjs.js","types":"dist/index.d.ts","module":"dist/35up-js-sdk.esm.js","gitHead":"f885f348926e0558ecd3f664363a19e80cc3b439","scripts":{"lint":"eslint --ext .js,.ts .","test":"jest --passWithNoTests","build":"ENV=production rollup --config rollup.config.js","bootstrap":"lerna bootstrap","build:mock":"ENV=mock rollup --config rollup.config.js","test:watch":"npm test -- --watch","build:stage":"ENV=staging rollup --config rollup.config.js","bump-version":"lerna version --no-git-tag-version --no-push","test:coverage":"npm test -- --coverage","prepublishOnly":"make ci"},"_npmUser":{"name":"drafter500","email":"vzemtsov@yahoo.com"},"repository":{"url":"git+https://github.com/35up/js-sdk.git","type":"git"},"_npmVersion":"9.3.1","description":"Node.js SDK library for integrating 35up into your web shop","directories":{},"_nodeVersion":"18.14.0","dependencies":{"zod":"^3.19.1","tslib":"^2.4.0","nanoid":"^3.3.4","@35up/http-client":"^2.1.6","@35up/js-sdk-base":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","jest":"^28.1.0","lerna":"^5.5.2","sinon":"^14.0.0","eslint":"^8.23.0","rollup":"^2.79.0","ts-jest":"^28.0.8","babel-jest":"^28.1.0","sinon-chai":"^3.7.0","typescript":"^4.8.2","@babel/core":"^7.18.13","@types/chai":"^4.3.3","@types/jest":"^28.0.0","chai-string":"^1.5.0","@types/sinon":"^10.0.13","jest-fetch-mock":"^3.0.3","@babel/preset-env":"^7.18.10","@types/sinon-chai":"^3.2.8","@types/chai-string":"^1.4.2","rollup-plugin-terser":"^7.0.2","@35up/tslib-test-utils":"^2.0.1","jest-environment-jsdom":"^28.1.1","@rollup/plugin-commonjs":"^22.0.2","@rollup/plugin-typescript":"^8.4.0","@typescript-eslint/parser":"^5.9.1","@rollup/plugin-node-resolve":"^13.3.0","@35up/eslint-config-35up-base":"^4.0.9","@typescript-eslint/eslint-plugin":"^5.9.1"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk-node_1.0.0_1681237831447_0.42578108810853155","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-04-11T18:30:31.385Z","modified":"2026-04-01T20:19:17.700Z","1.0.0":"2023-04-11T18:30:31.666Z"},"bugs":{"url":"https://github.com/35up/js-sdk/issues"},"author":{"name":"35up GmbH","email":"the.engineers@35up.com"},"license":"MIT","homepage":"https://github.com/35up/js-sdk#readme","keywords":["bootstrap"],"repository":{"url":"git+https://github.com/35up/js-sdk.git","type":"git"},"description":"Node.js SDK library for integrating 35up into your web shop","maintainers":[{"email":"npm@35up.com","name":"35up-npm"},{"email":"vzemtsov@yahoo.com","name":"drafter500"}],"readme":"# 35up Javascript SDK - node\n\nThis library is designed for node environments providing Javascript APIs to \nintegrate 35up into your online shop.\n\n## Installation\nYou can install this package by executing the following command:\n```$xslt\nnpm i -S @35up/js-sdk-node\n```\n\n## How to use\n\nThe library exposes `initialise` function that prepares and returns an \n`Sdk` instance that has several methods:\n\n```js\n  import { initialise } from '@35up/js-sdk-node';\n\n  const config = {\n    seller: 'your_seller_id',\n    lang: 'de',\n    country: 'de',\n    credentials: {\n      username: 'example-user',\n      password: 'example-password',\n    }\n  };\n\n  const tfup = initialise(config);\n  \n  // Getting recommendations\n  const result = await tfup.getProductRecommendations({\n    baseProduct: {title: 'Samsung Galaxy S20 Cosmic grey'},\n  });\n```\n\nFull configuration parameters list:\n\n| Parameter   | Description                                                                     | Optional |\n|-------------|---------------------------------------------------------------------------------|----------|\n| seller      | Your seller ID (contact 35up team to get one)                                   | No       |\n| lang        | Language `ISO 639-1` code (i.e. `de`, `en`)                                     | Yes      |\n| country     | Country `ISO 3166` code (i.e. `us`, `fr`)                                       | Yes      |\n| session     | The ID of a session (use only if you want to generate session yourself)         | Yes      |\n| credentials | Object containing `username` and `password` for basic authentication in the API | Yes      |\n| apiUrl      | 35up API url. A custom url can be provided for testing purposes                 | Yes      |\n\n### Methods\n\nIn addition to [cross-environment methods](../base/README.md#methods) this \npackage provides the following ones:\n\n#### `createOrder(details, credentials)`\nPlaces an order on the 35up marketplace. If credentials where provided in the\nSDK initialization, they don't need to be provided here.\n\n##### Input\n```ts\n  interface CreateOrderParams {\n    reference: string;\n    customer: {\n      firstName: string;\n      lastName: string;\n      email: string;\n      phone?: string;\n    };\n    shippingAddress?: {\n      firstName?: string;\n      lastName?: string;\n      email?: string;\n      phone?: string;\n      company?: string;\n      street: string;\n      streetNumber: string;\n      extra?: string;\n      city: string;\n      postcode: string;\n      state?: string;\n      country: string;\n    };\n    items: {\n      sku: string;\n      qty: number;\n      config?: Record<string, string>;\n    }[];\n  }\n  \n  interface Credentials {\n    username: string;\n    password: string;\n  }\n```\n\nNote that `createOrder` is an asynchronous function and returns a\n`Promise`.\n\n##### Input example\n\n```ts\n  const details: CreateOrderDetails = {\n    reference: '45883SKU34',\n    customer: {\n      firstName: 'Peter',\n      lastName: 'Pan',\n      email: 'peter@pan.com',\n    },\n    shippingAddress: {\n      street: 'Home Unter the Ground',\n      streetNumber: '3',\n      city: 'Neverland',\n      country: 'XX',\n      postcode: '1911',\n      phone: '+1123123123',\n    },\n    items: [\n      {sku: 'HCI60XX114014XXAPIP60', qty: 9},\n      {sku: 'FEI60XX114014XXAPIP80', qty: 1, config: {size: 'M'}},\n    ],\n  };\n\n  const credentials: Credentials = {\n    username: 'example-user',\n    password: 'example-password',\n  }\n```\n\n#### Output\n```ts\n  interface CreateOrderResponse {\n    id: string;\n    // New orders are always placed in \"pending\" state unless specified\n    // in the request.\n    status: string;\n    updatedAt: string;\n    createdAt: string;\n  }\n```\n\nExample:\n```ts\n  const response: CreateOrderResponse = {\n    id: '42346434',\n    status: 'pending',\n    createdAt: '1579685580',\n    updatedAt: '1579685589',\n  }\n```\n\n## Requirements\n\n[Reference for cross-environment requirements](../base/README.md#requirements)\n","readmeFilename":"README.md"}