ππβπππΌπ
A ππΌππΌπ client
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) anddotenv
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')