Add a buffer between retries
Posted: Sun Dec 22, 2024 8:45 am
env.example to .env(for security reasons, the .env file is part of the .gitignore file and will not be committed to the source), and then populate the variables with your Account SID and Auth Token, which can be found in the Twilio console . Populate the SID of the Verify service you created earlier: Bash Copy the code # à trouver dans la console Twilio: # à créer dans la console Twilio console/verify/services VERIFY_SERVICE_SID= Run the project with npm start and navigate t st:3000/index.html to test it. Best practices for retrying A2F codes via SMS Implement timeouts on the Resend button.
Add a buffer between retries to avoid misbehavior or accidentally sending multiple codes. We recommend starting with 30 seconds. resend code option grayed out saying “Resend code in 22 seconds” In the demo, philippines whatsapp number the countdown starts from the maximum time and the button remains disabled until the time expires. For a less animated alternative, you can: show countdown with 5 seconds remaining gray out the Resend button until the timeout expires with a copy showing the total buffer (without countdown) only show retry link after timeout expires Track retries The Verify API includes a list of verification attempts in the response , which you can use to increase the retry buffer with each additional attempt.
You can also use the number of attempts to apply your own rate limits in addition to the Verify API rate limits (all 5 checks are fired over a 10-minute period). This feature shows an example of increasing the timeout with more retries. The timeout is set to the maximum time (10 minutes) by default, which may prevent your application from reaching the API rate limits. JavaScript Copy the code function getRetryTimeout(attemptNumber) { const retryTimeouts = { 1: 30, 2: 40, 3: 60, 4: 90, 5: 120, }; return retryTimeouts[attemptNumber] || 600; } Best practices for backup channels Suggest other channels like voice on third verification attempt Voice calls are prioritized in phone networks and can help your customers obtain a verification code.
Add a buffer between retries to avoid misbehavior or accidentally sending multiple codes. We recommend starting with 30 seconds. resend code option grayed out saying “Resend code in 22 seconds” In the demo, philippines whatsapp number the countdown starts from the maximum time and the button remains disabled until the time expires. For a less animated alternative, you can: show countdown with 5 seconds remaining gray out the Resend button until the timeout expires with a copy showing the total buffer (without countdown) only show retry link after timeout expires Track retries The Verify API includes a list of verification attempts in the response , which you can use to increase the retry buffer with each additional attempt.
You can also use the number of attempts to apply your own rate limits in addition to the Verify API rate limits (all 5 checks are fired over a 10-minute period). This feature shows an example of increasing the timeout with more retries. The timeout is set to the maximum time (10 minutes) by default, which may prevent your application from reaching the API rate limits. JavaScript Copy the code function getRetryTimeout(attemptNumber) { const retryTimeouts = { 1: 30, 2: 40, 3: 60, 4: 90, 5: 120, }; return retryTimeouts[attemptNumber] || 600; } Best practices for backup channels Suggest other channels like voice on third verification attempt Voice calls are prioritized in phone networks and can help your customers obtain a verification code.