Я создал систему на основе задания cron, которая создает новые задачи для пользователя. Когда создается новая задача, cron-файл отправляет sms пользователю, используя twilio sms api. Теперь я хочу сделать что-то вроде, когда пользователь отвечает на sms со словом «Done», эта задача, связанная с sms, будет завершена в моей базе данных.
Я установил URL-адрес ответа в twilio-аккаунте. И все работает нормально. Моя точка зрения заключается в том, как я могу выполнить эту задачу в базе данных. Есть ли какая-либо функция в twilio, которая может помочь мне отправить дополнительный параметр в качестве идентификатора задачи, чтобы я мог получить этот идентификатор из ответа и обновить статус задачи.
Twilio разработчик евангелист здесь.
В SMS-сообщении нет способа ответить на конкретное сообщение (попробуйте сами в своем SMS-приложении на своем телефоне), поэтому нет идентификатора, который можно тайно прокручивать в разговорах.
Есть несколько способов, которыми вы можете обойти это.
Если пользователю отправляется только одна задача за раз, вы можете записать, какова их текущая задача, и когда вы получите сообщение «сделанное», отметьте его и отправьте им следующую задачу.
Вы можете отправить им идентификатор задачи в сообщении и сообщить им включить этот идентификатор, когда они отвечают, чтобы сказать, что они сделаны. Затем вы можете разобрать идентификатор из сообщения и пометить его как выполненный в вашей базе данных.
Или, и это может быть слишком далеко, вы можете использовать пул чисел для отправки задач таким образом, чтобы каждая живая задача для пользователя имела уникальный номер, на который пользователь отвечает. Затем вы можете найти задачу на основе пользователя и номер, на который они ответили. Затем вы можете высвободить номер для новой задачи.
Дайте мне знать, если это вообще поможет.