Skip to content

Message Streams

Igor Balos edited this page Mar 8, 2021 · 4 revisions

For these API requests you will need to use a server API token. Once you obtain it, you will need to use server API client.

let postmark = require("postmark")
const serverToken = "xxxx-xxxxx-xxxx-xxxxx-xxxxxx"
let client = new postmark.ServerClient(serverToken);

Get list of message streams

client.getMessageStreams({includeArchivedStreams: true, messageStreamType: 'inbound'}).then(result => {
  const stream = result.MessageStreams[0];
  console.log(result.TotalCount);
  console.log(stream.Name);
  console.log(stream.Description);
});

Get message stream

client.getMessageStream('outbound').then(result => {
  console.log(result.Name);
  console.log(result.Description);
});

Update message stream

client.editMessageStream('outbound', 
{ Name: 'Default Outbound Stream', 
  Description: 'Description',
  SubscriptionManagementConfiguration: { UnsubscribeHandlingType: UnsubscribeHandlingTypes.Postmark}
}).then(result => {
  console.log(result)
})

Create message stream

client.createMessageStream({
  Name: 'Test', ID: 'teststream', MessageStreamType: 'Transactional',
  SubscriptionManagementConfiguration: {UnsubscribeHandlingType: UnsubscribeHandlingTypes.None},
}).then( result => {
  console.log(result);
}).catch( error => {
  console.log(error);
});

Archive message stream

client.archiveMessageStream('streamid').then(result => {
  console.log(result.ExpectedPurgeDate)
});

Unarchive message stream

client.unarchiveMessageStream('streamid').then( result => {
  console.log(result.Name);
  console.log(result.ExpectedPurgeDate);
  console.log(result.SubscriptionManagementConfiguration);
  console.log(result);
})