Skip to content

Message Streams

tomazy edited this page Apr 8, 2020 · 2 revisions

To interact with message streams you will need an instance of Postmark::ApiClient:

client = Postmark::ApiClient.new('<your server token>')

Create a message stream

client.create_message_stream(name: 'Ruby Newsletter', id: 'ruby-newsletter', message_stream_type: 'Broadcasts')
# {:id=>"ruby-newsletter",
#  :server_id=>112233,
#  :name=>"Ruby Newsletter",
#  :description=>nil,
#  :message_stream_type=>"Broadcasts",
#  :created_at=>"2020-04-08T12:41:04.7153143-01:00",
#  :updated_at=>nil,
#  :archived_at=>nil}

Update message stream

client.update_message_stream('ruby-newsletter', description: 'Weekly Ruby Newsletter')
# {:id=>"ruby-newsletter",
#  :server_id=>112233,
#  :name=>"Ruby Newsletter",
#  :description=>"Weekly Ruby Newsletter",
#  :message_stream_type=>"Broadcasts",
#  :created_at=>"2020-04-08T12:41:04-04:00",
#  :updated_at=>"2020-04-08T12:45:37.9956881-04:00",
#  :archived_at=>nil}

Fetch message stream

client.get_message_stream('ruby-newsletter')
# {:id=>"ruby-newsletter",
#  :server_id=>112233,
#  :name=>"Ruby Newsletter",
#  :description=>"Weekly Ruby Newsletter",
#  :message_stream_type=>"Broadcasts",
#  :created_at=>"2020-04-08T12:41:04-04:00",
#  :updated_at=>"2020-04-08T12:45:37.9956881-04:00",
#  :archived_at=>nil}

List message streams

client.message_streams.map { |h| h[:name] }
# ["Default Inbound Stream", "Default Transactional Stream", "Ruby Newsletter"]