Adding order verification
If you handle any type of commerce, such as e-commerce and callin orders, you know that giving your customers a way to quickly check their orders is handy for selling anything.
Making things easy for customers keeps them coming back again; having a way for your customers to just text you an order ID and tracking their purchase at any time is really handy.
In this example, a user will text an order ID and we will return a result based on an array.
The array will be formatted by order ID and status as follows:
$orders = array( 'order id'=>'status' );
Getting ready
The complete source code for this recipe can be found at Chapter1/Recipe3
.
How to do it...
We're going to set up a simple order verification system. A user will text us an order number and we will reply back with the status of that order.
Upload a file called
order_verification.php
to your server:<?php $orders = array( '111'=>'shipped', '222'=>'processing', '333'=>'awaiting fullfillment' ); if( isset($_POST['Body']) ){ $phone = $_POST['From']; $order_id = strtolower($_POST['Body']); $status = order_lookup($order_id); print_sms_reply("Your order is currently set atstatus'".$status."'"); }else{ print_sms_reply("Please send us your order id and wewill look it up ASAP"); } function print_sms_reply ($sms_reply){ echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; echo "<Response>\n<Sms>\n"; echo $sms_reply; echo "</Sms></Response>\n"; } function order_lookup($order_id){ global $orders; if( isset($orders[$order_id]) ){ return $orders[$order_id]; } return 'No Order Matching that ID was found'; } ?>
To have a number point to this script, log in to your Twilio account and point your Twilio phone number to it:
Insert the URL in the SMS Request URL field on this page. Then, any text messages that you receive on this number will be processed via order_verification.php
.
How it works...
In step 1, we created order_verification.php
.
In step 2, we configured a number in our Twilio account to call order_verification.php
.
This is a one-step recipe. A user sends you a text message containing their order ID; you then perform a lookup and return the status.
If no order exists, it returns that the order wasn't found in the system.