@boozt/sfmc-request
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

sfmc-request

Many years ago, one decided to take matters into their own hands and build a module that would help people avoid the unbearable burden of dealing with unexpected responses from the Marketing Cloud API.

The hero tried to use the existing SDKs and thoughtfully inspect the documentation. After some time of careful research, his labors were rewarded and this package was born.

At the moment, this is limited but quite useful functionality that will be expanded later.

what is the capable for?

  • DataExtensionRow (Insert, Update, Get, Delete) — sync calls
  • DataExtensionRowAsync (Insert, Upsert, Status, Result) — async calls

example of use

import { Client, DataExtensionRowAsync, DataExtensionRow } from '@boozt/sfmc-request'

const client = new ClientProvider(SFMC_BASE_URL, SFMC_SOAP_URL, SFMC_TOKEN_URL, [
      { name: SFMC_UNIT_NAME, clientId: SFMC_CLIENT_ID, clientSecret: SFMC_CLIENT_SECRET }
    ]).getClient(SFMC_UNIT_NAME)

const requestAsync = new DataExtensionRowAsync(client)
const requestSync = new DataExtensionRow(client)

const upsertResult = await requestAsync.upsert(TARGET_DE_KEY, upsertData)

if (upsertResult.ok) {
    logger.status(`Update successful, requestId: ${upsertResult.value.requestId}`)
} else if (upsertResult.ok === false) {
    return res.status(500).send(upsertResult.error.message)
}

const deleteResult = await requestSync.delete({ key: TARGET_DE_KEY }, deleteData)

if (deleteResult.ok) {
    logger.status(`Deletion successful, requestId: ${deleteResult.value.RequestID}`)
} else if (deleteResult.ok === false) {
    return res.status(500).send(JSON.stringify(deleteResult.error))
}

nice things

  • you can use your own implementation of the client
  • the module is covered with types as much as it could be done for a quick start
  • it will get more abilities in the foreseeable future

Readme

Keywords

none

Package Sidebar

Install

npm i @boozt/sfmc-request

Weekly Downloads

1

Version

0.0.4

License

ISC

Unpacked Size

48.9 kB

Total Files

24

Last publish

Collaborators

  • misoboozt
  • mgro
  • bang.boozt
  • mykr
  • boozt-platform
  • yebl