January 2020 Summaries
33 posts from Twilio
Filter
Month:
Year:
Post Summaries
Back to Blog
The tutorial provides instructions on how to track WhatsApp message status using the Twilio API in Node.js. To complete this task, developers need to set up a development environment with Node.js, Twilio account, MongoDB, and Ngrok. They also need to create an express app that follows the MVC pattern and add controllers as they progress through the tutorial. The code constructs a WhatsApp message body using Axios and stores the WhatsApp status, message SID, mobile number, and WhatsApp body in a database for record-keeping purposes. The developers can test their application by sending WhatsApp messages and retrieving the status of these messages using a REST client or a web browser.
Jan 31, 2020
859 words in the original blog post.
The tutorial discusses creating a daily reminder WhatsApp app using Laravel, Twilio's WhatsApp API, and the Uncovered Treasure API to retrieve Bible scriptures. The application sends a scripture of the day as a reminder to subscribers via WhatsApp. The code includes models, controllers, and artisan commands for handling logic and sending reminders. The tutorial also covers setting up dependencies, environment variables, and registering cron entries for scheduling tasks.
Jan 31, 2020
1,212 words in the original blog post.
This summary highlights the importance of code quality and the role of PHP_CodeSniffer (PHPCS) in enforcing coding standards. PHPCS is a tool that detects violations of pre-defined coding standards, including PSR12, PSR2, PEAR, and Zend, among others. A project's coding style can be improved by using PHPCS to enforce uniformity, readability, and maintainability. The tutorial demonstrates how to set up PHPCS for a Laravel project, create a custom configuration file (phpcs.xml), and run the tool to identify and fix coding errors. By following these steps, developers can improve their code quality and reduce cognitive load when working on projects with multiple contributors.
Jan 31, 2020
1,043 words in the original blog post.
Verify v2 is Twilio's new API for verifying users via email, SMS, and voice, aiming to increase confidence in user phone numbers and reduce fraud. The new API offers various improvements such as an increased request rate per second, enhanced visibility into verification traffic, and stronger transaction verification for PSD2 compliance. Users can verify ownership of their phone number through a single API call, with customizable originating phone numbers and granular verification logs. Additionally, Verify v2 includes features like built-in fraud protection, integration with the Twilio Platform, and support for email delivery channel for OTPs, making it easier to implement and manage user verification processes.
Jan 30, 2020
599 words in the original blog post.
Lizzie Siegle's post explores how businesses can enhance customer service by performing real-time entity sentiment analysis on phone calls using technologies such as Twilio Programmable Voice, Media Streams, and Google Cloud Speech and Language APIs with Node.js. The article explains the concepts of document-level versus entity-level sentiment analysis and demonstrates how each can be applied to transcribe and analyze sentiments during a phone call. It provides a step-by-step guide to set up the necessary tools and accounts, including Twilio and Google Cloud, and offers instructions on how to run a demo server app to transcribe calls in real-time. The post also details how to analyze these transcriptions using the Google Cloud Natural Language API, breaking down the process of identifying entities and their sentiment scores. Through this demonstration, Siegle highlights the potential applications of natural language processing (NLP) in various communication channels and encourages readers to explore further NLP capabilities in Node.js.
Jan 30, 2020
1,183 words in the original blog post.
QR codes are two-dimensional barcodes that can store up to 3KB of data and have been used for various purposes such as tracking automobile parts, adding contact information to mobile devices, and facilitating contactless payments. However, they also come with risks, including the potential to send users to malicious URLs, as demonstrated by a security researcher who created a QR code that wiped all data on a Samsung phone in 2012. Fortunately, most modern QR scanner apps offer users a preview of the URL and allow them to click through before scanning. Generating QR codes can be complicated, but libraries such as node-qrcode make it easier for developers to create QR codes in their applications. Additionally, QR codes can be used for two-factor authentication, allowing users to generate time-based one-time passwords that can be decoded using a secret key and a timestamp, making them an attractive option for adding extra layers of security to applications.
Jan 29, 2020
1,027 words in the original blog post.
The tutorial provides a step-by-step guide on building an English to Shakespearean translator using SMS and PHP, leveraging the Twilio API for sending and receiving SMS messages. The project requires setting up a development environment with PHP 7, Composer, Twilio credentials, FunTranslations API, and ngrok. A function is created to translate user input into Shakespearean language, which is then sent via Twilio's webhook feature. Ngrok is used to make the webhook accessible through a public URL from localhost. The final step involves hooking the Twilio number to the newly created webhook, allowing users to send SMS requests that are translated into Shakespearean language.
Jan 28, 2020
851 words in the original blog post.
To add a custom chat channel to Twilio Flex, developers need to create a new Studio Flow and associate it with the Flex Chat Service. They also need to implement middleware that receives messages from the chat channel and sends them to Twilio's external service, such as Socket.io. The middleware uses the Flex API to create a new channel and configure a webhook for the onMessageSent event of the chat channel. The solution involves creating two functions: `createNewChannel()` to create a new channel and configure the webhook, and `sendChatMessage()` to send messages to Flex once a new chat message is sent from the browser. To test the solution, developers need to build a webchat using Socket.io and add a new POST endpoint to handle the message coming from Flex. They also need to implement a function to send a message to Flex once a new chat message is sent from the browser.
Jan 28, 2020
2,137 words in the original blog post.
This post introduces the use of ReactiveX programming with RxJS Observables and REST APIs in Node.js. The author guides readers through a case study project that determines the "best" movie by Quentin Tarantino based on review scores retrieved from a mock API. The project demonstrates how to perform asynchronous data retrieval, manipulate data as it arrives, and combine multiple observables to achieve a result. The post also covers the use of various RxJS operators, such as `map`, `flatMap`, and `combineLatest`, to perform actions on the emitted data and accumulate responses from multiple APIs. Finally, the author provides tips on how to add an interactive element to the command-line output using the ora library and stop a spinner once the results are ready.
Jan 27, 2020
2,964 words in the original blog post.
The holiday season in 2019 saw significant growth in email volumes, with over 4.2 billion emails sent on Black Friday and over 4.3 billion emails sent on Cyber Monday. Mobile devices accounted for a substantial portion of email opens during this period, with 65% of click activity happening on mobile devices. The analysis also revealed that mentioning the holiday in subject lines had a neutral effect on engagement, while using urgency or reminders about the date did not increase open rates. The optimal subject line length was found to be around 34 characters. Discounts were shown to have an inverse relationship with engagement rates, and relying solely on discounts may not deliver the desired engagement lift. Exclamation points and emojis in subject lines also failed to increase open rates. Ultimately, senders should focus on delivering value, understanding what their brand means to recipients, and differentiating their subject lines from competitors. Personalization is key, but achieving it through data-driven testing and segmentation is essential.
Jan 23, 2020
1,278 words in the original blog post.
This post explains how to validate phone numbers effectively in ASP.NET Core 3.1 Razor Pages projects using the libphonenumber-csharp open source library, demonstrating its capabilities and usefulness in validating and manipulating phone numbers of all types. It shows how to bind a separate data model class to a Razor PageModel, use the data model to prepopulate data entry fields, return data to the same HTML page used for data entry, and use the ModelState object to return errors from the PhoneNumberUtil object to the user interface using Razor Pages' built-in capabilities. The post provides additional resources for learning more about Razor Pages and ASP.NET Core 3.1 features, as well as information on Twilio's services and AJ Saulsberry's background as a Technical Editor at Twilio.
Jan 23, 2020
2,954 words in the original blog post.
Be My Eyes is a mobile app that connects sighted volunteers with blind and low vision users over video chat, enabling them to receive help and support in real-time. The app aims to bring independence to people with visual impairments by providing an extra set of eyes when needed, allowing them to complete daily tasks and make decisions without relying solely on their close relationships for support. With the power of communication, Be My Eyes has created a global community that is fostering greater empathy and understanding for people with visual impairments, enabling users like fathers who can select ingredients, teenagers who can reorganize music collections, and women who can view pregnancy test results in private.
Jan 22, 2020
808 words in the original blog post.
Ishveen Anand is the founder and CEO of OpenSponsorship, a sports MarTech company that connects brands with athletes through its marketplace, leveraging AI, social insights, and ROI data. She started her company after realizing the antiquated process of brokering sponsorship deals and saw an opportunity to build a platform like Airbnb for sponsorship, which has become the largest and smartest marketplace in the industry. Anand shares her top tips for raising capital, including understanding what you need the money for, raising from people you respect, being prepared, and having all your documents organized. She also emphasizes the importance of work-life balance, citing treadmills as a great tool to switch off and come back fresh. As a founder, Anand advises being aggressive and going fast, learning quickly from failure, and using technology to facilitate connections at scale.
Jan 20, 2020
697 words in the original blog post.
The project involves creating a minimal email newsletter backend using Python's Django Web Framework and Twilio SendGrid's core email-sending API. The application allows users to create, confirm, and delete subscribers, as well as upload and send newsletters. The system uses Django's built-in admin interface to manage the data and SendGrid's email API for fast and reliable delivery. The project covers key aspects of building a web application with Django and integrating it with an external service like Twilio SendGrid.
Jan 17, 2020
3,396 words in the original blog post.
Push Two-Factor Authentication using the Twilio Authy API allows users to securely access online accounts by receiving a push notification on their smartphone. This method simplifies the traditional two-factor authentication process, making it more user-friendly and increasing adoption rates. The implementation involves registering users for Authy push 2FA, generating QR codes that contain JSON Web Tokens, and waiting for the user to scan the code or tap the approval button in the Authy app. Once a user logs in with push 2FA enabled, the application checks if the user has approved the login request by calling the Authy API's one-touch send_request function and polling for an authentication response. If the user approves, the Authy service sends a push notification to their phone, which can be checked on the backend using the Authy client for Python.
Jan 17, 2020
2,573 words in the original blog post.
The tutorial provides a step-by-step guide on building an order tracking system using Laravel and Twilio SMS. The system allows customers to track the current status of their packages via SMS notifications. To achieve this, the developer sets up a new Laravel project, creates a database, installs the Twilio SDK, and configures the application to send SMS notifications. The application is then exposed to the internet using ngrok, and a webhook is set up with Twilio to forward incoming SMS messages to the application. Finally, the application is tested by sending an SMS message with an order ID, which triggers a response from the system depending on the order status.
Jan 17, 2020
2,196 words in the original blog post.
Introducing Flex Insights is a new addition that provides operational visibility into the performance of contact centers, enabling organizations to deliver positive customer engagements. The name change from Flex WFO to Flex Insights includes all existing features and is included with paid plans for Twilio Flex. Two new features have been added: Real-Time Queues View and Messaging and Chat transcripts within the conversations screen, allowing users to assess interactions for quality management purposes and view custom media and links attached to conversations. The Conversations screen also supports viewing of chat and messaging transcripts for channels supported by Flex Messaging.
Jan 16, 2020
417 words in the original blog post.
The Authindicators Working Group has announced the inclusion of Twilio SendGrid in its efforts to improve email authentication and security, with a focus on Brand Indicators for Message Identification (BIMI) standard, aimed at enhancing brand visibility and engagement in email inboxes.
Jan 16, 2020
682 words in the original blog post.
A developer created a WhatsApp bot using Twilio Functions and JavaScript to find nearby healthy restaurants based on the user's location data. The bot uses the Twilio API for WhatsApp to gather location data from users, and then makes an HTTP request to the Zomato API to retrieve a list of nearby restaurants serving healthy food. The bot responds with messages containing the name of each restaurant and a URL to get further details. The developer used Twilio Functions as they are easy to set up and run JavaScript code directly on Twilio, making it simple to integrate location data into WhatsApp conversations.
Jan 15, 2020
1,142 words in the original blog post.
The summary of the text is as follows: A WhatsApp flashcard bot was built using Python, Flask, and Twilio. The bot allows users to create flashcards, review them, and stop creating new ones. It uses a SQLite database to store user data and flashcard information. The bot's logic is implemented in the `routes.py` file, which handles incoming messages from WhatsApp or SMS. The code provides an example of how to build a simple chatbot using Twilio and Flask.
Jan 14, 2020
4,113 words in the original blog post.
I'm Felix Gray, a venture-funded eyewear brand that pioneered the Blue Light glasses space with industry-leading eyewear designed to keep eyes happy and productive in today's screen-filled world. We started our company because we left our jobs feeling tired, strained, and struggling with blurry vision due to prolonged screen time. Our mission is to make people happy by offering high-quality lenses with Blue Light filtering technology embedded within them, set in beautifully handcrafted frames. To communicate with customers, we use a range of channels including email, voice calls, chat, social media, SMS, video tutorials, and our Help Center page website widget. One successful campaign was our partnership with Girls Who Code for International Women's Day, which tied in our love of STEM and highlighted the incredible women inventors we named our frames after. As founders, I've learned that great businesses need to think strategically, execute tactically, and connect emotionally, while managing work-life balance by taking time off and focusing on self-care. We hope to inspire other entrepreneurs with our journey from finance and technology to founding a successful startup.
Jan 14, 2020
978 words in the original blog post.
To differentiate themselves in the financial services industry, companies are leveraging messaging platforms to build dynamic, interactive relationships with customers throughout their journey. This includes using SMS, push notifications, and other channels to provide real-time updates on account balances, transaction completions, and suspicious activity warnings. Companies like CU Wireless, Xoom, TransferWise, Simply Business, and ING are implementing these strategies to improve customer experience, retain customers for a lifetime, and reduce costs associated with acquiring new customers. By focusing on scale, reliability, and flexibility in their cloud communication providers, they can ensure high-quality performance and delivery of messaging traffic routes.
Jan 13, 2020
1,161 words in the original blog post.
This article demonstrates how to use WebSocket API with Spring Boot to send SMS messages using Twilio. The application uses STOMP protocol for message routing and SockJS for fallback options in case the browser doesn't support WebSocket. The server-side code includes a configuration class `WebSocketConfig` that enables WebSocket messaging, a service class `SMSService` that sends and receives SMS messages, and a controller class `SMSController` that handles incoming requests and sends responses to connected clients. The client-side code is written in JavaScript using the SockJS and STOMP libraries, which establishes a connection with the server and subscribes to the `/topic/sms` topic for message updates. The application also includes a form to send SMS messages, which is handled by the `SMSController`. After setting up the project, users can test the service by clicking the "Send" button and entering their phone number and message. The server will respond with a callback status message after a simulated delay.
Jan 13, 2020
1,932 words in the original blog post.
A Python image recognition application can be built using Twilio MMS, Flask, and ImageAI, allowing it to receive inbound images with object detection capabilities. The application uses a RetinaNet model for object detection, which provides high accuracy but takes longer than other models. The application receives inbound messages via Twilio MMS, checks if they are images, and responds with the detected objects and their confidence percentages. If an image is received, it is downloaded, processed by the ImageAI model, and returned as a modified image with detected objects. The application also includes a route to deliver the image, which retrieves and sends back the new image containing the detected objects. This application can be used for various use cases such as autonomous driving, facial detection, and digital watermarking.
Jan 10, 2020
1,270 words in the original blog post.
PHP CodeSniffer (PHPCS) is a tool that validates PHP code against predefined standards, ensuring consistency across teams. This tutorial demonstrates how to set up PHPCS for local development in Sublime Text, Visual Studio Code, and PHPStorm, utilizing Composer to install the global package. By integrating PHPCS into these editors, developers can automate code validation, detect style violations, and improve the overall quality of their codebase.
Jan 10, 2020
859 words in the original blog post.
Launching a cloud-based contact center can be a game-changer for businesses, offering improved customer experience, scalability, and reliability. However, it requires careful planning, iteration, and flexibility to deliver value as the business grows and needs change. Experts advise considering iterative processes, setting clear project goals, identifying dependencies such as network readiness and bandwidth, determining the best way to onboard agents, and avoiding common mistakes like overlooking resourcing for new features or forgetting a fallback strategy. By following these best practices and being aware of potential pitfalls, businesses can successfully transition to cloud-based contact centers and reap the benefits of enhanced customer experience and profitability.
Jan 09, 2020
1,102 words in the original blog post.
Implementing two-factor authentication for web applications can be done in a way that supports account security without detracting from the user experience. By using certain HTML attributes, such as `inputmode` to display a numeric keyboard and `pattern` to validate only numbers, developers can improve the login process on mobile devices. Additionally, adding the `autocomplete` attribute with values like "one-time-code" can trigger browsers to suggest two-factor authentication codes sent via SMS, making the experience even easier for users. By incorporating these attributes and best practices, developers can create a better user experience for their users while maintaining account security.
Jan 09, 2020
1,108 words in the original blog post.
Twilio CodeExchange is a searchable directory of customizable code samples that developers can use to build Twilio apps. It allows users to browse existing templates or search for specific use cases, and provides download instructions for the chosen template. The platform currently offers 12 sample apps in five languages, with plans to add more regularly based on user requests. Users can download the code samples as ZIP files or view them on GitHub, and customize the code to fit their specific needs by following the instructions in the project's README.md file. Twilio experts have vetted the code samples to ensure they are reliable and easy to use.
Jan 09, 2020
517 words in the original blog post.
Improving the user experience of two-factor authentication (2FA) while maintaining security can be achieved through strategic use of HTML attributes on the <input> element. The article discusses enhancing 2FA forms by using attributes like inputmode="numeric" to prompt numeric keypads on mobile devices without changing the data type, pattern="[0-9]*" for validation and compatibility with older browsers, and autocomplete="one-time-code" for automatic SMS code suggestions in iOS and Safari. Despite the current limitation of autocomplete features to specific browsers, the Chrome team is exploring similar enhancements with an SMS Receiver API. These modifications aim to streamline the login process, particularly on mobile devices, without sacrificing security, and the article encourages developers to consider these improvements to enhance user interaction with authentication systems.
Jan 09, 2020
1,236 words in the original blog post.
The Twilio team is introducing a change to the IncomingPhoneNumbers provisioning API on February 12, 2020, requiring regulated phone numbers to include proper documentation for BundleSID/IdentitySID in API calls. This change aims to ensure regulatory compliance across countries and protect customer phone numbers from non-compliance issues. The change will have a brownout period starting January 15, allowing customers to prepare for the new requirement. Customers can use the Compliance Report in Twilio's web Console to determine which phone numbers are missing Regulatory Bundles. Existing API users may need to update their documentation bundles and API calls accordingly.
Jan 08, 2020
1,085 words in the original blog post.
PHP 7.4 has introduced several notable features, including typed properties, which provide a way to set the types of properties in classes, improving type checking and detecting bugs. Arrow functions offer a more concise alternative to traditional anonymous functions, particularly useful in callbacks. Limited return type covariance and argument type contravariance allow for more flexible method overloading, making it easier for library authors to extend their code. Unpacking inside arrays enables clean replacement of `array_merge` calls with a single expression. The numeric literal separator allows underscores to be used in numerical values for improved readability. Finally, allowing exceptions from `__toString()` fixes a long-standing issue with magic methods throwing fatal errors. Overall, PHP 7.4 is a mixed bag with one standout feature that significantly improves type checking and debugging.
Jan 07, 2020
1,099 words in the original blog post.
To learn more about how Versus built their international startup and what they've learned along the way, we featured Kemdi Ebi in our Twilio Startups 7 interview series. Through a proprietary "Listen" & "Ask" methodology, Versus combines online & offline methods to give brands complete, competitive & actionable insights with a focus on the African market. The company was founded by Kemdi Ebi due to the lack of quality data on the African consumer market and aims to bridge this gap through agile and dynamic research methods. With a focus on building strong relationships with customers, Versus has successfully hired key talent through innovative strategies such as creating a unique table to check off candidate specs. The company's top tip for raising capital is to find investors who share your growth plan and thesis, while also having a contingency plan in place to manage daily operations during the fundraising process.
Jan 07, 2020
854 words in the original blog post.
"How to move your project to TypeScript - at your own pace"` is a guide that helps developers transition their JavaScript projects to TypeScript at their own pace. The post covers the key points of setting up and using TypeScript, including installing the compiler, configuring the compiler, enabling type checks, and maintaining a library with TypeScript. It emphasizes the importance of understanding the benefits and limitations of TypeScript and being willing to learn and adapt as needed. The guide aims to provide a gradual and iterative approach to transitioning to TypeScript, allowing developers to gradually incorporate its features into their projects without making significant changes all at once.
Jan 06, 2020
3,980 words in the original blog post.