PHP + Twilio + Whatsapp: Would You Like to Play a Game?
There are 1.5 billion people using WhatsApp's end to end encrypted messaging platform to communicate. Many of those people prefer WhatsApp to SMS and other messaging platforms. It's currently the most popular messaging app in the world.
Twilio is adding options to the same API calls you use to send and receive SMS messages with Twilio, so you can now reach those users the way they prefer: on WhatsApp.
Using the Twilio API Sandbox for WhatsApp in your Twilio console, you can experiment with this new channel for connecting your software to the world.
Here are a few ways you can play with the Twilio API Sandbox for WhatsApp using PHP.
Before Getting Started
To code along with this post, you'll want:
Twilio + PHP to Call and Text
Twilio is all about communication. To help us communicate with a wider range of learning styles, on our YouTube channel you can find out how to get started with many of our APIs and services across a variety of languages, with new videos being added all the time.
Here we will step through making a phone call and sending a text message using PHP and the Twilio REST client. Each of these has a corresponding video on our YouTube channel for those who prefer to watch.Twilio Setup
In order to make a phone call, we will need to own a Twilio number. If you don’t already have one, you can get one here.
To make our call or send our text, we will send information to Twilio using the PHP sdk and specifically the REST client. We will send both the information to authenticate our account and our ...
Continuous Delivery with Jenkins and GitHub
If you can set up a project server once, you can set up Jenkins to deploy that project again and again as you develop, maintain, and expand it.
In this post we will set up a multi-stage deploy server and the Jenkins jobs we need for continuous delivery. By the end you will know how to set up a server and Jenkins jobs to automatically deploy successfully built branches into each environment.
In a previous post we set up a dedicated Jenkins Server and gave it access to our projects’ GitHub account with an SSH key.
We will use a PHP project as an example, but we’ll also talk about how these same steps can be used to deploy most web projects regardless of language, framework, or other considerations.
In order to follow along with this post, you will need the following:
- A PHP project with a repository ...
Creating a Jenkins Server for GitHub Projects
A deploy process should provide consistency, incorporate tests, and utilize a multi stage deploy process to protect your production server, provide useful logging, catch breaking changes quickly, and integrate smoothly with your version control software.
There are a few options available for managing a deploy process like this. Many of these are managed services which means much of it is opaque and outside your control. If you’re like me, you’d rather have total access to and control of your deploy chain. The best option for control freaks like us, is Jenkins.
This post will walk through creating a dedicated Jenkins server and setting it up with an SSH key on your GitHub account.
Moving forward this post will assume a few things about you and your project:
Laravel and Twilio: Group Video Chat
While words alone are powerful, the inflections of people’s voices, the gestures and expressions we unconsciously flow through during conversation all contain a wealth of information often lost to us in our technology driven communications.
Using Twilio’s Video API you can now add the richness of face to face interactions to any web project.
Here we’ll look at how to create a Laravel web application that gives users the ability to join existing video groups or create their own.
You can preview what we’re building here.
This walkthrough assumes you have a PHP development environment setup with git installed, a global install of composer, and which enables you to access your project through a browser using localhost or virtual hosts. You will also want to gather some information beforehand:
Symfony 3 and FOS User Bundle: Customizing Users
By default FOS Users only have username, email, and password attributes. If you want to add more information like an address or phone number to your users there are several steps you’ll need to take which are described here.
The FOS User bundle also comes with some handy forms for user registration, login, and profile editing. These forms do not contain any styling information, and will not automatically incorporate any custom attributes you add to the User entity. How to overcome these obstacles is also detailed here.
This post will assume you have already set up some things:
Creating a Symfony 3 Project with Basic User Handling
User handling is a fundamental part of a ton of web projects. This post will walk through how to get setup using the Symfony 3 framework and the Friends of Symfony bundle so that your project can allow users to register, login and out, and view and edit their User profile. The steps here will serve as a great starting point for your next web project.
This post will assume you have already set up a couple of things:
- make sure you have a working database user and password – you will need to input these during the install process
Install Symfony Standard Edition
The install command will create a new folder and build the project within it. Inside the directory where you would like to place your project folder run the following command:
composer create-project symfony/framework-standard-edition UserLove
Interactive Install ...
Introducing Twilio Developer Evangelist Margaret Staples
Once upon a time when I was just considering what a Me might be I thought designing space colonies would be the right job for me. I made plans to spend a lifetime pouring focus and attention into helping humans be happy, healthy, and successful in a diaspora into space by meticulously designing purposeful coordinated systems.
From the stories I was pulling heroes from I thought that this was how progress happened. Each individual picking one thing and doing only that. All on their own.
Time scale is a tricky thing.
Growing up, as I continually integrated more time positioning data, something like a prolonged motion sickness rippled through my existence. Things I thought of as the “past” were more recent and things I thought of as the “future” were further away from my “present”. The first graduates of Starfleet Academy raced from the vision of “within my lifetime” out ...