API for SMS and WhatsApp [Linux, Raspberry Pi, Gammu, Yowsup]
Для Raspberry Pi необходимо сделать (но также должны работать на другой ОС Linux):
1) нужно добавить способность как для смс, так и для WhatsApp сохранять все входящие и исходящие сообщения в базу данных
2) нужно добавить демоны, чтобы периодически провериять новые входящие сообщения, и если есть новые - запустить скрипт, чтобы сохранить сообщения в базе данных. Демоны необходимо перезагрузить автоматически, если они остановились или "рухнули"
3) необходимо разработать HTTP API для управления WhatsApp и смс
Следующие руководства были использованы для подготовки Raspberry Pi:
http://www.emmeshop.eu/blog/node/40
http://www.mattiasnorell.com/send-sms-from-a-raspberry-pi/
http://www.mattiasnorell.com/receive-sms-on-a-raspberry-pi/
Хорошая книга о API: https://pages.apigee.com/rs/apigee/images/api-design-ebook-2012-03.pdf
API должны требовать аутентификации. Предложите Ваши идеи, какой тип аутентификации использовать.
Аутентификация может также быть получены с помощью API.
Кроме того, все действия демонов и взаимодействия с API должны быть логгированы.
Как я вижу это:
есть специальная программа / скрипт. Я его запускаю и он:
1) создает базу данных, пользователя (как Linux и для базы данных) и таблицы для сохранения всех данных (полученных и отправленных сообщений)
2) устанавливает необходимые пакеты, демоны и настраивает их
3) устанавливает и настраивает API
4) проверяет, что API URL доступен из интернет
5) ... другие необходимые процедуры
6) в конце просит номер телефона в качестве {мастер телефона}, чтобы отправить смс и WhatsApp с кодами для проверки (требуется оба кода)
7) просит ввести полученные коды
8) может быть, сведения для аутентификации могут быть отправлены на {мастер телефон} (как идея)
Для целей тестирования работы API должен быть создан простой PHP скрипт !
Требования:
1) хорошее знание Linux
2) опыт в программировании для Linux {примеры в портфолио}
3) опыт работы с различными API {примеры в портфолио}
4) [большой плюс] опыт в разработке API {примеры в портфолио}
Рабочий процесс:
* Разработка кода на https://apiary.io/ или с использованием Django REST Swagger
* Код будет храниться в репозитарии GitHub, который по результатам работы будет передан Заказчику
* Сотрудничество (обсуждение, задачи, этапы, сроки и т.д.) через TeamWork.com
* Трекинг времени с TeamWork.com (при часовой работе)
В прикрепленном файле мои мысли о дизайне и функциональности API.
Жду от Вас бюджет за проект или предполагаемое количество часов и часовую ставку.