API Documentation
Let your Dove go REST: Information for developersRequeriments
To understand this document you need minimal knowledge about HTTP calls, XML and JSON.
What we provide
We are providing an HTTP-based API to enhance both fastDove and your applications features.
All the information can be returned in both xml and json, depending on the extension/content type requested.
If you're working with Python, you may consider using our Python wrapper instead.
List of methods
Contacts
- GET /api/contacts.format : Get a list of all your contacts
- GET /api/contacts/id.format: Get full info of contact with id
-
POST/PUT /api/contacts.format: Add a contact
- name
- lastname
- prefix
- mobile
- groups (comma separated ids)
- POST /api/contacts/id.format: Edit a contact
- name
- lastname
- prefix
- mobile
- DELETE /api/contacts/id.format: Delete contact with id
- POST /api/contacts/delete.format: Delete multiple contacts by id
- contacts (comma separated ids)
Groups
- GET /api/groups.xml: List groups
- GET /api/groups/id.xml Get info from group with id
- PUT/POST /api/groups.xml Add a group
- name
- description
- contacts (comma separated ids)
- POST /api/groups/id.xml Edit group with id
- name
- description
- contacts (comma separated ids)
- DELETE /api/groups/id.xml Delete group with id
- POST /api/groups/delete.xml Delete multiple groups by id
- groups (comma separated ids)
Messages
- POST /api/message/send.xml: Send SMS
- text
- recipients[numbers] (comma separated numbers)
- recipients[contacts] (comma separated ids)
- recipients[groups] (comma separated ids)
- scheduled[is] (1|0)
- scheduled[date] (DD/MM/YYYY format)
- scheduled[hour] (HH:MM format)
- template (id)
- template_params (parameters defined on your template)
- senderid (id)
- GET /api/message/history.xml: Get history of sent messages
- DELETE /api/message/id.format: Delete message by batch id
- POST /api/message/delete.format: Delete multiple messages by batch id
- messages (comma separated ids)
Templates
- GET /api/templates.xml: List templates
- GET /api/templates/id.xml Get info of template with id
- PUT/POST /api/templates.xml: Add a template
- title
- message
- POST /api/templates/id.xml: Edit a template with id
- title
- message
- DELETE /api/templates/id.format: Delete template with id
- POST /api/templates/delete.format: Delete multiple templates by id
- templates (comma separated ids)
Devices
- POST /account/devices/associate.format: Associate a device with your fastDove account
- type (possible values: "iphone")
- token (device ID for push notifications)
- POST /account/devices/unassociate.format: Unssociate a device from your fastDove accuont
- type (possible values: "iphone")
- token (device ID for push notifications)
- GET /account/devices.format: Get the list of currently associated devices
Some examples
- Get a list of your contacts:
Just access to http://www.fastdove.com/api/contacts.xml
You will be asked for your username and password. Remember, this is a GET request if your are using it outside a browser
- Add a contact (using CURL):
curl -X POST -u user:passwd --data "name=John&lastname=Smit&mobile=34666666666" http://www.fastdove.com/api/contacts.xml
- Send a message (using CURL):
Datafile:
recipients[numbers]=34666666&text=Welcome to fastDovecurl -X POST -u user:passwd --data @datafile http://www.fastdove.com/api/message/send.xml
This method allows any of these parameters as recipients (or any combination of them):
- Direct numbers: recipients[numbers]
- Contacts: recipients[contacts] (by id)
- Groups: recipients[groups] (by id)
FAQ
- This documentation is useless. I need more info
- Is this secure? What authentication method is being used?
- Can I use fastDove's API inside my appliaction/project/cheese-powered robot?
- I need X, which is not implemented.
- This will be great to make an iPhone/android application! Are you aware of that?
Right now the documentation is a work in progress. We will open a wiki eventually
We are currently using httpauth to authenticate with the server. If you are concerned of someone hijacking/spying on your network, you should use alternative secure ways like tunneling and encryption.
Yes! Feel free to email us with your projects and ideas. We love innovation!
By now almost all fastDove's web funcionalities are implemented. If something is missing or not working feel free to contact us!
Yes, we are :)
