Рубрики
Без рубрики

Журнал SMS Data в Google Sheets с помощью Twilio и Flask

Мое представление Twilio x Dev Hackathon!. Tagged с Twiliohackathon, Twilio, Python, Flask.

Счастливого вечера среды и последнего дня Twilio x Dev Hackathon! Надеюсь, у вас все хорошо. Было здорово провести апрель месяц, работая с Twilio и Google Sheets в этом проекте, чтобы получить данные SMS из опроса.

Для тех, кто, возможно, не видел другие посты в этой серии, вы можете просмотреть их выше. Первый пост начался как первоначальное начало проекта по отслеживанию мигрени с SMS, что является всего лишь вступительным постом.

Настройка Google Sheets обсуждается при настройке Python для подключения к Google Sheets, где я говорил об ошибках API из -за объема вместе с проблемами пути с Pytest.

В моем первом опыте работы с Флэком рассказывается о том, что я узнал, используя Flask впервые, в котором я обсуждал проблемы портов, типы данных, типы данных и сеансы колбы. В этом разделе также подробно описываются проблемы с тем, чтобы добраться до следующего вопроса в опросе.

Окончательная интеграция Google Sheets и Twilio обсуждается при интеграции Twilio с Google Sheets. В этом посте обсуждаются результаты очистки в списке и проблемы с импортом данных с Google Sheets, добавляющими отдельные цитаты в начале чисел и дат.

С учетом всего сказанного, сегодняшний пост будет сосредоточен на завершении хакатона Twilio X Dev, а также прохождение и обсуждение потока приложения через функции в app.py Анкет

Быстрый резюме

Для быстрого резюме концепции проекта, я провожу время, занимающиеся журналом мигрени для офиса врачей, но не помню формата, которую она хотела, или детали, которые она нашла важными. Это приложение было создано как способ запросить опрос для мигрени, быстро заполнить детали и зарегистрировать данные для последующего использования на назначении врачей.

Обычно задаваемые вопросы о мигрени

Ниже приведен список часто задаваемых вопросов, касающихся мигрени:

  • В масштабе 1-10, как бы вы оценили свою мигрени?
  • Где ваша мигрень находится сегодня?
  • Как долго ваша мигрень длилась (в часы)?
  • Какие лекарства вы принимали для лечения мигрени?
  • Что -нибудь изменилось? Что -нибудь из обычного? У вас есть другие заметки, которые нужно добавить?

Категория – вовлеченные обязательства и интересные интеграции

Во время этого хакатона я сосредоточился на двух категориях: вовлеченные обязательства и интересные интеграции.

Вовлеченные обязательства Посмотрел на разработку приложений, которые компания могла бы реализовать, чтобы лучше взаимодействовать со своими клиентами или управлять своим бизнесом. Применение этого типа может использоваться офисами Doctors для сбора данных, обычно необходимых во время посещений пациентов, или для того, чтобы пациенты собирали свои собственные данные для использования в их посещениях.

Интересная интеграция сосредоточен на интеграции API Twilio, по крайней мере, с одним еще одним API. Это приложение интегрировало Twilio с API Google Sheets, чтобы войти в систему данных в формате простых в доступе.

Заполнили Twilio Codeexchange Соглашение: ✔ Согласился с условиями конкурса: ✔ ️

Ссылка на код

Чтобы клонировать код, пожалуйста, посетите проект GitHub Отслеживание мигрени Анкет

Демо -ссылка

В репозитории также есть GIF, показывающий краткий демо кода. Есть также Readme Доступно для тех, кто хотел бы запустить код локально и попробовать его.

Поток приложения

Первый маршрут, который достигается, когда приложение получает SMS, – это /смс маршрут, который вызывает функцию sms_survey () Анкет Эта функция выглядит, чтобы увидеть, приходит ли идентификатор вопроса, и в сеансе функция перенаправлена на /Ответ маршрут.

Прежде чем придет идентификатор вопроса, функция сначала по умолчанию будет сбором номер Twilio, номер пользователя и дату. Примечание: они были скрыты в демонстрационных данных в Google Sheets. Эти значения добавляются к собранному списку данных, а затем приветственное сообщение будет отображаться пользователю через Welcome_user () функция После отображения приветственного сообщения пользователь перенаправляется на первый вопрос в опросе.

Welcome_user () , видно ниже, вернет краткое сообщение пользователю. Тогда пользователь направлен на /Вопрос/<Вопрос_ID> маршрут.

/Вопрос/<Вопрос_ID> Маршрут принимает идентификатор вопроса и сообщает приложению, с каким вопросом он должен ответить пользователю. Используя идентификатор вопроса, мы передаем идентификатор в Parsejson Вытаскивает первый вопрос и его тип. Идентификатор вопроса хранится в переменной сеанса под названием Вопрос_id для использования в качестве приложения ищет следующий вопрос или конец опроса. Как только это было захвачено, sms_twiml () Функция вызывается с вопросом и типом.

Эта функция отвечает сообщением и типом данных, чтобы попросить пользователя. Три типа данных, запрашиваемых в этом опросе, – это текст, часы или числовое число от 1 до 10.

После того, как пользователь ответил на вопрос, приложение будет перенаправлено на /answer/ маршрут. Этот маршрут сначала обращается к следующему идентификатору вопроса, который используется для получения данных, собранных из Parsejson объект. Затем пользователь ввел данные для предыдущего вопроса, извлеченные и добавлены в data_collected список. extract_content () Возвращает либо текст для текстовых элементов, либо цифры цифр для часов и цифровых ответов. Если данные доступны для следующего вопроса, опрос будет продолжаться путем перенаправления на /Вопрос/<Вопрос_ID> Маршрут, в противном случае опрос закончится и отобразит прощальное сообщение с помощью Goodbye_twiml () функция

redirect_twiml () перенаправляет опрос в /Вопрос/<Вопрос_ID> Маршрут, чтобы позволить пользователю просматривать и ответить на следующий вопрос, повторяя процесс, пока не будут отвечать на все вопросы.

Goodbye_twiml () Функция заканчивает опрос, добавляя все данные, собранные в лист Google, используя Электронная таблица объект. После того, как для пользователя отображается сообщение на прощание, собранные данные очищаются из data_collected Список и переменная сеанса для Вопрос_id очищен.

И это общий поток кода от первого вопроса до последнего.

Стек разработки

Спасибо за то, что следили за прошлым месяцем, так как все произведения собрались вместе, чтобы войти в систему данных в лист Google из SMS -опроса.

Спасибо всем, кто собрал этот хакатон и участвовал в нем. Счастливого мая!

Дополнительные ресурсы

Справочные ссылки

Twilio’s Rest API Автоматизированный опрос – приложение Python Flask Образец GitHub Automated Survey Google Sheets и Python Пример Доступ к электронным таблицам Google с помощью Python

Оригинал: “https://dev.to/rosejcday/log-sms-data-in-google-sheets-using-twilio-and-flask-7he”