gforce

Simplest lightweight Salesforce API Library for Node.js.

Usage no npm install needed!

<script type="module">
  import gforce from 'https://cdn.skypack.dev/gforce';
</script>

README

gforce

Simplest lightweight Salesforce API Library for Node.js.

Known Vulnerabilities Downloads Version License

Supports the following record methods:

  • Create
  • Update
  • Get entire record
  • query
  • Delete
  • Get record field values

Install

npm i gforce

Usage

const SalesforceConnection = require('gforce');

const connection = new SalesforceConnection({
    username: //username
    password: //password
    clientId: //connected app client id
    clientSecret: //connected app client secret
});
await connection.login();

Create

try {
    const response = await connection.createRecord('Account', {Name: 'Gilad'});
    //response = {id, success, errors}
} catch (err) {
    //err = [{ errorCode, message }] 
}

Update

try {
    await connection.updateRecord('Account', '<newRecordId>', {Name: 'updatedAccount'});
} catch (err) {
    //err = [{ errorCode, message }] 
}

Get entire record

try {
    const account = await connection.getRecord('Account', '<newRecordId>');
    //account = {Id, ...}
}
catch (err) {
    //err = [{ errorCode, message }] 
}

Query records

try {
    const response = await connection.queryRecords(
            `q=SELECT name from Account where name=\'Gilad\'`);
    // response = {totalSize, done, records}
}
catch (err) {
    //err = [{ errorCode, message }] 
}

Delete

try {
    await connection.deleteRecord('Account', '<recordId>');
} catch (err) {
    //err = [{ errorCode, message }]
}
Get record field values
try {
    const accountFieldValues = await connection.getFieldValues(type, myAccountId, ['AccountNumber', 'BillingPostalCode']);
    // accountFieldValues = { "attributes", AccountNumber, BillingPostalCode, "Id" ..}
} catch (err) {
    //err = [{ errorCode, message }]
}

License

See license (MIT License).

Authors

Tests

In order to run tests you will need to define the following process environment variables:

CLIENT_ID=myClientID
CLIENT_SECRET=myClientSecret
USERNAME=myUserName
PASSWORD=myPassword