PyTill: пакет Python для Till Mobile

Создавать приложения для SMS и голосовых сообщений сложно, миссия Till Mobile - упростить эту задачу, предоставив простой интерфейс для создания приложений SMS и Voice. Чтобы сделать это еще проще, мы создали клиент Python с открытым исходным кодом PyTill (доступен на pypi для установки по протоколу).

Чтобы начать работу с PyTill, давайте посмотрим, как реализовать двухфакторную аутентификацию всего за 8 строк кода:

Начнем с Manifold и Till

Till прост - вы можете отправлять сообщения, вы можете получать сообщения или задавать вопросы, вы можете получать результаты по этим вопросам / полученным сообщениям, и вы можете отслеживать статистику использования Till / SMS.

Мы рекомендуем вам использовать Manifold CLI (начните здесь) как лучший способ предоставить такие услуги, как Till, для безопасного и эффективного управления учетными данными.

Создайте свою учетную запись Till

Вы можете предоставить бесплатный ресурс Till с помощью интерфейса командной строки следующим образом:

manifold create --project till-project --product till --plan free

Затем вы можете ввести свои учетные данные в качестве переменных среды:

manifold run --project till-project -— python your-till-app.py

Без Manifold вы бы вручную указали свой ключ API и имя пользователя:

export USERNAME=<your_till_username>
export API_KEY=<your_till_key>

Установите и импортируйте PyTill

Мы можем добавить PyTill в наш проект Python, используя pip для установки пакета:

pip install pytill

Затем импортируйте pytill в свое приложение:

from pytill import pytill

Отправка сообщений

Чтобы отправить текстовое сообщение, достаточно указать номер и сообщение, которое вы хотите отправить:

pytill.send_message(['19024880000'], 'I am sending a till message isnt that cool!')

Получение сообщений; Задавать вопросы

Мы задаем вопрос, чтобы включить двустороннюю связь с Till, и получаем ответы через определенный веб-крючок.

question = pytill.make_question('How cool is Till mobile?', 'my-question', 'my.webhook/listens/here')
pytill.send_question(['19024441111', '16139094888'], [question], 'my-project')

Получение результатов

Мы используем get_results для получения результатов по конкретному вопросу:

print(pytill.get_results(question_tag=’my-question’))

Пример вывода:

{'meta': {'limit': 20, 'next': None, 'offset': 0, 'previous': None, 'total_count': 1}, 'objects': [{'created': '2018–08–27T19:07:35.423855', 'guid': '252cd98f-5969–44c9-a955–7bb54e6f0d19', 'origin_phone_number': '+16508668969', 'participant_guid': '883c8f57–74b9–43cb-bb72-c7634b97651a', 'participant_phone_number': '+19024000158', 'project_launch_guid': '80262aea-a77e-4a0c-911f-23b959aea6da', 'project_launch_participant_guid': '8a23ee27–4841–4f2b-83d5–2a59a05825b8', 'project_tag': 'my-project', 'question_display_order': '0', 'question_guid': '8c8c168f-87d5–454d-8bae-09781312c097', 'question_tag': 'my-question', 'question_text': 'How cool is Till mobile?', 'result_answer': 'really cool!', 'result_guid': '252cd98f-5969–44c9-a955–7bb54e6f0d19', 'result_response': 'really cool!', 'result_timestamp': '2018–08–27T19:07:35.423855', 'updated': '2018–08–27T19:07:35.423884'}]}

Чтение статистики

Используя get_stats, мы можем получить статистику использования:

print(pytill.get_stats())

Создание 2FA с PyTill

В 8 строках кода мы можем построить модуль генерации случайного кода и отправить его в sms как компонент 2FA.

# 2fa.py
import random
import string
from pytill import pytill
if __name__ == "__main__":
    code = ''.join(random.choices(string.ascii_letters +     string.digits, k=6))
    pytill.send_message(['19025555555'], 'Verification code is {}'.format(code))

Выполняем генерацию кода и отправляем смс с manifold run

manifold run -p till-project -- python 2fa.py

Чтобы сделать его еще более доступным, давайте отправим подтверждение в виде голосового сообщения:

# 2fa_voice.py
import random
import string
from pytill import pytill
if __name__ == "__main__":
    code = ' '.join(random.choices(string.ascii_letters +     string.digits, k=6))
    pytill.send_message(['19025555555'], 'Verification code is {}'.format(code), voice=True)

Обратите внимание, что я добавил пробел в строку кода, чтобы буквы и цифры читались по отдельности.

Давайте запустим его и отправим голосовой текстовый вызов, чтобы отправить проверочный код:

manifold run -p till-project —- python 2fa.py

Итак, у нас есть простой способ использовать Python и Till для реализации двухфакторной аутентификации в любом приложении.

Проверьте PyTill на GitHub

Не стесняйтесь проверять исходный код, а также открывать любые вопросы в репозитории PyTill GitHub:



Till - это ваш двусторонний SMS и голосовой микросервис, который теперь доступен. Используйте код TILL, чтобы получить кредит в размере 25 долларов США.

Связанное чтение

От фермы к облаку - история от Till Mobile

Начало работы с Till + Electron на манифольде

Общение стало еще проще - услуга двусторонней SMS и голосовой связи до присоединения к Manifold

ChatOps и SMS - выход за пределы эфира