Authenticates and retrieves an access token for the Salesforce Marketing Cloud API. The token can be used for either the REST or SOAP API.
- Simple
- Lightweight
- Modern: utilizes ES6, Promises via
async/await
, Object rest spread, andnode-fetch
- As such, Node 8.6 or higher is required.
Install with Yarn
yarn add marketing-cloud-auth
To retrieve an access token, require the class and provide your API client ID and secret.
// your-file.js
const MarketingCloudAuth = require('marketing-cloud-auth');
// Instantiate the `MarketingCloudAuth` class
const auth = new MarketingCloudAuth({
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
});
// Retrieve an access token using async/await...
const retrieve = async () => {
const token = await auth.retrieve();
console.log(token);
// Will output somthing similar to
// { value: 'your-token', expiresIn: 3479 }
}
retrieve();
// Or directly with a promise...
auth.retrieve().then(token => console.log(token));
Subsequent calls to auth.retrieve
will not make additional HTTP requests unless the token has expired or you explicitally force a new call via auth.retrieve({ force: true })
.
Once the token is retrieved, you can include it in your REST API calls:
GET https://www.exacttargetapis.com/platform/v1/endpoints
Accept: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
Or your SOAP calls
<soap:header>
<fueloauth>YOUR_ACCESS_TOKEN</fueloauth>
</soap:header>
<!-- OR (depending on which Salesforce docs you trust...) -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:fueloauth xmlns="http://exacttarget.com"
xmlns:h="http://exacttarget.com">
YOUR_ACCESS_TOKEN
</h:fueloauth>
</s:Header>
[...]
</s:Envelope>
For more information, see