Project

minitel

0.01
No commit activity in last 3 years
No release in over 3 years
𝕋𝔼𝕃𝔼𝕏 client
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.6
~> 3.0
~> 1.20

Runtime

~> 0.20
 Project Readme

𝕄𝕀ℕ𝕀𝕋𝔼𝕃

A 𝕋𝔼𝕃𝔼𝕏 client

Gem Version Build Status

Producer Credentials

Get credentials to use by following the instructions here: https://github.com/heroku/engineering-docs/blob/master/components/telex/user-guide.md

Installing Minitel

You'll need to add our private gemserver first, see here: https://gemgate-heroku-internal-gems.herokuapp.com/setup-instructions

Quick Setup

This will help you send a notification to just yourself, as a sanity check that everything is set up properly

Before you do this:

  • Get your producer credentials (above)
  • get minitel (above) and dotenv installed locally
  • Grab your user account id, for example by doing: heroku api get /account | jq '.id' -r
# .env
TELEX_URL = 'https://user:pass@telex.heroku.com'
MY_USER_ID = '123'
# minitel-testing.rb or irb
require 'dotenv/load'
require 'minitel'

client = Minitel::Client.new(ENV['TELEX_URL'])

message = client.notify_user(user_uuid: ENV['MY_USER_ID'], title: 'Test Notification', body: 'Test Notification Body.')
puts "message " + message['id'] + " sent"

Once you run this, you should receive both:

  • receive an email (eventually, depending on the backlog)
  • see this in Dashboard's Notification Center

Usage Examples

require 'minitel'
# create a client
client = Minitel::Client.new("https://user:pass@telex.heroku.com")

# send a notification to the owner and collaborators of an app
client.notify_app(app_uuid: '...', title: 'Your database is on fire!', body: 'Sorry.')
# => {"id"=>"uuid of message"}

# send a notification to a user
client.notify_user(user_uuid: '...', title: 'Here is your invoice', body: 'You owe us 65k.')
# => {"id"=>"uuid of message"}

# send a notification with an email action
# see: https://developers.google.com/gmail/markup/reference/go-to-action
client.notify_user(user_uuid: '...',
  title: 'Here is your invoice',
  body: 'You owe us 65k.',
  action: { label: 'View Invoice', url: 'https://heroku.com/invoices/12345-12-98765'})

# add follow-up to a previous notification
client.add_followup(message_uuid: '...', body: 'here are even more details')