Music Is Life “Music is deeper then the ocean”

EXPERIENCING STAGE – AS A SINGER

With a zest of music in heart from early life Diljit has made a mark in Punjabi music industry. Hearthrob of young Punjabis started his professional career in his teens and has given hits after hits in the recent past. “Ishq da Uda-Adaa” was definitely a start with a Bang and He has never looked back ever since. Soon songs like “Dil Saade naal”, “Paggan pochhveeyan”, “Allraahaan Kuwariyan”, “Daaka” became ‘Dance anthems’ on dance floors worldwide. ‘Excitement’ has always been Diljit’s promise with every new album and songs like “Pannga”, “LA” took fans by storm and was, definitely “The NeXt LeVel”.

Diljit has always treated Stumbling blocks as Stepping stones. More success has only brought more humility to this artist. No doubt his fans love him so much for that.

6 Ways to Use Spiring Herbs as Healthy Greens

Little flecks of green parsley make plates look pretty, but antioxidant-rich herbs are more than just a garnish. Using handfuls of herbs instead of pinches can pack more nutrition onto your plate. Basil contains the antioxidant beta-carotene and may decrease the immune response to allergens. Mint has phenolic compounds with strong antioxidant activity, along with vitamin A, folate and potassium.

Here are easy ways to use big bunches of basil, mint, parsley, arugula and other herbs as healthy leafy greens.

Make classic herb sauces from around the globe

Pureeing fistfuls of parsley, cilantro, garlic, and olive oil is the basic recipe for the classic Argentinian steak sauce chimichurri; try it on our Dry-Rubbed Flank Steak. An Indian chatni or chutney contains similar ingredients with the addition of fresh mint like in Curry Rubbed Swordfish Steaks with Fresh Green Herb Chutney. Italian Blanched Basil Pesto includes bunches of basil along with parsley, olive oil and cheese. Liberally drizzle any or all of these zesty green sauces over eggs, vegetables, or whole grains.

Slice and dice up spicy salsas

The addition of tomatoes, mangos or avocados to the classic herb sauce makes for a colorful salsa. Cilantro combines with garlic, avocado and tomatillos in our recipe for Avocado Salsa Verde. When making pureed-style salsas, add another couple handful of herbs for extra nutrition, and to use up bits of herbs that may otherwise become food waste. Even a chunk-style Mango Salsa is delicious when the amount of fresh herbs is doubled.

Read more at: http://blog.foodnetwork.com/healthyeats/category/healthy-tips/?oc=linkback

Make classic herb sauces from around the globe

Pureeing fistfuls of parsley, cilantro, garlic, and olive oil is the basic recipe for the classic Argentinian steak sauce chimichurri; try it on our Dry-Rubbed Flank Steak. An Indian chatni or chutney contains similar ingredients with the addition of fresh mint like in Curry Rubbed Swordfish Steaks with Fresh Green Herb Chutney. Italian Blanched Basil Pesto includes bunches of basil along with parsley, olive oil and cheese. Liberally drizzle any or all of these zesty green sauces over eggs, vegetables, or whole grains.

Slice and dice up spicy salsas

The addition of tomatoes, mangos or avocados to the classic herb sauce makes for a colorful salsa. Cilantro combines with garlic, avocado and tomatillos in our recipe for Avocado Salsa Verde. When making pureed-style salsas, add another couple handful of herbs for extra nutrition, and to use up bits of herbs that may otherwise become food waste. Even a chunk-style Mango Salsa is delicious when the amount of fresh herbs is doubled.

Stir into steamy soups or pastas

When making hot dishes, add delicate herbs at the end of cooking to avoid limp, flavorless leaves. A whole cup of sweet basil is stirred into this Tomato Basil Soup. Our Zucchini Ribbon Pasta calls for over a cup of basil and parsley. Any pasta or soup recipe is a smart place to add extra herbs. Toss fresh chives or dill into canned soups or jarred pasta sauces to boost the antioxidant content.

Serve dinner on a bed of herbs

Practically any recipe that concludes with “sprinkle with parsley” can be served atop an herb salad of parsley, dill and arugula. A plateful of tender herbs is the perfect base for delicate seafood, like Scallops Provencal. Instead of rice, serve Chicken Piccata on a crisp herb salad.

Don’t toss fronds or leaves

Cooks often discard fennel fronds and celery leaves. Don’t! Fennel contains a significant amount of the antioxidant vitamin C; both fennel and celery have anti-inflammatory properties. Besides nutrition, celery leaves have a snappy flavor that adds tasty contrast to sweet apples in Waldorf Salad. Fennel fronds enhance dishes like Roasted Fennel with Parmesan with a fresh sweet-anise note.

Swap in an herb salad

Instead of a predictable green lettuce salad, serve a whole grain and herb salad. These salads use whole bunches of herbs and are a refreshing change of pace. Try our Quinoa Tabbouleh or Mediterranean Farro Salad.

Read more at: http://blog.foodnetwork.com/healthyeats/2017/03/09/6-ways-to-use-spring-herbs-as-healthy-greens/#more-59916?oc=linkback

Add Electronic Signature with DocuSign on Socialengine

SocialEngine is zend based platform which makes ease to anyone to create social network site. It is evolving as a tool for building communities based social website. Socialengine can be used to create social network website based for Ecommerce, organization, management or engaging people for something. There are lots of third-party plugins available to extend the functionality of SocialEngine. As everything is going digital nowadays and every business becomes part of it. Every business wants to manage documents digital rather than manual. DocuSign for Oracle Sales Cloud helps sales reps close deals faster, accelerate speed to results and reduce costs for eSignatures.

DocuSign is cloud-based Digital Transaction Management® (DTM) system which provides an electronic signature platform for business. It helps organizations to manage document-based transactions digitally, with the highest levels of bank-grade security, carrier grade availability and legal enforceability. Companies and individuals use DocuSign to manage transactions anywhere, anytime, on any device to increase speed to results, reduce costs, increase security and compliance, and delight customers across nearly every industry and business department.

In this article, we are going to demonstrate how to integrate DocuSign withSocialEngine to make documents management 100% digital.

Integrate DocuSign with SocialEngine

DocuSign provides different types of terms like Envelope, Document, Tab, Recipient, Template etc. All terms have different APIs to integrate with DocuSign. We are going demonstrate envelope term and how to integrate with SocialEngine. DocuSign provides SDK, API which is used to integration. You can download the minimal sample code of Docusign here which have basic API’s need to integrate. You can also refer to other programming language sample code here.

First of we need to create Docusign client object with authentication parameters. We add an API reference at top of our controller before declaring a class.

import com.twilio.client.Connection;
// Enter your Integrator Key, Email Password and version
$clientConfig = array();
'integrator_key' => "INTEGRATOR_KEY",
'email' => "EMAIL",
'password' => "PASSWORD",
'version' => 'v2',
'environment' => 'demo'
);

Once we create Docusign client object with authentication parameters then we need to instantiate client and call the Login API

// Instantiate client and call the Login API
$client = new DocuSign_Client($clientConfig);

To send envelope based signature requests we have to create an envelope. To create envelope from the document we have to create.

// "sent" to send immediately, "created" to save as draft in your account
$status = 'sent';
//*** Send the signature request!
$response = $service->signature->createEnvelopeFromDocument($emailSubject, $emailBlurb, $status, $documents, $recipients, array() );

Now we need to get recipient view using newly created envelope id. Below is the code to the user above response variable to get recipient view.

$service = new DocuSign_ViewsService($client);
$envelopeId = $response->envelopeId;
$returnUrl = 'http://' . $_SERVER[HTTP_HOST] . "/returnurl?envelope_id=$envelopeId";
$authMethod = "email";
$response = $service->views->getRecipientView(
$returnUrl,
$envelopeId,
$recipient_name,
$recipient_email,
$user->user_id,
$authMethod );
// this url can used to open in iframe or browser widnow
$this->view->url_doc = $response->url;

GetrecipientView service call returns a URL which is used to open recipient view in iframe or browser window. In this window, a user can see the documents and can fill information if required.

Conclusion

Using above example we can integrate DocuSign with Socialengine and provide a digital way to manage documents. As stated above DocuSign provides many types of different ways to integrate with other platforms. DocuSign also provides SDK for other languages which anyone can use to integrate with them.

That’s all folks and feel free to contact us in case if you have any query.

Sync your passwords across devices with google’s smart lock

How many passwords do you have to remember? How many websites and accounts need you to enter this information each and every time you open the page? Where did you put those crazy passwords anyway? Have you ever been changed your password and forget after some time. Let’s see if This “No Need to remember password with Smart Lock Password” article can help.

Now a day’s users are using dozens of websites that require a user-name and password. Trying to remember your every password is hard enough. A strong and unique password is required for every site you are going to enter the password. The stronger the password, the harder it becomes to remember, and most people take the easy way out by creating a password which is easy to remember, and possibly using the same password for more than one account. This then leaves them vulnerable to hackers and have more chances of guessing from someone.

Google identified this problem and launched the “smart lock password” at its I/O developer conference, a tool to sync and store online passwords across Chrome and Android. Now Google is combining all of its login and identity solutions into a single platform today under the Google Identity Platform. For those of you who have never wanted to remember the password, they can use Google Identity Platform which hold all of your passwords in one secure location.

As per the google, Users can signin/signup on to the chrome or android using smart lock password. Whenever you sign in to a website, Chrome asks if you want to save your password for that site. If you’re signed in to chrome, your password will also sync to your Google Account so that you can use them on android and other devices. Password that you have saved in chrome may be available to automatically sign you in on your Android devices. Passwords that you save on your Android device are also available in Chrome when you are signed in with your google account.

With the latest version of Google play Services on your phone, You will have a new “smart lock password” option in your Google settings that will let you sync those passwords to you mobile for the installed app to make use of as well. If an app developer simply plugs in a single API into their app, you will be able to download an app from Google Play and sign in with a single tap if you have already signed into that.

Conclusion

Smart lock password will reduce the risk of forgotten user passwords. Netflix, The New York Times, Instacrt, Orbiz are some of the services that have been confirmed to integrate smart lock password. Use Google Credential API to add smart lock password on their app. smart lock password have one clear advantage in general, a well made app can provide a far better user experience than even the best websites are capable of right now.

Android O : Ultimate guide you need to know

Google has done it again, releasing the Developer Preview of its next Android operating system ahead of its annual Google I/O developer’s conference – exciting news for the increasing number of Android users across the globe. Here we will discuss the things about the Android O.

Following Android Alpha and Android Beta, Google has always named its Android OS updates after sweet treats, and in alphabetical order. So far we’ve had Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow, and Nougat.

Android O: Name

Android Oreo seems to have been semi-confirmed by a Google exec. While it’s not 100% concrete, and more of nudge-wink sort of nod to the idea, Google’s senior vice president of Android, Chrome OS and Google Play, Hiroshi Lockheimer, tweeted a gif of an Oreo-based cake, which could be taken as him saying “yes, it’s Android Oreo,” if you were super generous about how you interpret this.

What’s new in Android O?

Android O introduces a number of new features and APIs to use in your apps. Here’s are just a few new things for you to start trying in this first Developer Preview:

Notification:

  • Introduces notification channels that allow you to create a user-customizable channel for each type of notification you want to display. The user interface refers to notification channels as notification categories. To learn how to implement notification channels.
  • Users can snooze notifications to reappear at a later time. Notifications reappear with the same level of importance they first appeared with. Apps can remove or update a snoozed notification, but updating a snoozed notification does not cause it to reappear.
  • You can now set a timeout when creating a notification using Notification.Builder.setTimeout(). You can use this method to specify a duration after which a notification should be canceled. If required, you can cancel a notification before the specified timeout duration elapses.

 

Autofill APIs:

Users can save time filling out forms by using autofill in their devices. Android O makes filling forms, such as account and credit card forms, easier with the introduction of the Autofill Framework. The Autofill Framework manages the communication between the app and an autofill service.

Filling out forms is a time-consuming and error-prone task. Users can easily get frustrated with apps that require these type of tasks. The Autofill Framework improves the user experience by providing the following benefits:

  • Less time spent in filling fields Autofill saves users from re-typing information.
  • Minimize user input errors Typing is prone to errors, especially in mobile devices. Removing the necessity of typing information also removes the errors that come with it.

PIP for handsets and new windowing features:

Android O allows activities to launch in picture-in-picture (PIP) mode. PIP is a special type of multi-window mode mostly used for video playback. PIP mode is already available for Android TV, It makes the feature available on other Android devices.

When an activity is in PIP mode, it is in the paused state, but should continue showing content. For this reason, you should make sure your app does not pause playback in its onPause() handler. Instead, you should pause video in onStop(), and resume playback in onStart(). For more information, seeMulti-Window Lifecycle.

To specify that your activity can use PIP mode, set android:supportsPictureInPicture to true in the manifest. (Beginning with It, you do not need to set android:resizeableActivity to true if you are supporting PIP mode, either on Android TV or on other Android devices; you only need to set android:resizeableActivity if your activity supports other multi-window modes.)

Font resources in XML:

Android O introduces a new feature, Fonts in XML, which lets you use fonts as resources. This means, there is no need to bundle fonts as assets. Fonts are compiled in R file and are automatically available in the system as a resource. You can then access these fonts with the help of a new resource type,font also provides a mechanism to retrieve information related to system fonts and provide file descriptors. For more information, about using fonts as resources and retrieving system fonts, for more about fonts see Working with fonts.

 

Adaptive icons:

Adaptive icons display in a variety of shapes across different device models.

Android O introduces adapti

Magento salesforce integrations with Customers in 3 Creative Steps

If you are running eCommerce website then you always fear to lose your customer accounts one solution is to keep the backup on daily basis but it comes very headache to keep lots of backups also need lots of space. Another solution is Magento 2 customers Salesforce integration.There are two ways for Magento Salesforce Integration for customers. One is to do is manually or another is to do it automatically (Using crone on specific events). We have described the automatically approach to synchronize Magento Salesforce Integration for customers.

Magento Salesforce Integration for Customers

Following are the steps to Magento Salesforce Integration for customers  based upon Magneto 2 customers creation or update

Step 1: Entering Observer event in the XML

This is the important part to handle the event into Magento 2. Go to your module ->etc->frontend and verify that the XML file named as the event.xml exists or not if exist then create. Open event.xml and do the following code inside this

 

    ............
    ............
    <event name="customer_save_after">
        <observer name="customer_save_after" instance="Package\Module Name\Observer\CustomerUpdateObserver" />
    </event>
    ............
    ............

Step 2: Creating Observer

Now we have to create the observer file to perform Magento Salesforce Integration operations according to our need. In my case my observer name is CustomerUpdateObserver.php . To create the file go to path project/app/code/package/module/Observer/ and create you observer here with following code.

add your needed helper files inside the constructor

 ........
 ......
 public function __construct(
        \Magento\Framework\ObjectManagerInterface $objectManager, //to performs some operations 
        \Ipragmatech\Msintegration\Helper\Account\Data $helper //we have written our functions inside this helper
    ) {
        $this->_objectManager = $objectManager;
        $this->_helper = $helper;
    }

Add the following line of code inside the execute function of observer

       try {
            $customer = $observer->getEvent()->getCustomer();
            $salesforceId = $this->_helper->getClientSfId($customer->getId());
            if (empty($salesforceId)) {
                $id = $this->_helper->createAccount($customer);
                if (!empty($observer->getCustomerAddress())) {
                   $this->_helper->updateAddress($observer->getCustomerAddress(), $id);
                }
            } else {
                $this->_helper->updateAccount($salesforceId, $customer);
                if (!empty($observer->getCustomerAddress())) {
                    $this->_helper->updateAddress($observer->getCustomerAddress(), $id);

                }
            }
        } catch (\Exception $e) {
            // do what ever you wanna perform based on your exception log or some operation
        }


 

Step 3: Create Helper file

Go to helper folder create a folder named Account and inside folder create a file named Data.php. Inside the file, we need to write our functions for creating a customer account, updating customer, and updating customer address.

  • Creating customer account on the Salesforce
     public function createAccount($customer)
        {
            $name = $customer->getFirstname() . " " . $customer->getLastname();
            $email = $customer->getEmail();
            $lastUrl = "sobjects/Account/";
    
            $params = array(
                array(
                    "Name" => $name,
                )
    
            );
            $acountResult = $this->_helper->postAction($params, $lastUrl);
            $response = $acountResult ['response'];
            $status = $acountResult ['status'];
            $id = $response["id"];
            $mappingArray = [
                'customer_id' => $customer->getId(),
                'customer_salesforce_id' => $id,
    
            ];
            try {
                $model = $this->_objectManager->create('Ipragmatech\Msintegration\Model\Customermapping');
                $model->setData($mappingArray);
                $model->save();
            } catch (\Exception $e) {
                // put your own code
            }
    
            return $id;
        }
  • Updating customer account on Salesforce
     public function updateAccount($salesforceId, $customer)
        {
    
            $name = $customer->getFirstname() . " " . $customer->getLastname();
            $email = $customer->getEmail();
            $lastUrl = "sobjects/Account/$salesforceId";
            $params = array("Name" => $name);
            $updateAccount = $this->_helper->updateAction($params, $lastUrl);
            $status = $updateAccount ['status'];
    
            if ($status != 204) {
               // failed with status 
            }
            return true;
    
        }
  • Updating customer address on the Salesforce
        public function updateAddress($addressObject, $salesforceId)
        {
            $name = $addressObject->getFirstname() . " " . $addressObject->getLastname();
            $streets = $addressObject->getStreet();
            $country = $addressObject->getCountry();
            $city = $addressObject->getCity();
            $postCode = $addressObject->getPostCode();
            $company = $addressObject->getCompany();
            $state = $addressObject->getState();
            $telephone = $addressObject->getTelePhone();
            $strt = "";
            foreach ($streets as $street) {
                $strt .= "," . $street;
            }
    
            $lastUrl = "sobjects/Account/$salesforceId";
    
            $params = array(
                array(
                    "Name" => $name,
                    "BillingCity" => $city,
                    "BillingStreet" => $strt,
                    "BillingState" => $state,
                    "BillingPostalCode" => $postCode,
                    "BillingCountry" => $country,
                    "ShippingCity" => $city,
                    "ShippingStreet" => $strt,
                    "ShippingState" => $state,
                    "ShippingPostalCode" => $postCode,
                    "ShippingCountry" => $country,
                    "Phone" => $telephone
                )
            );
            try {
                $updateAddress = $this->_helper->updateAction($params, $lastUrl);
                $status = $updateAddress ['status'];
                if ($status != 204) {
                    //your own message call has been failed
                return true;
            } catch (\Exception $e) {
               //handle exception accordingly
            }
    
        }
    

Conclusion

The Magento Salesforce Integration for sync customers is an advantageous integration tool for Magento 2 and Salesforce. In this Magento Salesforce Integration you do not encounter any technical difficulties or confusion with it, support for this Magento Salesforce Integration is available, you can ask the question on this blog or you may have a look at a solution which we have already implemented for Magento Salesforce Integration, products and orders to Salesforce on their update/ create in Magento 2. Click here to know about our plugin. So don’t wait any longer, go for it!

7 Easy tips to improve magento store loading speed in 2017

Magento is an open-source eCommerce platform with a large number of active online merchants using it. Magento is very robust with great flexibility, scalability, and customization. Most of the CMS or eCommerce platforms like Magento and WooCommerce are having issues with speed and their performance degrading over time. Why do we need to optimize Magento performance?

    • According to KISSMetrics, 40% of the customer will abandon an eCommerce site if it takes longer than three seconds to load. More noticeable, an ONE-SECOND delay in load time can result in a 7% reduction in conversions.
    • As you know by now, Google is using site speed in web search ranking, and not only for Google but mainly for the User Experience (UX) on your eCommerce store.

In this article, we share some tips and tricks on how you can optimize Magento performance of your Magento based eCommerce store.

Tips to improve Magento store loading

1. Latest Version:

Always upgrade to the latest Magento version. Not only will you get more features and bug- and security fixes, but with every update, Magento performs better. You didn’t check every time to magneto website to for latest release, Magento does a good job of notifying you of important updates that become available within your messages inbox.

2. Enable Flat Catalog:

Magento uses the EAV model (entity attribute value) to store customer and product data. Enabling the flat catalog for categories and products merges product data into one table, thereby improving performance by responding to MySQL queries faster. If your eCommerce store has more than 1000 products, this can very beneficial.

Magento uses the EAV model (entity attribute value) to store customer and product data. Enabling the flat catalog for categories and products merges product data into one table, thereby improving performance by responding to MySQL queries faster. If your eCommerce store has more than 1000 products, this can very beneficial.
1. Login to your Magento Store as admin
2. Navigate to “System” → “Configuration” → “Catalog.”
3. Under “Frontend” change “Use Flat Catalog Category” and “Use Flat Catalog Product” to “Yes.”
4. Click on “Save Config.”
5. Clear the cache. The recommended way to do this is to delete everything from the /var/cache directory. You can also do it by navigating to “System” → “Cache Management” and clicking on “Flush Cache Storage” which is equivalent to deleting all the cache.

3. Cache & Indexers: 

There are many forms of caching that can be implemented with Magento. Combining NGINX + APC + Memcache + Varnish caching is a great way to success. Magento also comes with a built-in caching module as well. One more thing using Magento’s page caching. It reduces the web server processing load is taken off from the web server by serving pages already visited before from a cache which makes it a lot faster. There are lots of pages caching extensions available for Magento you can choose according to your requirement.

Using a PHP accelerator is another form of caching. They increase the performance of PHP scripts by caching them in their compiled state. You can use a PHP accelerator like APCXcacheeAccelerator  etc.

As we know Magento has lots of feature one of them is the indexer. Magento updates indexes on every object store by default, but in some cases, manual updates are required. Basically, indexes are used to speed up Database queries.

4. Code and Database Optimization:

Use a PHP accelerator like Zend and uninstall unnecessary PHP or Apache modules you don’t need or use. Improve your database performance using query indexing and broad optimization scripts. Use your DB management system to optimize the database on the frequent basis.

Magento has a compilation feature which has been reported to sometimes give up to a 50% performance boost. By default, Magento’s application files are searched in a certain order every time the page loads, which results in a lot of filesystem reads. In Magento admin, (top menu) System > Tools > Compilation, click Enable. This will take all the active scripts in Magento’s core structure and bring them to the front for faster website speed. The Magento compiler reduces these reads by copying all of these files into a single include directory and also caches ones that are used more frequently.

Optimizing your product images can dramatically increase the speed of your pages as this decreases their download times. You can compress them before uploading them using a tool like PhotoShop or there are a number of extensions you can use to auto-optimize them like TinyPNG Extension.

5. Merge CSS & JS:

Magento actually has a built in feature to concatenate (merge) your CSS and Javascript files into one file. This will reduce your total number of HTTP requests and in turn help speed up the loading of your pages. By using the advanced configuration in Magento admin, you can merge you JavaScript and CSS files, this reduces the load time. Please be aware that merging your javascript files may cause issues that need to be further resolved, but in the end, it certainly is best for your store.

6. Use CDN:

Implementing a Content Delivery Network (CDN) with Magento is one of the easiest ways to instantly see decreased load times. Using a content delivery network (CDN) such as MetaCDN enables serving your assets from a location geographically closest to your customers and hence reduces latency and increases download speed for those assets. Magento lets you define where certain assets (CSS, javascript, images, etc.) are loaded from such as a URL pointing to a CDN.  Magento CDN integration guide for details how to integrate the MetaCDN Site Accelerator into your Magento installation.

7. Hosting environment:

And last but not least, choosing a reliable and fast web host can be one of the most important decisions you will make when trying to improve Magento performance. We recommend staying away from shared hosting as they tend to overcrowd their servers and you will end up sharing resources between hundreds of website. We suggest going with a VPS like socialfoxhosting.comDigital Ocean, Linode etc. The reason is that you will be in complete control of your resources.

Conclusion

There are many ways to optimize Magento performance for your Magento based eCommerce site. Some of them we have discussed here. If you suffer from slow Magento performance, we can help you with Magento optimization to speed up Magento in no time! Making sure your eCommerce solution is running fast is one of the most important factors to your sales, SEO rankings, and overall best user experience.

For further reading

Ultimate Guide to send OTP using PHP(Twilio) in 5 minutes?

Are you facing an increase in attempts by spam to gain unauthorized access to your website? Once you’ve launched your website and you haven’t put any spam prevention measure in place. Verification Code allows you to protect your website by adding send sms verification functionality to User Registration functions before the user can see the full content of your website.

Verification Code is used Twilio Networks HTTP API to send messages, meaning you will need a valid Twilio Networks username and password in order to be able to send SMS messages. The account can be obtained from the https://www.twilio.com

Basic Php Integration to Send SMS with Twilio

1. How to Setup Twilio

To send SMS and outgoing messages perform an HTTP POST to the Messages resource URI. We will also use the Twilio PHP Library for making REST requests.

If you are using a Twilio Trial account for this example, you will only be able to send SMS messages to phone numbers that you have verified with Twilio. Phone numbers can be verified via your Twilio Console’s Verified Caller IDs. The ‘From’ parameter will also need to be a phone number you purchased from Twilio.

Create an account on Twilio.

  • Follow this link for create account on Twilio https://www.twilio.com.
  • If you created trial account on Twilio then you can send SMS to only the verified number of Twilio account.
  • For send SMS on any number you need to create premium account or upgrade the Twilio account.

2. Scheduled SMS campaigns

You’ll be assigned a number when you sign up to Twilio that you can use for testing but can’t send any actual texts through it. We just credited the account straight away so we could see the text coming through live. For us and probably most others we only needed to send a handful of texts whilst testing. As you’ll see further down this write up the library provided by Twilio is super simple and you are only charged when a text is successfully delivered so for the cost of having the convenience of actual messages being delivered to real phones was well worth it.

Sign up for a free Twilio account and buy a phone number.

3. Grab the PHP library and your API credentials

Download the PHP library provided by Twilio and put it somewhere that it can be included in the PHP script you want to use to send the SMS text. When sending your messages you’ll also need your account sid and your Auth Token. These can be grabbed from your account settings.

4. Set up the sending of the message

Firstly include the PHP library you’ve just downloaded and unzipped:

require "PATH YOUR TWILIO LIBRARY/Services/Twilio.php";
$client = new Services_Twilio('ACCOUNT SID HERE', 'AUTHTOKENHERE');

You have to find the your account SID and auth token in your console dashboard, and your phone number in your phone numbers list. Create a file called settings.php to store these values.

 
     $account_sid = "YOURACCOUNTSID";
     $auth_token = "YOURAUTHTOKEN";
     $twilio_phone_number = "+YOURTWILIONUMBER";

Create a file called send-sms.php and paste in the code below to:

  • Include the helper library and settings file
  • Create a Twilio client using our account credentials
  • Create a new message from our twilio number, to our cellphone
require "PATH YOUR TWILIO LIBRARY/Services/Twilio.php";
include 'settings.php';
$client = new Services_Twilio('ACCOUNT SID HERE', 'AUTHTOKENHERE'); 
$client->account->messages->create(array(
  'To' => 'NUMBER OF RECIPIENT',
  'From' => 'NUMBER PURCHASED WITH YOUR ACCOUNT',
  'Body' => "THIS IS YOUR TEXT MESSAGE",
));

Save your file and run it:
php send-sms.php

Conculsion

It’s as easy as that! You’ll now be sending live text messages via PHP and Twilio. You can keep an eye on the outgoing messages via the logs area of your Twilio account area and keep an eye on costs via the usage area.
Following on from that we set the header type text/plain and simply output what we’d like to be text back to the number that has sent the text, Twilio does the rest. That’s sending a text messages and handling a response via a text all wrapped with small amount of code.

References

Twilio Docs
The Twilio Php Helper Library
SEND SMS AND MMS MESSAGES IN PHP

Further Reading

Twilio voice: Receive Call On Your Android Mobile
Easy way to play an audio file on call in android using twilio
How to enable two step verification in Socialengine websites