Jott Blog

Developers

Why do I need a Jott Link?

Because you aren’t always at your computer! Access web services with your mobile phone, while running errands, on your way to work, or in between meetings. Jott Links connect you with other services such as blogs, calendars, and social networking sites. Jott Links are web pages that receive HTTP posts and write out a text response.

Jott Links enable you to send Jott messages to web-based services with APIs, such as a social networking sites or blogs. For example, if you add the Jott Link “Blogger” to your account, you can then call Jott and send a voice-to-text message to Blogger. Each Jott is connected to one program, which makes it easy to add new links or to build your own links.

How do Jott Links work?

Jott Links connect Jott to other applications by creating a layer of abstraction in between Jott and the other applications. This “in-between” layer is where Jott Links live.

A Jott Link is treated much like a contact. The difference is, when a user sends a message to a Jott Link instead of sending an SMS or Email message, an HTTP post is made.
The resulting text of this post is then delivered back to the user who sent the Jott. The Jott Link takes the transcribed message and delivers it to another online application such as Blogger or Twitter via that application’s API.

The following graphic shows how a JottLink works:

How a Jott Link Works

How do I build a Jott Link?

You can build Jott Links in any language and they can reside on any HTTP server. Create a dynamic web page to read posts and forward them to another service by using that service’s API and there you have it!

Click here to create your own custom links.

Types of Jott Links

There are two types of Jott Links: Those that require user-specific information, such as a username and password, and those that do not. Jott Links that require user-specific information also require an additional configuration Web page. The user is sent to this Web page when adding a Jott Link to their contact list. A unique userkey is given to the Jott Link for each user, which is used to lookup user-specific information each time a Jott Link receives an HTTP post.

Types of HTTP posts

HTTP posts include following arguments:

  • UserKey. The userkey parameter holds a unique identifier representing the user sending the Jott.
  • Message. The message parameter holds the transcribed Jott text.
  • Listen. The listen parameter holds a URL where the Jott audio can be heard.
  • CreationDate. A datetime string indicating when the Jott was created.

Sample HTTP posts

The following is an example post. The URL parameters are URL-encoded in a real post but are left un-encoded here so that they can be easily read.

http://example.com/Jott Link.cfm?userKey=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&message=Hello World&listen=http://www.jott.com/Listen.aspx?XXX-XXX-XXX-XXX&creationdate=8/1/2007+3:14:32&Confidence=4

Creating Jott Link responses

All Jott Links should deliver a text response back to the Jotter even if it is as simple as “Message successfully received”. To create a response, you write a plain text string out as a response to the Jott HTTP post.
Jott customers will have the option of receiving this message via SMS.

Configuring a Jott Link

When a Jotter adds a Jott Link to his or her contact list, the Jotter is redirected to the Jott Link Configuration page if configuration is required. This redirection includes a URL parameter holding the Jotter’s userkey. The following is an example:

http://example.com/Jott Linksetup.aspx?userKey=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&userid=XXX-XXX-XXX-XXX&contactendpointid=1

The Jott Link then stores the userkey along with any user-specific information. When the Jott Link receives an HTTP post, it can use the userkey to lookup the Jotter’s personal information.

Jott Link Branding Requirements

At the bottom of ANY Jott Link message, the following text needs to be added:

Via Jott.com

Sample Jott Link

The following Jott Link “HelloWorld.cs” is an example of a Jott Link that we developed that does not require user specific information. When it receives a Jott, it simply sends back a message stating that it received the message.

	using System;
	using System.Data;
	using System.Configuration;
	using System.Web;
	using System.Web.Security;
	using System.Web.UI;
	using System.Web.UI.WebControls;
	using System.Web.UI.WebControls.WebParts;
	using System.Web.UI.HtmlControls;
	using System.IO;
	using System.Collections;
	using System.Collections.Specialized;

	namespace Widgets.Links
	{
	    public class HelloWorld : IHttpHandler
	    {
	        public bool IsReusable { get { return true; } }

	        public void ProcessRequest(HttpContext context)
	        {
	            HttpFileCollection files = context.Request.Files;
	            NameValueCollection parameters = context.Request.Params;

	            string userKey = parameters["userKey"];
	            string message = parameters["message"];
	            string listenToLink = parameters["listen"];

	            string responseString = "Hello World!  Received Jott with text " + message + " Listen to Jott at ” + listenToLink;

	            StreamWriter responseWriter = new StreamWriter(context.Response.OutputStream);
	            responseWriter.WriteLine(responseString);
	            responseWriter.Close();

	        }
	    }
	}

Submit a Jott Link to the Repository

Have you developed a Jott Link that you’d like to share? If you would like to add your Jott Link to the Jott repository to make it easy for others to enjoy the fruits of your labor, please send a request to jottlinks@jott.com.
If you have comments on Jottlinks or ideas on how to improve it, please send us a message (feedback@jott.com). Please note that by doing so, you also grant Jott Networks and third parties permission to use and incorporate your ideas or comments into Jott (or third party software) without further compensation.

Please see our developer terms of service.