Why does this exist?
EchoMobile provide a great communications platform, but not much in terms of programmatic access. There is an API but that needs a lot of raw requests to get to working (it's a pain to say the least), so I decided to build this!!
Pre-requisites
- An EchoMobile account, enterprise or otherwise
- Python 3.6 or higher
- See how to get the user credentials here
Installation
pip install pyforecho
Usage
from pyforecho import EchoMobile
if __name__ == "__main__":
echo = EchoMobile(acc_id = 12345, eid = 6789, e_passw = "pass")
echo.test_connection()
client = echo.clients.lookup(phone = "254718953619")
for a_client in echo.clients.get_all(since = 1604188800, group_name = "MYGROUP"):
print(a_client)
The more detailed documentation - https://pyforecho.readthedocs.io/en/latest/
TODO
- surveys.list_surveys() doesn't filter by project_name or project_id
- /api/cms/project creates a new project instead of listing existing ones
Changelog
0.0.6 7th Dec 2020
Added
inbox.list_messages()
surveys.list_surveys()
surveys.get_survey_responses()
0.0.5 7th Dec 2020
Fixed
- api.clients.create() to include the client's name in the payload
0.0.4 7th Dec 2020
Fixed
- Exception Handling. Instead of throwing exceptions, bools are returned instead
0.0.3 7th Dec 2020
Added
- Survey triggering
- Utility to check if client is available for survey
- Updating client custom field
- Custom Exceptions
0.0.2 7th Dec 2020
Added
- Sending bulk messages
0.0.1 23rd Nov 2020
Released
- Bare bones version with only the ability to create, lookup and get all contacts