2013-02-04 20:01:45 +01:00
{% extends "zephyr/portico.html" %}
{# API information page #}
{% block portico_content %}
< div class = "row-fluid" >
< div class = "span8" >
2013-04-11 19:39:54 +02:00
< h1 > We hear you like APIs...< / h1 >
< ul class = "breadcrumb" >
< li > < a href = "/" > Home< / a > < span class = "divider" > /< / span > < / li >
< li class = "active" > API< / li >
< / ul >
2013-04-17 17:24:07 +02:00
< p > We have a < a href = "/api/endpoints" > well-documented API< / a > that allows you to build custom integrations, in addition to our < a href = "/integrations" > existing integrations< / a > . For ease-of-use, we've created a Python module that you can drop in to a project to start interacting with our API.< / p >
< br / >
2013-06-04 16:01:42 +02:00
< a href = "https://humbughq.com/dist/api/python-humbug_0.1.8.tar.gz" class = "btn btn-large btn-primary btn-block" type = "button" > < i class = "icon-download icon-white" > < / i > Download Python bindings and examples< / a >
< span class = "pull-right muted" > Version 0.1.8< / span >
2013-02-04 20:01:45 +01:00
< p > < / p >
< h3 > Installation instructions< / h3 >
< p > This package uses distutils, so you can just run < code > python setup.py install< / code > after downloading.< / p >
2013-05-28 21:55:53 +02:00
< p > You can find your API key and allocate new API keys for
bots/integrations that you run on your < a href = "/#settings"
target="_blank">settings page< / a > .
Create < code > ~/.humbugrc< / code > and add the following text to
it:< / p >
2013-02-04 20:01:45 +01:00
2013-04-11 19:42:29 +02:00
< div class = "codehilite" > < pre > < span class = "k" > [api]< / span >
2013-05-28 21:55:53 +02:00
< span class = "na" > key< / span > < span class = "o" > =< / span > < span class = "s" > API_KEY< / span >
< span class = "na" > email< / span > < span class = "o" > =< / span > < span class = "s" > EMAIL_ADDRESS< / span >
2013-04-11 19:42:29 +02:00
< / pre > < / div >
2013-02-04 20:01:45 +01:00
2013-02-10 01:22:33 +01:00
< p > < strong > Don't want to make it yourself?< / strong > Humbug < a href = "/integrations" > already integrates with lots of services< / a > .< / p >
2013-02-04 20:01:45 +01:00
< p > < / p >
< h3 > Usage examples< / h3 >
< ul class = "nav nav-tabs" id = "api-example-tabs" >
2013-04-19 18:20:46 +02:00
< li class = "active" > < a href = "#curl" data-toggle = "tab" > curl< / a > < / li >
< li > < a href = "#python" data-toggle = "tab" > Python< / a > < / li >
2013-04-17 17:24:07 +02:00
< li > < a href = "#commandline" data-toggle = "tab" > humbug-send< / a > < / li >
2013-02-04 20:01:45 +01:00
< / ul >
2013-04-17 17:24:07 +02:00
< div class = "tab-content" >
2013-04-19 18:20:46 +02:00
< div class = "tab-pane active" id = "curl" >
2013-04-17 17:24:07 +02:00
< p > No download required!< / p >
{% comment %}
These code snippets are generated using our very own Humbug tool, by
sending them to myself in a code block, and then using the inspector
to pull out the resulting HTML :)
{% endcomment %}
< h4 > Stream message< / h4 >
< div class = "codehilite" > < pre > curl https://humbughq.com/api/v1/messages < span class = "se" > \< / span >
-u YOUR_EMAIL:YOUR_API_KEY < span class = "se" > \< / span >
-d < span class = "s2" > "type=stream"< / span > < span class = "se" > \< / span >
-d < span class = "s2" > "to=Denmark"< / span > < span class = "se" > \< / span >
-d < span class = "s2" > "subject=Castle"< / span > < span class = "se" > \< / span >
-d < span class = "s2" > "content=Something is rotten in the state of Denmark."< / span >
< / pre > < / div >
< h4 > Private message< / h4 >
< div class = "codehilite" > < pre > curl https://humbughq.com/api/v1/messages < span class = "se" > \< / span >
-u YOUR_EMAIL:YOUR_API_KEY < span class = "se" > \< / span >
-d < span class = "s2" > "type=private"< / span > < span class = "se" > \< / span >
-d < span class = "s2" > "to=wdaher@humbughq.com"< / span > < span class = "se" > \< / span >
-d < span class = "s2" > "content=I come not, friends, to steal away your hearts."< / span >
< / pre > < / div >
< / div >
2013-04-19 18:20:46 +02:00
< div class = "tab-pane" id = "python" >
2013-04-17 17:24:07 +02:00
< div class = "codehilite" > < pre > < span class = "c" > #!/usr/bin/env python< / span >
< span class = "kn" > import< / span > < span class = "nn" > humbug< / span >
2013-04-19 18:18:53 +02:00
< span class = "n" > client< / span > < span class = "o" > =< / span > < span class = "n" > humbug< / span > < span class = "o" > .< / span > < span class = "n" > Client< / span > < span class = "p" > (< / span > < span class = "p" > )< / span >
2013-04-17 17:24:07 +02:00
< span class = "n" > stream_message< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< span class = "s" > "type"< / span > < span class = "p" > :< / span > < span class = "s" > "stream"< / span > < span class = "p" > ,< / span >
< span class = "s" > "to"< / span > < span class = "p" > :< / span > < span class = "s" > "Denmark"< / span > < span class = "p" > ,< / span >
< span class = "s" > "subject"< / span > < span class = "p" > :< / span > < span class = "s" > "Castle"< / span > < span class = "p" > ,< / span >
< span class = "s" > "content"< / span > < span class = "p" > :< / span > < span class = "s" > "Something is rotten in the state of Denmark."< / span >
< span class = "p" > }< / span >
< span class = "n" > private_message< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< span class = "s" > "type"< / span > < span class = "p" > :< / span > < span class = "s" > "private"< / span > < span class = "p" > ,< / span >
< span class = "s" > "to"< / span > < span class = "p" > :< / span > < span class = "s" > "wdaher@humbughq.com"< / span > < span class = "p" > ,< / span >
< span class = "s" > "content"< / span > < span class = "p" > :< / span > < span class = "s" > "I come not, friends, to steal away your hearts."< / span >
< span class = "p" > }< / span >
< span class = "k" > print< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > send_message< / span > < span class = "p" > (< / span > < span class = "n" > stream_message< / span > < span class = "p" > )< / span >
< span class = "k" > print< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > send_message< / span > < span class = "p" > (< / span > < span class = "n" > private_message< / span > < span class = "p" > )< / span >
2013-04-11 22:51:48 +02:00
< span class = "c" > # Print each message the user receives< / span >
< span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > call_on_each_message< / span > < span class = "p" > (< / span > < span class = "k" > lambda< / span > < span class = "n" > msg< / span > < span class = "p" > :< / span > < span class = "n" > sys< / span > < span class = "o" > .< / span > < span class = "n" > stdout< / span > < span class = "o" > .< / span > < span class = "n" > write< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > msg< / span > < span class = "p" > )< / span > < span class = "o" > +< / span > < span class = "s" > "< / span > < span class = "se" > \n< / span > < span class = "s" > "< / span > < span class = "p" > ))< / span >
2013-04-17 17:24:07 +02:00
< / pre > < / div >
< / div >
< div class = "tab-pane" id = "commandline" >
< p > You can use < code > humbug-send< / code > (found in < code > bin/< / code > in the tarball) to easily send Humbugs from the command-line, providing the message to be sent on STDIN.
< h4 > Stream message< / h4 >
< div class = "codehilite" > < pre > humbug-send --stream Denmark --subject Castle< / span > < / pre > < / div >
< h4 > Private message< / h4 >
< div class = "codehilite" > < pre > humbug-send wdaher@humbughq.com< / span >
< / pre > < / div >
< h4 > Passing in the message on the command-line< / h4 >
< p > If you'd like, you can also provide the message on the command-line with the < code > -m< / code > flag, as follows:< / p >
< div class = "codehilite" > < pre > humbug-send --stream Denmark --subject Castle -m < span class = "s2" > "Something is rotten in the state of Denmark."< / span >
< / pre > < / div >
2013-02-04 20:01:45 +01:00
< / div >
2013-04-17 17:24:07 +02:00
< p > See also the < a href = "/api/endpoints" > full API endpoint documentation.< / a > < / p >
2013-02-04 20:01:45 +01:00
< / div >
< / div >
{% endblock %}