node.jsreactjstwiliosmsforgot-password

Which is the bestPlatform to send OTP as a SMS in Nodejs? i have tried twilio but they keep suspending my account due to the Geo location


I was previously using twilio with my another project. But when I created 2 new accounts from my business email and it was trial account all was good. But as soon as I toppedUp 20 USD for sending SMS it immediately suspended my account saying that to verify the account and now when I login there isn't any screen. its only showing the following screen

enter image description here

Why twilio is making it so hard for me to send SMS? from the previous account I provided them all the details. My basic aim is to use SMS for OTP service for authentication purposes on signup. Kindly suggest me alternative SMS service to integrate it in my Nodejs app


Solution

  • I'm sorry your account has been suspended. As suggested by James Z, I would recommend you reach out to support.

    To answer the question about making it hard to send SMS. I understand that the onboarding experience was not perfect for you. The situation is that Twilio (and all other serious companies) need to comply with local regulations that require additional checks to buy a number that you can then use and we try to make it as easy as possible to do this and then send SMS. So it is possible that your account has been flagged during one of these checks and support is hopefully able to help you.

    If your use case is solely about sending SMS for 2FA, I would recommend that you take a look at Verify, which allows you to send OTPs without purchasing a phone number. It's not only more convenient, but also more secure than using the messaging API for these use-cases.

    // Download the helper library from https://www.twilio.com/docs/node/install
    // Find your Account SID and Auth Token at twilio.com/console
    // and set the environment variables. See http://twil.io/secure
    const accountSid = process.env.TWILIO_ACCOUNT_SID;
    const authToken = process.env.TWILIO_AUTH_TOKEN;
    const client = require('twilio')(accountSid, authToken);
    
    client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
                    .verifications
                    .create({to: '+15017122661', channel: 'sms'})
                    .then(verification => console.log(verification.status));