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.

  1. 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';
        }
      ?>
  2. 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.