To publish a new version of this package, you have to build the project before run npm publish
.
The purpose of this library is to provide a Typescript wrapper around Salesforce Marketing Cloud API: SFMC.
yarn add @gojob/sfmc-rest-sdk
import SFMC from '@gojob/sfmc-rest-sdk';
const sdk = new SFMC({
domain: "mcdomainname",
clientId: "123",
clientSecret: "456",
grantType: "client_credentials",
});
// ...
const makeSyncRequest = async () => {
try {
await sdk.dataEvents.sync.insertRows(
[{
keys: { subscriber_key: '123' },
values: { email: 'test-123@example.com' },
}],
"DATAEXTENSION_KEY"
);
} catch (e) {
console.log(e);
}
};
await makeSyncRequest();
When dealing with SFMC REST API, all requests have to be authentified through a OAuth token that has a time based expiration. All requests must also be correctly declaring permission roles. This sdk handle automatic authentification and token renewal through the v2/token Marketing Cloud APIs
In addition to authentification, the Requestable class can be used to request any REST endpoint of the Marketing Cloud APIs that wouldn't be wrapped into existing classes
import { Requestable } from '@gojob/sfmc-rest-sdk';
const req = new Requestable();
req.authenticatedRequest({
type: RequestType.POST,
endpoint: `hub/whatever/mc/endpoint`,
scope: Scope.according_scope,
data,
});
Class | REST API Doc | Description |
---|---|---|
Auth | SFMC.Auth | Authentification V2 token API |
DataEventsSync | SFMC.DataEvents | Sync operations on dataextensions |
DataEventsASync | SFMC.DataEvents | Sync operations on dataextensions |