-1

我有一个访客 wifi,要求用户拥有优惠券代码才能访问 wifi 网络。

我想要实现的是让用户向我的 twilio 电话号码发送一条短信。我希望用户以某种方式得到验证。验证后,将向用户发送一条带有唯一凭证代码的短信。

每个凭证代码都是唯一的,我需要一种上传它们的方法,以便 twilio 每次都可以获取一个新代码并将其发送给用户。

如果有人愿意在这方面帮助我,我将不胜感激。

我已经使用 twilio studio 创建了一个短信自动化。除了验证部分之外,它会执行我希望它执行的所有操作,并且我不确定每次触发流程时如何发送唯一代码。

谢谢!

4

1 回答 1

0

好的,您没有提到您用来与 Twilio API 通信的框架或语言。但我会解释原理。

首先,我建议您有一个数据表,用于存储您发送的代码和接收代码的用户。(如果您正在使用数据库,您可以将代码字段设置为唯一,这样您就可以确定重复)

然后在将代码发送到 Twilio API 以便它可以通过 SMS 将其转发给用户之前,您应该通过检查新生成的代码是否已被使用来验证它。

这是一个使用 nodejs 和 mongoose ORM(Mongo DB 数据库)的示例:

const mongoose = require( "mongoose" );
const Schema = mongoose.Schema;
const uniqueValidator = require( "mongoose-unique-validator" );

const CodeSchema = new Schema( {
    owner: { type: Schema.Types.ObjectId, ref: "User" },
    code: { type: Number, index: true, unique: true }
} ,{ timestamps: true } );
CodeSchema.plugin( uniqueValidator, { message: "is already taken." } );

CodeSchema.pre( "validate", function( next ){
    if( !this.code )  {
        this.code = Math.floor( Math.random() * Math.pow( 36, 6 ) | 0 );
    }
    next();
} );
module.exports = mongoose.model( "Code", CodeSchema ) || mongoose.models.Code;

然后,当您创建架构时,此预验证功能将执行并用唯一代码填充代码字段。

于 2020-12-01T02:51:48.280 回答