{"library":"sailthru-client","title":"Sailthru Node.js Client","description":"The `sailthru-client` is the official Node.js client library for interacting with the Sailthru REST API. It facilitates common operations such as sending emails, managing user profiles, and executing jobs, primarily communicating in JSON format. The current stable version is `5.0.5`. This library typically sees minor patch releases for bug fixes and dependency updates, with major version increments reserved for significant internal refactors or breaking changes in API interaction or environment requirements. Key differentiators include its direct integration with the Sailthru ecosystem, handling API authentication, rate limiting information, and supporting various HTTP methods including multipart uploads for tasks like importing user data. It's designed for server-side Node.js applications and has a clear focus on robust API interaction rather than front-end integration.","language":"javascript","status":"active","last_verified":"Tue Apr 21","install":{"commands":["npm install sailthru-client"],"cli":null},"imports":["const sailthru = require('sailthru-client').createSailthruClient(apiKey, apiSecret, options);","const version = require('sailthru-client').VERSION;","const ProxyAgent = require('proxy-agent');"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"const ProxyAgent = require('proxy-agent');\nconst sailthruClient = require('sailthru-client');\n\nconst apiKey = process.env.SAILTHRU_API_KEY ?? '';\nconst apiSecret = process.env.SAILTHRU_API_SECRET ?? '';\nconst proxyUrl = process.env.HTTP_PROXY || ''; // e.g., 'http://168.63.43.102:3128'\n\nconst clientOptions = {};\nif (proxyUrl) {\n  clientOptions.agent = new ProxyAgent(proxyUrl);\n}\n\nconst sailthru = sailthruClient.createSailthruClient(apiKey, apiSecret, clientOptions);\n\n// Enable logging for debugging (optional)\nsailthru.enableLogging();\n\n// Make a POST request to add an email to a list\nconst data = {\n  email: 'testuser@example.com',\n  lists: {\n    'my-newsletter-list': 1 // 1 for subscribe, 0 for unsubscribe\n  },\n  vars: {\n    firstName: 'Test',\n    lastName: 'User'\n  }\n};\n\nsailthru.apiPost('email', data, function(err, response) {\n  if (err) {\n    console.error('Error adding email:', err.message || err);\n    // Log detailed error from Sailthru API if available\n    if (err.statusCode) console.error('Status Code:', err.statusCode);\n    if (err.error) console.error('Error Code:', err.error);\n    if (err.errormsg) console.error('Error Message:', err.errormsg);\n  } else {\n    console.log('Successfully added email to list:', response);\n  }\n});","lang":"javascript","description":"This quickstart demonstrates how to initialize the Sailthru client with API credentials and optional proxy settings, then make an `apiPost` call to add a user's email to a specified list, including error handling.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}