Promised based SDK for the Smartling Translation API
Supported functions:
- list
- status
- get
- upload
- rename
- delete
Install smartling-sdk:
$ npm install smartling-sdk
Require and use it:
var SmartlingSdk = require("smartling-sdk");
//Create a new sdk object with your Smartling information
var sdk = new SmartlingSdk(SmartlingSdk.API_BASE_URLS.SANDBOX, 'your-smartling-api-key', 'your-smartling-project-id');
// Get a list of available files
sdk.list()
.then(function(response) {
console.log(response);
})
.fail(function(err) {
// an error has occurred
});
// Upload a file
sdk.upload('./path/to/some-file.json', 'some-file', 'json')
.then(function(response) {
// File uploaded successfully
console.log(response);
})
.fail(function(err) {
// an error has occurred
});
// Get a status of a file
sdk.status('some-file', 'en')
.then(function(statusInfo) {
console.log(statusInfo);
})
.fail(function(err) {
// an error has occurred
});
// Get a file
sdk.get('some-file')
.then(function(fileContents) {
// File retrieved successfully
console.log(fileContents);
})
.fail(function(err) {
// an error has occurred
});
// Rename a file
sdk.rename('some-file', 'some-file-with-a-new-name')
.then(function(response) {
//File renamed successfully
})
.fail(function(err) {
//an error has occurred
});
// Delete a file
sdk.delete('some-file-with-a-new-name')
.then(function(response) {
//File deleted successfully
})
.fail(function(err) {
//an error has occurred
});
For more in depth documentation look at the comments in smartling.js
###Unit testing & Code coverage Unit tests run against prerecorded API responses via node-replay.
Unit test configuration is located in ~/test/config/unit.json but you don't need to modify it since the responses are prerecorded.
To run the unit tests and code coverage:
npm test
###Integration testing Integration tests will run against the real Smartling API.
To run the integration tests first you will need to add your apiKey and projectId to ~/test/config/integration.json
{
"apiBaseUrl": "https://sandbox-api.smartling.com/v1",
"apiKey": "your-api-key",
"projectId": "your-project-id"
}
Then you can run the script:
npm run integration