Developer Documentation

Based upon current standard technologies and methodics our API is an easy-to-use and simple tool for all application and web developers to extend our or their services and usability.

Certainly we will add additional functionality and features to our API over the time. Perhaps you do have ideas or feature requests, so feel free to use our feedback forum or contact us directly.

Formulation

The Speap API is currently using XML-RPC. Using PHP the following libraries could be used to simply connect to the Speap API:

We will implement more formulation methodics like SOAP or JSON in the future.

Server

You could reach our API using the following scheme.

Base URL: https://www.speap.net
Path XML-RPC: /api/xmlrpc/

Authentication

There are several authentication methods available for our API.

Remember: All API usage will only be working, if the corresponding user has enabled the appropriate API access flag.

UID, PIN

This method is using the UID and PIN of an appropriate user like it would be done on call-through.

Parameter Equals to Description
auth1 uid The UID like found in Access Codes.
auth2 pin The PIN like found in Access Codes.

URI

Similiar to Speap To this method is using the URI of an appropriate user.

Remember: A new user does NOT have an URI. It must be generated within the Access Codes first.

Parameter Equals to Description
auth1 uri The URI like found in Access Codes (must be generated first).
auth2 Leave empty.

Key, Sign (Planned, in Progress)

This is a new authentication method we are currently working on. It will depend on an additional API key, where the authentication results in an assignment between the user and an application. It will be documented after completion.

Methods

A short description of the available methods.

Method pingService

This method is used to check the connection and availablity of the Speap API services and servers. It returns the official Speap time (which is UTC) and a status message.

speap.pingService()

Parameters

None

Result

Name Type Default Example Description
ping Boolean 1 1 Always 1
date DateTime 2012-03-01 01:02:03 Official UTC based Speap time.
status String Server down from ... Status messages from Speap. Will containt current promotions too.

Method initiateCall

Using this method it will be possible to initiate a call (based on call-back) on the one hand, but requesting call rate and destination informations on the other hand is possible too.

speap.initiateCall(auth1, auth2, from, to, runNow)

Parameters

Name Type Default Example Description
auth1 String See Authentication.
auth2 String See Authentication.
from String 16040000000 Phone number (E.164 format) of the "calling" party (where the call-back goes to).
to String 16040000000 Phone number (E.164 format) where the call goes to.
runNow Boolean 1 If set to 1, the call is initiated, otherwise only the call data will be returned.

Result

Name Type Default Example Description
initiatorNumber String 16040000000 Phone number (E.164 format) of the "calling" party (where the call-back goes to).
initiatorCountry String CA Country code (2-letters) of the initiator phone number.
initiatorArea String FIXED Network type of the initiator phone number.
initiatorRate Float 0.010 Rate for the call to the initiator phone number.
calleeNumber String 16040000000 Phone number (E.164 format) where the call goes to.
calleeCountry String CA Country code (2-letters) of the callee phone number.
calleeArea String FIXED Network type of the callee phone number.
calleeRate Float 0.010 Rate for the call to the callee phone number.
callBack Boolean/Tri-State 1 0: Something went wrong. 1: Call-Back is queued. -1: Everything would be ok, but runNow was 0.

Method sendMessage

Send a message using this method. Processing time for this method is much longer, but the result "is sent" means that the message is sent.

speap.sendMessage(auth1, auth2, from, to, subject, body, type)

Parameters

Name Type Default Example Description
auth1 String See Authentication.
auth2 String See Authentication.
from String 16040000000 Phone number (E.164 format) of the "calling" party (where the message is sent from). Remember: This field could only be set to a number the appropriate user owns on Speap.
to String 16040000000 Phone number (E.164 format) where the message goes to.
subject String Hello World! Subject of the message, depending on type, subject and body could be concatenated.
body String Still Hello World! Body of the message, depending on type, subject and body could be concatenated.
type String SMS Type of the message. Currently only "SMS" is supported.

Result

Name Type Default Example Description
initiatorNumber String 16040000000 Phone number (E.164 format) of the "calling" party (where the message is sent from).
initiatorCountry String CA Country code (2-letters) of the initiator phone number.
initiatorArea String FIXED Network type of the initiator phone number.
initiatorRate Float 0 Alyways 0.
calleeNumber String 16040000000 Phone number (E.164 format) where the message goes to.
calleeCountry String CA Country code (2-letters) of the callee phone number.
calleeArea String FIXED Network type of the callee phone number.
calleeRate Float 0.010 Rate for the call to the callee phone number.
sent Boolean 1 0: Something went wrong. 1: Message is sent.

Method requestBalance

Request the current account balance.

speap.requestBalance(auth1, auth2)

Parameters

Name Type Default Example Description
auth1 String See Authentication.
auth2 String See Authentication.

Result

Name Type Default Example Description
value String USD 1.019 This is a currency type data field, transported as a string. The assigned currency and current account balance is returned.

About us

We wants to offer cheapest but reliable worldwide phone connections in a simple usable way. No special equipment is needed to use this service. You simply have to call the appropriate phone number for your country, enter the number you want to call and start talking.

Follow us

MySpace, Identi.ca

Graphics and Icons are partly taken from Double-J Design.