@marketing-cloud/auth
v0.2.0
Published
Salesforce Marketing Cloud REST Authentication
Downloads
2
Readme
Salesforce Marketing Cloud Authentication
Authenticates and retrieves an access token for the Salesforce Marketing Cloud API. The token can be used for either the REST or SOAP API.
Features
- Simple
- Lightweight
- Modern: utilizes ES6, Promises via
async/await
, Object rest spread, andnode-fetch
- As such, Node 8.6 or higher is required.
Install
Install with Yarn
yarn add @marketing-cloud/auth
Or with NPM
npm install @marketing-cloud/auth
Usage
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
- https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/authenticate-soap-api.htm
- https://developer.salesforce.com/docs/atlas.en-us.mc-getting-started.meta/mc-getting-started/get-access-token.htm