Getting Started
Contents


Rogerthat on your smartphone or tablet
Rogerthat Messenger is free. It is available on smartphones and tablets. The app can be installed from the various mobile app stores. You need a Google or Facebook account to log in.
- Apple App Store
- Android Market
- Windows Phone Marketplace (*)
- Blackberry App World (*)
- Nokia Ovi Store (*)
(*) Coming soon
Rogerthat in your browser
On devices with a larger screen or keyboard, it is more efficient to use the in-browser Rogerthat Messenger. Rogerthat will keep the browser and mobile messages perfectly synchronized in real time. You can use both media at the same time.
Using Rogerthat in your browser is free.
Rogerthat for services
Services and software tools can use the Rogerthat ecosystem to communicate with Rogerthat users. A service user is a special kind of Rogerthat user. His privileges are
- Can use the API to communicate with other Rogerthat users
- Can use the API to send or receive friendship requests or unfriend requests
- Can send “branded messages” i.e. messages which are rendered on phone or in browser using a style sheet and images
- No ads on messages
- Additional messaging features
- Button confirmation dialog
- Notification sound customization and repeating
We charge a monthly fee for Rogerthat service users.
Request your free trial account.
Communication flow
Communication from your server to Rogerthat server
- POST to https://rogerth.at/api/1
- Content-type is application/json-rpc
- In the Service Control Panel you can retrieve your API Key. Your server can authenticate to the Rogerthat server by putting this API Key in the HTTP header X-Nuntiuz-API-Key (note: project Nuntiuz was an old name for Rogerthat Messenger)
- Simplified example message from your server to Rogerthat server:
POST /api/1/ HTTP/1.1 Content-type: application/json-rpc; charset=utf-8 X-Nuntiuz-API-Key: your_secret_api_key { "method": "messaging.send", "params": { "message": "Your order 'Animal Farm' has been shipped to you.", "members": [ "test@example.com" ], }, "id": "a_json_rpc_id_of_your_choice" } - Note: In this document we use a green background color for HTTPS requests initiated by the TPS (Third Party Service) to Rogerthat, and the corresponding HTTPS response sent by Rogerthat to the TPS.
Communication from Rogerthat to your service
- POST to a HTTPS URL on your server. You define this URL in the Service Control Panel
- The body is in the JSON-RPC format. See the JSON-RPC specificationfor more information
- The Content-type header is mandatory and must have value “application/json-rpc”
- The content is a JSON-RPC dictionary
- The field “method” is mandatory and describes the method to be called
- The field “params” is mandatory and contains the arguments to the method
- The field “id” is a mandatory JSON-RPC id. The same id must be used for a request and response
- You can configure a Service Key in the Service Control Panel. The Rogerthat server will use the Service Key to authenticate itself to your server. The Service Key must be put in the HTTP header X-Nuntiuz-Service-Key
- Simplified example callback communication between Rogerthat and your service:
POST /your/rogerthat/callback/url HTTP/1.1 Content-type: application/json-rpc; charset=utf-8 X-Nuntiuz-Service-Key: your_secret_service_key { "method": "messaging.update", "params": { "received_timestamp": 1301396903, "member": "john.doe@acme.com", "message_key": "7bcc1b94-c193-47bf-ae85-157565ac0e78" }, "id": "a_jsonrpc_id" } - Note: In this document we use a purple background color for HTTPS requests initiated by Rogerthat to the TPS (Third Party Service), and the corresponding HTTPS response sent by the TPS to Rogerthat.
Messaging
The picture below highlights the most important communication steps for messaging.
Typical steps
- Your service sends a message to Rogerthat user john@example.com by sending a JSON_RPC HTTPS POST request to the Rogerthat service URL https://rogerth.at/api/1When the HTTPS call returns, you are guaranteed that the message has been delivered to the Rogerthat service, and that as soon as user john@example.com connects using his mobile device or browser, the message will be delivered to him.
- As soon as the message has been effectively delivered to user john@example.com, the Rogerthat service will notify your service by sending a JSON_RPC HTTPS POST request to the callback URL you have defined for your service. This way you can keep track when messages are received by your recipients.
- When john@example.com selects a quick reply button, the Rogerthat service will notify your service through the callback URL.
- Your service can decide to seal the message, such that John cannot change his quick reply answer anymore. To do this, your service sends a post to the Rogerthat service URL
More complex examples involving multiple message participants and multiple quick reply buttons can be found in the API reference.
Managing friendship
Two Rogerthat parties must be Rogerthat “friends” if they want to be able to communicate. This ensures that spam is banned from Rogerthat messaging.
Making or breaking friendship
- Both a regular user or a Rogerthat service user can take the initiative to request friendship with each other. The other party has to approve this friendship.
- Both a regular user or a Rogerthat service user can take the initiative to break friendship. This is unilateral. The other party does not need to approve.
Steps when initiating friendship request by regular Rogerthat user
- John requests to become friends with your Rogerthat service. John can do this
- By scanning the Rogerthat passport (QR code) of a service
- By entering the email address of a service
- The Rogerthat server posts a friendship request HTTPS request to the callback URL of your service
- Your service decides whether this user can be accepted as a friend and responds to the HTTPS request
In a similar way, a regular Rogerthat user can break friendship with a service. This is immediate. The service cannot accept/refuse this.
Example:
POST /your/rogerthat/callback/url HTTP/1.1
Content-type: application/json-rpc; charset=utf-8
X-Nuntiuz-Service-Key: your_secret_service_key
{
"method": "friend.invited",
"params": {
"email": "john.doe@foo.com",
"name": "John Doe",
"message": "My customer account in your system is ABCD-1234",
"language": "en"
},
"id": "some_json_rpc_id"
}
...
HTTP/1.0 200 OK
Content-type: application/json-rpc
{
"result": "accepted",
"error": null,
"id": "some_json_rpc_id"
}
Steps when initiating friendship request by Rogerthat service
- Your service sends a request to the Rogerthat service api URL to become friends with john@example.com
- As soon as John comes online (mobile device or browser), the friendship request is delivered to John
- If John accepts this friendship request, your service will receive a HTTPS POST request to your callback URL. If John does not accept this request, or ignores it, you will never receive a callback
When your service wants to break friendship with a regular user, one api call to the Rogerthat Service API URL is enough.
Example:
POST /api/1/ HTTP/1.1
Content-type: application/json-rpc; charset=utf-8
X-Nuntiuz-API-Key: your_secret_api_key
{
"method": "friend.invite",
"params": {
"email": "john.doe@foo.com",
"name": "John Doe",
"message": "Hi John,\nDo you want to join connect to this service?",
"language": "nl",
"tag": "725985B4-B805-4F02-9971-FE61A60F9D27"
},
"id": "86754A03-0531-49E3-96F6-76EEDC005274"
}



