June 2020 Summaries
59 posts from Twilio
Filter
Month:
Year:
Post Summaries
Back to Blog
The upcoming release of PHP 8 is expected to bring several exciting features, including constructor property promotion, which removes boilerplate code by allowing properties and set them in one place instead of three; union types, which provide a measure of type safety in situations where legacy code has deemed it impossible to receive or return a single type; attributes, which are a formalized standard way to add metadata to PHP code, parsed by the PHP engine and available in reflection; string functions, including `str_contains`, `str_starts_with` and `str_ends_with`, which provide a solid upgrade for developers; and the Stringable interface, which allows you to type on something that is castable to a string via the `__toString` magic method. These features are expected to improve the overall development experience and bring more consistency and type safety to PHP code.
Jun 30, 2020
1,673 words in the original blog post.
The Internet of Things (IoT) refers to the connection of everyday objects to the internet, enabling them to send and receive data. This concept has become increasingly prevalent in recent years, with an estimated 30 billion to 200 billion devices connected to the internet by 2020. The IoT encompasses various applications, including wearable tech, smart homes, healthcare, food, micromobility, business, industrial Internet of Things, predictive maintenance, and real estate. The integration of the Internet of Things is expected to have a significant impact on industries such as manufacturing, logistics, and healthcare, with benefits including increased efficiency, productivity, and improved decision-making capabilities. However, concerns around privacy and information security are also growing, highlighting the need for companies to update their privacy policies and ensure compliance with regulations like GDPR.
Jun 29, 2020
2,886 words in the original blog post.
The article provides a step-by-step guide to building an SMS chatbot that recommends Hamilton songs based on the user's sentiment using Twilio Programmable SMS, Microsoft Azure Cognitive Services, and JavaScript. The bot uses a naive Bayesian classifier to analyze the user's input and match it with corresponding Hamilton song descriptions. To set up the bot, users need to create a Twilio account, configure their phone number, and sign up for a free Microsoft Azure account. They also need to install the required dependencies, including @azure/ai-text-analytics and Whichx, and configure their Azure endpoint and key as environment variables. The complete code for the bot can be found on GitHub. After setting up the bot, users can text their Twilio number how they're feeling to receive a recommended Hamilton song based on their sentiment.
Jun 29, 2020
1,596 words in the original blog post.
Sending a SMS from a Gatsby website using Twilio Serverless Functions and React is now possible as explained in this tutorial. The JAMstack, which stands for JavaScript, APIs, and Markup, is a performance-boosting approach to building websites that uses static site generators instead of dynamic HTML generation. Gatsby bridges the gap between JAMstack static sites and traditional web apps by compiling React components into HTML plus a little bit of JavaScript to support user interactivity. The tutorial starts with setting up a new Gatsby project, adding an SMS form to the default starter, and modifying it to make a request to a serverless function. A Twilio serverless function is created to handle the SMS sending functionality, which is then integrated into the SMSForm component. The tutorial concludes by explaining how to send a message using the newly created form.
Jun 29, 2020
1,465 words in the original blog post.
Integrating Twilio SendGrid with a Python Flask application facilitates the process of sending emails by leveraging Flask-Mail and a dedicated email service, simplifying infrastructure management and enhancing scalability. The tutorial guides users through setting up a Python environment, creating a SendGrid API key for authentication, and configuring Flask-Mail to use SendGrid's SMTP service. It provides step-by-step instructions for constructing a basic Flask application, including setting environment variables and creating a simple web interface to send test emails. Users can also troubleshoot delivery issues using the SendGrid dashboard, which provides detailed insights into email delivery status and potential errors. This integration allows developers to efficiently manage email sending tasks within Flask, while additional resources are available for receiving emails and further enhancing email deliverability.
Jun 29, 2020
1,627 words in the original blog post.
Perficient, a Twilio Gold Consulting Partner, is helping retailers accelerate curbside pickups using Flex & SMS from Twilio. As consumer preferences shift towards reducing contact and increasing convenience, curbside pickup has emerged as a perfect solution for many retailers. To overcome common challenges such as integrating with existing order management systems and creating contactless communication options, Perficient offers two accelerator packages: a centralized approach using Twilio Flex and a decentralized approach utilizing Twilio SMS. Both approaches enable quick implementation of curbside delivery, iteration on customized interactions, and move towards more sophisticated solutions.
Jun 26, 2020
469 words in the original blog post.
The article describes how to process incoming emails from a Laravel application using SendGrid's Inbound Parse feature. The tutorial covers creating a new Laravel project, setting up SendGrid and its API keys, defining database models for posts and responses, seeding the database with dummy data, configuring routes for sending and receiving emails, rendering views for displaying posts and their responses, disabling CSRF protection for the webhook route, and configuring Inbound Parse to trigger the webhook handler when incoming emails are received. The process also involves setting up a Ngrok tunnel to expose the Laravel server's port on the internet and simulating automated email processing by sending test emails to predefined recipients.
Jun 26, 2020
1,855 words in the original blog post.
A Python program using Twilio Programmable SMS and Flask is developed to organize work groups, allowing friends to text in their status updates throughout the day. The program creates a directory system where users can add themselves, set their statuses, and view others' statuses in real-time. It also includes features to keep each other accountable, such as tracking study time and break times, and providing help messages for incorrect inputs. The app is designed to be user-friendly and accessible, with an optional notification system to remind users to take breaks.
Jun 26, 2020
3,112 words in the original blog post.
The guide provides a step-by-step tutorial on how to retrieve account-specific pricing for Twilio SMS in a PHP application, allowing developers to evaluate the cost of integrating third-party services into their web applications. The process involves installing required modules and packages, setting up environment variables, initializing a Twilio client, creating an interface to communicate with the code, and retrieving messaging prices for various countries and telecommunication companies. By following this tutorial, developers can easily integrate Twilio SMS into their PHP applications and compare pricing options for different destinations. The guide also highlights the potential for extending the functionality of the application to include price comparisons across multiple telecommunication companies in a given location.
Jun 26, 2020
1,038 words in the original blog post.
The article provides a step-by-step guide to creating a simple Bitcoin converter using SMS and PHP. The process involves setting up a development environment, installing required dependencies, configuring Twilio for SMS functionality, and creating functions to convert Bitcoin to local currency and vice versa. The final application uses the Cryptocompare API to fetch current market rates and sends conversion results via SMS. The project can be extended to support multiple currencies, and the source code is available on GitHub.
Jun 26, 2020
1,372 words in the original blog post.
Level39, a tech incubator in London's Canary Wharf district, has implemented a contactless visitor check-in system to manage the flow of over 1,500 people daily. The system uses Twilio's Voice, SMS, and SendGrid APIs to integrate with the building's visitor management system and Level39's systems, enabling guests to enter a unique one-time code at the door, which notifies their host via SMS, phone, and email. This process has been crucial in allowing Level39 to remain open 24/7 throughout the COVID-19 crisis, serving essential employees and their visitors. Qaunain Meghjee, head of technology at Level39, built this system to scale processes for his members while also improving the overall experience. He has also modernized other systems, such as billing and onboarding, using Twilio APIs and has plans to integrate with Zoom Rooms for seamless video demos.
Jun 25, 2020
1,181 words in the original blog post.
Twilio Functions and Programmable SMS are used to deploy a word game called BalderText, which challenges players to write convincing definitions for uncommon English words. The game can be played with 2-8 players, and the player with the most points after three rounds wins. To deploy the game, users need to clone a repository from GitHub, install dependencies, and configure their Twilio account credentials. Once deployed, players can join the game by texting 'Join game' followed by their username, and then participate in gameplay by submitting fake definitions for a word and voting on which definition they think is the real one. The game supports commands such as 'Start game', 'End game', and submitting votes or definitions, and users can customize the experience by contributing to the GitHub repository.
Jun 24, 2020
955 words in the original blog post.
Twilio has launched a pilot program for chat attachments in its Twilio Flex contact center platform, allowing users to share images and files during chat interactions to provide additional context and support. The feature is currently available as a pilot release and requires specific version updates and configuration changes. Users can programmatically extend the feature by modifying settings such as maximum file size and accepted file extensions. Additionally, developers can use the Actions framework and clipboard API to automate tasks and replace existing behavior. Twilio is offering $5,000 worth of free Flex Hours to help users get started with the platform. The company invites users to share their implementations and build new applications using the pilot feature.
Jun 24, 2020
513 words in the original blog post.
Twilio's Programmable Voice Platform is a key component in building remote work applications, offering reliable connectivity and straightforward deployment. The platform allows for the easy setup of SIP-based remote work solutions, eliminating the need for extensive configuration and domain knowledge. With Twilio's instant SIP remote work app, developers can set up a functional application in just 5 minutes, guiding users through the initial setup process before allowing for customization via the console. The platform also provides resources and guidance for more advanced configurations, such as routing calls to SIP networks and adding programmability to existing networks.
Jun 24, 2020
605 words in the original blog post.
Twilio is launching Edge Locations that improve the performance and security of its Programmable Voice, SMS, Notify, and Webhook Callback APIs by deploying regional connectivity layers closer to users' geographical locations. This enhances the quality and user experience of time-sensitive applications, while also providing additional security features such as network peering or virtual private networks. The new Edge Locations offer improved latency, flexibility, options for network failover, and increased security, making them suitable for mission-critical operations.
Jun 23, 2020
544 words in the original blog post.
ngrok is a localhost tunneling tool that allows developers to test and deploy their applications quickly and easily, especially when working with webhooks and APIs like Twilio. It provides a convenient way to forward incoming requests from the local development setup to a temporary public domain, making it ideal for hackathons and other development projects. With ngrok, developers can create memorable URLs, route wildcard subdomains, and share their unique URL with teammates in real-time. The tool also allows for multiple tunneling, debugging, and replaying incoming requests, making it a powerful addition to any developer's toolkit.
Jun 23, 2020
1,310 words in the original blog post.
This post demonstrates how to use Twilio Lookup in a .NET Core WPF application, providing a way to validate phone numbers and determine if they are capable of receiving SMS text messages. The process involves adding the Twilio NuGet package to the project, creating a data model for Twilio credentials, designing the user interface, coding the event handlers, and handling API errors. The code uses environment variables to securely store Twilio account credentials and utilizes the `TwilioClient` object to establish a secure connection with the Twilio REST APIs. The application allows users to enter phone numbers and verify them using Twilio Lookup, displaying the results in E.164 format if successful. The post provides additional resources for learning more about Twilio and .NET Core development.
Jun 23, 2020
1,953 words in the original blog post.
Pride in 2020 is a celebration of the LGBTQ+ community's journey towards equality and acceptance, but also acknowledges the ongoing need for intersectionality and recognition of the struggles faced by marginalized groups. The origins of Pride date back to the Stonewall uprising in 1969, where Black trans women like Marsha P. Johnson played a pivotal role in sparking the movement. As we celebrate this victory, it's essential to reflect on the words of Marsha P. Johnson, who said "No pride for some of us without liberation for all of us." The recent U.S. Supreme Court ruling prohibiting discrimination against gay and transgender people in the workplace is a significant milestone, but there's still work to be done. To commemorate this moment, Twilio's LGBTQ+ Employee Resource Group members shared their personal perspectives on what Pride means to them, emphasizing the importance of living authentically, belonging, resilience, and solidarity with others. However, they also cautioned against mainstreaming and assimilation, highlighting the need for genuine recognition and celebration of differences.
Jun 22, 2020
1,220 words in the original blog post.
A book recommendation SMS bot was built using Programmable SMS with Python and Airtable to store book data. The bot allows users to choose a genre they want to read, and responds with a title of a book by a Black author and a link to a Black-owned bookstore that sells the book. The bot uses an Airtable base to store book data and can be triggered by sending a text message to a specific number. The bot is designed to provide recommendations for anti-racism books, but also includes options for other genres such as poetry and science fiction and fantasy. Users can interact with the bot multiple times, receiving new recommendations each time they send a message.
Jun 22, 2020
432 words in the original blog post.
Announcing General Availability of Messaging Insights`
Messaging Insights is a new tool providing real-time analytics out-of-the-box within the Twilio Console for no additional cost or code. It offers four reports to help customers visualize their data and gain actionable insights into message delivery, engagement, and effectiveness across various messaging channels. The reports include an overview of delivery rates, a detailed analysis of delivery and errors, a breakdown of incoming messages, and an optimization report for OTP conversion rates. With multidimensional filters and flexible charts, users can drill down into the data to identify patterns and troubleshoot issues quickly. Messaging Insights is included within the Twilio Programmable Messaging Console and provides valuable insights to improve customer engagement and deliverability strategies.
Jun 22, 2020
487 words in the original blog post.
This article discusses how to use IBM Watson's Natural Language Understanding (NLU) and Twilio Functions with Node.js to analyze texts. The author, Lizzie Siegle, guides readers through creating a free Watson NLU service and integrating it with Twilio Functions to extract relevant information from text messages, including sentiment, categories, concepts, entities, and keywords. With this setup, users can send an SMS message to a Twilio phone number, which is then analyzed by IBM Watson, providing insights into the content of the message. The article provides step-by-step instructions and code examples for creating a functional Twilio Function that leverages Watson NLU to analyze texts.
Jun 18, 2020
1,226 words in the original blog post.
This summary provides a concise overview of the article. The author, Michael Okoko, explains how to deploy a Bref microservice that verifies users' phone numbers using the Twilio Verify API. To start, you need to install Composer and npm, create a new project folder, and install the required dependencies, including the Bref serverless framework and the Twilio helper library. You then set up an HTTP endpoint using Slim PHP and configure it to process requests from users. The service is deployed to AWS Lambda, where it can be accessed through API Gateway. The author provides instructions on how to test the endpoints using cURL or Postman and deploy the application to AWS using Serverless. The final step involves setting up IAM policies and credentials for the AWS provider. Throughout the article, the author emphasizes the importance of security and monitoring in a microservice architecture.
Jun 18, 2020
1,676 words in the original blog post.
To build an automated SMS survey using Twilio Studio and IBM Watson Tone Analyzer, users need to create a new flow in Twilio Studio, which serves as the entry point for the workflow. The flow starts with a trigger that sends an incoming message from a hotel's existing system via a REST API. The first question is sent to the customer, and if they respond with a blank message, the flow splits based on the response to ask the same question again. To analyze the tone of the user's response, IBM Watson Tone Analyzer is used, which provides two endpoints: general-purpose and customer engagement. A Twilio Function is created to extract the tone from the response, and if the tone indicates a positive or negative sentiment, different messages are sent back to the customer. The flow is tested by sending an HTTP POST request to the REST API URL, and if everything works correctly, users receive different messages depending on their response.
Jun 18, 2020
1,969 words in the original blog post.
Twilio has introduced a new parameter called `jitterBufferSize` to its Conference feature, which allows developers to control the behavior of the jitter buffer and optimize the experience for participants with different network conditions. The jitter buffer is used to smooth out irregularity in media packet arrival times when mixing audio for conference participants, but it can introduce a fixed delay if not set correctly. With this new parameter, developers can now tune the behavior of their conferences to cater to different types of call quality issues and deliver the best experience for their users. The `jitterBufferSize` value can be set to small, medium, large, or off, with each setting having different effects on latency and audio artifacts. Twilio's tests indicate that changing the size of the jitter buffer reduces latency at the expense of increased audio artifacts, resulting in robotic and choppy audio being introduced instead of delay. Developers are recommended to use this parameter based on their specific requirements and types of calls, such as client or SIP participants, moderate or high jitter levels, and in-mixer vs transport latency considerations.
Jun 18, 2020
976 words in the original blog post.
This tutorial guides users in building a simple WhatsApp chatbot that handles the conversion of any given number of Bitcoin units to the equivalent in a preferred currency, using Twilio API for WhatsApp and Flask Framework for Python. The bot requires a free Twilio Account, Python 3.6 or newer, Ngrok, a smartphone with an active number and WhatsApp installed, and creating a virtual environment. The user must follow a specific format when sending messages to the bot, which includes specifying the currency code of the desired conversion. The bot uses the Coinbase API to obtain current exchange rates with BTC as the base currency. Once set up, users can test the functionality of the bot by sending messages using WhatsApp and access its responses through the Ngrok URL provided.
Jun 18, 2020
1,386 words in the original blog post.
The post discusses using C# interfaces as view models with ASP.NET Core 3.1 Razor Pages in an MVVM design pattern, exploring limitations and potential alternatives for this approach. The author provides a case study application to demonstrate the use of interfaces for view models and tests their limits by attempting to bind them to the page model. The post concludes that while using interfaces as view models can add flexibility, it may not be practical in all cases due to constraints on binding and abstraction. It suggests considering additional design patterns, such as inversion of control containers and dependency injection, to achieve further abstraction and decoupling.
Jun 18, 2020
2,919 words in the original blog post.
Andrew Milner's article presents a detailed guide on creating a dial-in podcast service using Twilio's Programmable Voice, TwiML Bins, and Functions to support community members who may not have internet access or find technology overwhelming. The article emphasizes the importance of inclusivity, especially during times of social distancing, by providing a step-by-step process to set up a phone number that delivers sermons or podcasts via a simple call. Milner outlines two primary methods: using a TwiML Bin for straightforward audio delivery and employing Twilio Functions for more complex interactive voice response systems, allowing callers to select from multiple recordings. The guide is designed to be accessible to non-technical users, offering practical tips, sample code, and encouragement to explore additional Twilio features like voicemail and real-time call handling. Through this initiative, Milner aims to empower volunteers and church staff to connect with isolated individuals, enhancing community engagement without the need for advanced technical skills.
Jun 18, 2020
3,847 words in the original blog post.
The tutorial provides a step-by-step guide on how to export a CSV file with message resources using Twilio Programmable SMS and Python, specifically Flask. To accomplish this, one needs to set up a Twilio account, create a Flask application, install required packages, configure the environment variables, send messages, receive messages, reply to messages, and finally, export the message history as a CSV file. The tutorial also covers filtering messages by date and writing the contents of the CSV file.
Jun 17, 2020
2,900 words in the original blog post.
You can use your Twilio number as a fully-capable proxy number with only your personal phone, allowing you to make and receive outgoing and incoming calls without the need for an application or server. To achieve this, you build a Studio Flow that checks the calling number and forwards calls accordingly. The flow allows users to input the desired number to call when their personal number is detected, while forwarding other calls to their personal phone. Once configured, your Twilio number can be used to place outgoing calls and receive incoming calls with only your personal phone.
Jun 17, 2020
1,224 words in the original blog post.
Bernard Baker is a developer who juggles multiple projects, including an e-commerce job and personal coding endeavors. He has been focused on helping people stay safe and connected during COVID-19 by building an app called Let's Connect that allows users to make phone calls with others who may not have internet access. This app uses Google Calendar's API and Twilio as a conference placeholder, allowing users to easily schedule and participate in phone calls. Baker has also been working on another project called Stop the Virus, which is a social distancing video game where players score points for creating safe videos, aiming to reduce droplet-based virus transmission. Baker's motivation for building these projects comes from his desire to contribute to the community and make a positive impact, driven by his passion for coding and helping others.
Jun 17, 2020
572 words in the original blog post.
Microsoft SQL Server can be run on macOS using Docker, allowing developers to create a cross-platform environment for .NET Core applications. To get started, download and install Docker for Mac, increase the default memory allocation, and then run the SQL Server container with specific parameters. The SQL CLI tool provides a convenient way to query databases, while Azure Data Studio offers an alternative to SQL Server Management Studio for managing and administering SQL Server instances. Developers can also use this setup on Windows or Linux platforms, making it a versatile option for cross-platform development with .NET Core.
Jun 16, 2020
879 words in the original blog post.
This application uses ASP.NET Core 3.1 as its backend framework, Angular 9 as the frontend framework, and Twilio Programmable Video for video chat functionality. It is deployed to Microsoft Azure's App Service platform, providing a robust, enterprise-class web hosting environment with continuous deployment capabilities through Visual Studio. The process involves publishing the application to Azure, configuring it with Twilio user secrets, and testing its video chat functionality. With this setup, developers can leverage Azure's scalable infrastructure and Visual Studio's development tools to build and deploy their own video chat applications.
Jun 16, 2020
2,156 words in the original blog post.
Sachin Medhekar, a developer from Laguna Niguel, California, built a messaging platform using Twilio Programmable SMS to connect people experiencing homelessness in Los Angeles with critical support services. He noticed that outreach efforts were limited by his physical presence and saw an opportunity to share information more broadly through SMS messages. The platform has been effective in increasing attendance at service events, with 30-50% of recipients attending, and has helped individuals access resources such as case workers, meals, showers, and housing. Medhekar's project aims to increase awareness of services and connect people to the resources they need, with over 4,000 messages sent monthly. To address homelessness, readers can get educated about facts and misconceptions, support low-income and supportive housing developments, vote for compassionate lawmakers, and volunteer with local nonprofits. Medhekar encourages developers to validate ideas with stakeholders and solicit feedback from them, as well as identify small incremental changes that can make a difference in the nonprofit sector.
Jun 15, 2020
1,558 words in the original blog post.
To test Twilio applications effectively, it's recommended to use Twilio test credentials instead of making real requests. Test credentials allow you to send fake requests with predictable results and are 100% free. To get started, install a Python application that sends SMS, create a .env file with your Twilio account SID, auth token, from numbers, and to numbers, then run the application using Flask. The application can be tested by changing the account SID and auth token in the .env file to test credentials, which will allow it to send fake requests without incurring charges. By selecting combinations of sender and receiver magic numbers, all possible outcomes can be generated, making it easier to test error conditions and ensure that the application is robust.
Jun 15, 2020
1,798 words in the original blog post.
A mailing list management system using Airtable, Twilio SendGrid, and Python is presented in this text. The system involves creating a new base and table in Airtable to store email addresses, setting up a form to collect emails from users, retrieving emails from Airtable using the Airtable API with Python, rendering markdown content for emails, and sending emails using Twilio SendGrid's API. A command-line interface (CLI) is also created to read a markdown file containing front matter with a subject variable. Best practices for email flow and legal requirements are discussed, and the source code is provided for reference.
Jun 15, 2020
2,806 words in the original blog post.
Twilio Verify and Twilio Functions can be used to securely verify users' phone numbers from a web application, reducing fraud and increasing reliability of notifications. To do this, developers need a Twilio account, the Twilio CLI, and a Verify Service created in the Twilio console. The serverless toolkit is used to deploy the project, which includes two functions: one to send a one-time password (OTP) to the user's phone or email, and another to verify that the OTP is correct. The application can be deployed with just two API calls and one web page, allowing developers to easily integrate phone verification into their existing applications.
Jun 15, 2020
828 words in the original blog post.
Mark Jaquith of Tampa, Florida, a WordPress core development team member, uses Authy for two-factor authentication (2FA). He started using Authy after hearing good things about it from others and having a bad experience with Google Authenticator. Mark currently has over a dozen accounts linked to Authy but does not use the multi-device option yet. He suggested that the app could remember frequently used accounts for convenience. Mark actively promotes 2FA and Authy among friends, family, and co-workers, emphasizing its importance in digital security.
Jun 13, 2020
552 words in the original blog post.
To link IVR interactions with inbound calls using Flex Insights, developers can create an IVR Task, assign it to a "Nobody" TaskQueue and Workflow, and then use Twilio Studio and Functions to set up custom attributes and metrics. The IVR task is linked to the inbound call by overriding the conversation_id attribute, which is generated by default by Flex Insights. This allows for visibility into customer interactions with the IVR, enabling developers to track abandoned calls, measure queue time, and create custom reports that consider IVR segments. By using Twilio Flex, developers can build a contact center that provides a good customer experience and reduces agent handling time, while also gaining insights into customer behavior and preferences.
Jun 12, 2020
1,503 words in the original blog post.
To organize Animal Crossing players using Twilio Programmable SMS and Flask, developers need to create a Python program that receives message notifications from Twilio, parses phone numbers, and updates a dictionary with player statuses. The program uses Flask to receive webhook requests, Twilio's API to send messages, and ngrok to expose the Flask application to the public internet. Users can add themselves to the directory by texting their Twilio number with "hello," change their status by sending specific messages, and check their status by sending "check." The program also includes features like message restrictions and help text for users who need assistance. With this app, friends can organize and socialize in Animal Crossing while maintaining social distancing.
Jun 11, 2020
2,698 words in the original blog post.
Developers at a Croatian development firm created an app called Homebound that uses vibrant colors and beautiful interfaces to help users cope with COVID-19 isolation, allowing them to collect contact tracing information and stay engaged through gamification and chatbot interactions. The team built the app in just three weeks using React and Firebase as its backbone, and it won an award for best COVID-19 communications tool at a hackathon. The app's design prioritizes user experience and mental well-being, with features like SMS integration and a chatbot named Couchy that responds to user questions about the pandemic. The developers' goal was to create something out of the ordinary while still addressing the pressing need for contact tracing information during the crisis.
Jun 11, 2020
722 words in the original blog post.
ASTs, or Abstract Syntax Trees, are tree representations of code that power various development tools and can be useful for developers. They consist of a hierarchical structure where every node has at least a type specifying what it represents. ASTs are used in compilers, but also in tools like ESLint, Babel, and Prettier. Reading and traversing ASTs is common, especially for linting, while modifying and transforming ASTs can be done to perform tasks such as code optimization, bundling, and test coverage analysis. Printing ASTs can be used for formatting code according to a configuration or building custom minification tools. The use of ASTs in various projects and their benefits make them a valuable tool for developers to have in their toolbelt.
Jun 11, 2020
2,294 words in the original blog post.
$php artisan make:model Subscription -m` creates a model found at `app\Subscription.php` and a migration located at `database\migrations\create_subscriptions_table`. The migration adds columns for `id`, `price`, `currency`, and timestamps. A route is added to retrieve the first subscription, and a new cast class called `Money` is created to handle currency data. The `Money` class implements the `CastsAttributes` interface and provides methods for getting and setting the value of the `price` attribute as a Money object, with options to customize the amount and currency. The `Subscription` model is updated to use the `Money` cast on the `price` attribute.
Jun 10, 2020
1,391 words in the original blog post.
The Twilio SMS API empowers developers to programmatically send and receive SMS messages, track delivery, and manage message history. Auth0's Hooks feature allows developers to customize the behavior of their application with Node.js code executed at certain extension points, such as Post-User Registration, Post-Change Password, and Send Phone Message hooks. The post-user registration hook is used to notify users when they create an account by sending them a welcome SMS using the Twilio SMS API. To implement this, developers need to set up an Auth0 tenant, create a virtual phone number with Twilio, and then use the Auth0 Hooks feature to write custom code that sends an SMS to the user's phone number upon registration. The process involves importing the Twilio SDK, passing in credentials, and using the messages.create() API to send the SMS message. Once set up, developers can test their code using the Auth0 Runner tool and receive a response with a status of 200 and an SMS on their phone.
Jun 10, 2020
1,294 words in the original blog post.
Scaling by Design: 3T Emails and Growing` at Twilio SendGrid highlights the company's achievement of surpassing 3 trillion processed emails in May 2020. This milestone is a testament to their design and planning for scale, which has enabled them to maintain high availability (4 9s uptime) and low median delivery time of 1.9 seconds. The team's focus on building reliable, scalable infrastructure has allowed them to support senders of all sizes, including small businesses, without compromising performance. Fair queuing and direct network peering relationships with customers and inboxes have also been key factors in their success. As they continue to grow, Twilio SendGrid is executing strategies to reduce customer latency, provide greater insight into customer sends, and scale to meet the challenges of massive growth.
Jun 10, 2020
942 words in the original blog post.
This tutorial guides developers through the process of building a COVID-19 data tracker WhatsApp chatbot using the Twilio API for WhatsApp, PHP, and Symfony. The chatbot uses an open-source API to retrieve COVID-19 cases statistics from different countries and sends a summary of these cases back to the user via WhatsApp. To build the chatbot, developers need to set up a new Symfony application, install required dependencies, configure Twilio's WhatsApp sandbox, and create a controller that handles incoming messages and sends responses back to the user. The tutorial also covers how to integrate ngrok for exposing the local server to the internet and setting up the webhook for the chatbot.
Jun 10, 2020
1,594 words in the original blog post.
David Pine's blog post provides a comprehensive guide to building a video chat application using ASP.NET Core 3.1, Angular 9, and Twilio Programmable Video. The tutorial covers the integration of Twilio's JavaScript SDK within an Angular single-page application (SPA) and its C# SDK within the ASP.NET Core server code. It explains how to set up video chat rooms, manage participant audio and video tracks, and utilize Twilio's APIs for real-time user interaction. The guide details the setup process, including prerequisites like .NET Core SDK, Visual Studio, and Node.js, as well as the creation of services and API controllers. The client-side implementation involves Angular components and services for handling media devices and managing video chat functionalities. The post also describes the use of SignalR for real-time web functionalities, such as notifying clients of newly created rooms, and provides tips for deploying the application on Microsoft Azure. The application architecture demonstrates the collaborative use of Angular, ASP.NET Core, and Twilio to enable robust video communication features in a web application.
Jun 09, 2020
6,760 words in the original blog post.
To build a scalable interactive voice response (IVR) system using Twilio, AWS, and Python Flask, start by setting up a Twilio phone number and an S3 bucket on AWS with public access enabled. Create a TwiML Bin that defines the decision tree for your IVR, including audio files and callback URLs. Next, build a Python Flask application to handle user input and interact with the TwiML Bin. Use the Flask app to route incoming calls based on user input, such as COVID-related symptoms or non-COVID emergencies. Deploy the application to AWS Elastic Beanstalk, configure the instance settings, and update the Twilio phone number configuration to use the new IVR system. With this setup, you can create a cloud-based IVR that helps emergency call centers manage calls more efficiently during crisis situations.
Jun 09, 2020
3,006 words in the original blog post.
Ciptex RACE is a fast track solution to create a Twilio Flex-based, API-first contact centre. It was designed to help organizations quickly move to a home working solution and deliver a world-class cloud-based contact centre within minutes. The platform provides plugins for integrations with third-party applications, customization options, and advice from DevOps engineers. Ciptex built an online signup process that enables customers to set up the solution in minutes, and it includes automation, analytics, and deep integrations with external CRM and ERP applications. The API-first approach allows customers to easily access Conversational AI services and extend the solution as needed. An example of its effectiveness was seen when Britannia Hotels used RACE to quickly adapt to the UK lockdown, with the platform supporting live calls and text messages within hours. Ciptex has a history of delivering innovative cloud-based contact centre solutions to clients worldwide.
Jun 08, 2020
564 words in the original blog post.
The tutorial explains how to send WhatsApp notifications using the Twilio API and Python. To start, the user needs to create a Twilio account and set up a WhatsApp sandbox, which allows them to test sending messages without actually being able to receive any responses. The tutorial then guides the user through creating a Flask application that accepts order information from users, validates it, and sends a pre-approved template message with the delivery details to the user's WhatsApp number. The user is also provided with an external URL for the order number, which they can use to access more information about their order. After testing the application using ngrok to make it accessible online, the user receives a WhatsApp notification with the order details and can click on the link to view the order information.
Jun 08, 2020
2,913 words in the original blog post.
The use of SMS messaging in medical practices can provide benefits such as minimizing no-show appointments, improving interactions between providers and patients, and providing more effective care instructions while saving resources. However, sending SMS messages requires HIPAA compliance due to the potential exposure of protected health information (PHI). Healthcare providers must acquire opt-ins from patients and implement safeguards such as two-factor authentication to protect PHI. Choosing a HIPAA-eligible SMS provider is crucial in ensuring legal obligations are met. Providers can use SMS to provide emergency communications, remind patients to take their medicine, and offer more complete ongoing care with patients. By following best practices and using a HIPAA-compliant SMS provider, medical practices can effectively utilize text messaging while maintaining patient trust and security.
Jun 08, 2020
1,078 words in the original blog post.
Alpine.js, a relatively new front-end framework, promises a reactive and declarative nature without the need for compilation or configuration. It has a low learning curve due to its syntax being borrowed from Vue.js and Angular.js. This tutorial demonstrates the basic functionality of Alpine.js using Laravel Livewire and Twilio Verify. The code showcases how to create a simple form that allows users to enter their phone number, receive a verification code, and verify their phone number with conditional transitions and error handling. Additionally, it introduces the concept of x-data and x-show in Alpine.js, allowing for dynamic and flexible UI rendering without the need for separate components or dependencies. The tutorial concludes by highlighting the flexibility and power of Alpine.js, encouraging users to explore its capabilities further.
Jun 05, 2020
1,595 words in the original blog post.
A WhatsApp Currency Conversion Bot was built using Laravel and Twilio's API for WhatsApp. The bot can convert multiple currencies, including USD to NGN. To set up the bot, a new Laravel project was created using Composer, and the Twilio SDK library was installed. An API key from Currency Converter was obtained, and a wrapper class called `CurrencyConverterClient` was created to interact with the Currency Converter API. A database table was created to store currency data, and a seeder was used to populate the table with supported currencies. The bot's logic is implemented in the `BotController` class, which determines the response based on the user's input. A webhook endpoint was added to the routes, CSRF verification was disabled for the endpoint, and Ngrok was used to expose the application to the internet. Finally, the WhatsApp Sandbox was enabled, and the bot was tested. The project is now available in a GitHub repository.
Jun 05, 2020
2,201 words in the original blog post.
:`
This tutorial guides developers on how to use a test-driven development approach to write tests for the endpoints in their Laravel API project. It covers setting up a testing environment, creating factories, and writing tests for authentication, CEO creation, retrieval, update, and deletion. The codebase is tested using PHPUnit, and the tests are made to pass by implementing the necessary code in the controllers. The tutorial concludes with a call to action, encouraging developers to explore, add more tests, and write code that enables their tests to pass accordingly.
Jun 05, 2020
2,907 words in the original blog post.
Using interfaces and dependency injection for inversion of control in ASP.NET Core 3.1 Razor Pages projects built with the MVVM design pattern is crucial for reducing class coupling and improving modifiability. The Model-View-ViewModel (MVVM) design paradigm provides a comprehensive architecture, but using concrete classes that implement repositories causes rigid structure issues, making it difficult to modify and test applications as business requirements evolve. By introducing C# interfaces and .NET dependency injection, developers can decouple their code, improve maintainability, and enhance unit testing capabilities. This post demonstrated how to refactor an existing application to utilize interfaces and dependency injection, providing a more extensible and scalable architecture for ASP.NET Core 3.1 Razor Pages projects.
Jun 04, 2020
3,853 words in the original blog post.
Twilio has released Super SIM, a public beta cellular module that allows developers to choose their network providers and monitor data consumption. The Adafruit Feather FONA 32u4, a cellular board based on the Simcom SIM800H modem, is compatible with Super SIM. To use Super SIM with the Feather FONA, users need to set up their firmware and configure the APN settings. Once configured, users can send SMS commands to their device using the Super SIM API and monitor data usage through the Twilio console.
Jun 03, 2020
852 words in the original blog post.
The Twilio company has developed a feature called "Network Access Profiles" into their Super SIM product, which allows device makers to control and manage network access for low-powered, inexpensive IoT devices deployed globally. This feature enables device makers to create customized profiles that restrict access to specific networks or frequency bands, optimizing performance, cost, and coverage. The profiles work by cascading rules from global settings to local network-specific rules, allowing for fine-grained control over network access. With Network Access Profiles, Twilio aims to provide a more flexible and efficient solution for IoT device makers, enabling them to build reliable and resilient solutions that can adapt to changing network conditions.
Jun 03, 2020
1,223 words in the original blog post.
A new game of chess can be played between two players using WhatsApp by implementing a turn-based messaging system with Twilio and Flask. The application uses the python-chess package to manage the state of the board and the cairosvg package to render images of the board. The application starts with a random player as white, and sends a message to this player informing them that it is their turn. The players can then send messages in UCI format to make moves. The application uses Twilio's webhook feature to receive incoming messages from both players. The game ends when one player resigns, at which point the application sends an SMS notification to the other player declaring them the winner.
Jun 03, 2020
4,624 words in the original blog post.
Pose detection is being performed in a Twilio Video application using TensorFlow.js and the PoseNet model, allowing for the detection of various poses such as hands, elbows, and wrists. The code uses machine learning to estimate the confidence level of each pose and draw the corresponding keypoints on an HTML canvas over a video feed. A skeleton is also drawn between related points in the keypoints array returned by the PoseNet model.
The application allows users to join or leave a video room and view their own poses being detected in real-time, with the option to share it with friends. The completed code can be found on GitHub, and this project serves as a stepping stone for building more complex applications such as games or apps that utilize pose detection.
Jun 03, 2020
1,458 words in the original blog post.
A chatbot that provides live traffic information and an interactive map based on a user's location is built using Flask, Requests, Folium, and the Twilio API for WhatsApp. The chatbot uses TomTom's traffic API to retrieve data and generates a reply string based on the received coordinates. It also creates an interactive map using Folium and provides a URL for the map file to be displayed alongside the reply. The application logic is implemented in Python, with functions for getting traffic data, creating replies, and handling webhook requests from Twilio. The chatbot can recognize location-based messages and respond accordingly, providing a user-friendly interface for obtaining live traffic information.
Jun 02, 2020
3,572 words in the original blog post.