messaging

WhatsApp Business API

Provide customer care and deliver notifications on the world’s most popular messaging app with Twilio APIs and software.

whatsapp-channel-hero.png

overview

Connectivity and beyond

illo-whatsapp-channels.png

Simply and securely send WhatsApp messages with Twilio APIs. Integrate WhatsApp and other communications channels like SMS and MMS with the Programmable Messaging API, or orchestrate multichannel, multiparty interactions using the Conversations API.

With built-in tools and software for visual workflows and template message management, Twilio offers more than pure connectivity.

use cases

APIs to support your use case

Customer care

Manage customer support and sales interactions on the channels that your customers prefer with the Conversations API.

Notifications and alerts

Deliver appointment reminders, purchase confirmations, or urgent alerts with the Programmable Messaging API.

capabilities

Create engaging customer

experiences with WhatsApp

illo-whatsapp-convo.png

Send feature-rich communications

  • Communicate trust with a branded Sender Profile and Message Templates
  • Allow consumers to start conversations with custom QR codes
  • Send and receive media files like images, audio, and PDFs
  • Share locations on a map with outbound Location Messages
  • Understand message engagement on a per-contact level with Read Receipts
  • Node.js
  • C#
  • PHP
  • Ruby
  • Python
  • Java
  • curl
  • twilio-cli
// Download the helper library from https://www.twilio.com/docs/node/install// Your Account Sid and Auth Token from twilio.com/console// DANGER! This is insecure. See http://twil.io/secureconstaccountSid='ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';constauthToken='your_auth_token';constclient=require('twilio')(accountSid,authToken);client.conversations.conversations.create().then(conversation=>console.log(conversation.sid));
// Install the C# / .NET helper library from twilio.com/docs/csharp/installusingSystem;usingTwilio;usingTwilio.Rest.Conversations.V1;classProgram{staticvoidMain(string[]args){// Find your Account Sid and Token at twilio.com/console// DANGER! This is insecure. See http://twil.io/secureconststringaccountSid="ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";conststringauthToken="your_auth_token";TwilioClient.Init(accountSid,authToken);varconversation=ConversationResource.Create();Console.WriteLine(conversation.Sid);}}
<?php// Update the path below to your autoload.php,// see https://getcomposer.org/doc/01-basic-usage.mdrequire_once'/path/to/vendor/autoload.php';useTwilio\Rest\Client;// Find your Account Sid and Auth Token at twilio.com/console// DANGER! This is insecure. See http://twil.io/secure$sid="ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";$token="your_auth_token";$twilio=newClient($sid,$token);$conversation=$twilio->conversations->v1->conversations->create();print($conversation->sid);
# Download the helper library from https://www.twilio.com/docs/ruby/installrequire'rubygems'require'twilio-ruby'# Your Account Sid and Auth Token from twilio.com/console# DANGER! This is insecure. See http://twil.io/secureaccount_sid='ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'auth_token='your_auth_token'@client=Twilio::REST::Client.new(account_sid,auth_token)conversation=@client.conversations.conversations.createputsconversation.sid
# Download the helper library from https://www.twilio.com/docs/python/installfromtwilio.restimportClient# Your Account Sid and Auth Token from twilio.com/console# DANGER! This is insecure. See http://twil.io/secureaccount_sid='ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'auth_token='your_auth_token'client=Client(account_sid,auth_token)conversation=client.conversations.conversations.create()print(conversation.sid)
// Install the Java helper library from twilio.com/docs/java/installimportcom.twilio.Twilio;importcom.twilio.rest.conversations.v1.Conversation;publicclassExample{// Find your Account Sid and Token at twilio.com/console// DANGER! This is insecure. See http://twil.io/securepublicstaticfinalStringACCOUNT_SID="ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";publicstaticfinalStringAUTH_TOKEN="your_auth_token";publicstaticvoidmain(String[]args){Twilio.init(ACCOUNT_SID,AUTH_TOKEN);Conversationconversation=Conversation.creator().create();System.out.println(conversation.getSid());}}
curl -X POST https://conversations.twilio.com/v1/Conversations \-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token
#Installthetwilio-clifromhttps://twil.io/clitwilioapi:conversations:v1:conversations:create

Provide trusted, convenient customer care

  • Manage participants, session expiration, and archives without additional code with the Conversations API
  • Assist customers on WhatsApp—and other channels—with a unified view using the Conversations SDKs
  • Add simple bots, intelligent assistants, and the option to escalate to agents with Twilio product integrations
  • Node.js
  • C#
  • PHP
  • Ruby
  • Python
  • Java
  • curl
  • twilio-cli
// Download the helper library from https://www.twilio.com/docs/node/install// Your Account Sid and Auth Token from twilio.com/console// DANGER! This is insecure. See http://twil.io/secureconstaccountSid='ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';constauthToken='your_auth_token';constclient=require('twilio')(accountSid,authToken);client.messages.create({from:'+15017122661',body:'body',to:'+15558675310'}).then(message=>console.log(message.sid));
// Install the C# / .NET helper library from twilio.com/docs/csharp/installusingSystem;usingTwilio;usingTwilio.Rest.Api.V2010.Account;classProgram{staticvoidMain(string[]args){// Find your Account Sid and Token at twilio.com/console// DANGER! This is insecure. See http://twil.io/secureconststringaccountSid="ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";conststringauthToken="your_auth_token";TwilioClient.Init(accountSid,authToken);varmessage=MessageResource.Create(from:newTwilio.Types.PhoneNumber("+15017122661"),body:"body",to:newTwilio.Types.PhoneNumber("+15558675310"));Console.WriteLine(message.Sid);}}
<?php// Update the path below to your autoload.php,// see https://getcomposer.org/doc/01-basic-usage.mdrequire_once'/path/to/vendor/autoload.php';useTwilio\Rest\Client;// Find your Account Sid and Auth Token at twilio.com/console// DANGER! This is insecure. See http://twil.io/secure$sid="ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";$token="your_auth_token";$twilio=newClient($sid,$token);$message=$twilio->messages->create("+15558675310",// to["from"=>"+15017122661","body"=>"body"]);print($message->sid);
# Download the helper library from https://www.twilio.com/docs/ruby/installrequire'rubygems'require'twilio-ruby'# Your Account Sid and Auth Token from twilio.com/console# DANGER! This is insecure. See http://twil.io/secureaccount_sid='ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'auth_token='your_auth_token'@client=Twilio::REST::Client.new(account_sid,auth_token)message=@client.messages.create(from:'+15017122661',body:'body',to:'+15558675310')putsmessage.sid
# Download the helper library from https://www.twilio.com/docs/python/installfromtwilio.restimportClient# Your Account Sid and Auth Token from twilio.com/console# DANGER! This is insecure. See http://twil.io/secureaccount_sid='ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'auth_token='your_auth_token'client=Client(account_sid,auth_token)message=client.messages.create(from_='+15017122661',body='body',to='+15558675310')print(message.sid)
// Install the Java helper library from twilio.com/docs/java/installimportcom.twilio.Twilio;importcom.twilio.rest.api.v2010.account.Message;importcom.twilio.type.PhoneNumber;publicclassExample{// Find your Account Sid and Token at twilio.com/console// DANGER! This is insecure. See http://twil.io/securepublicstaticfinalStringACCOUNT_SID="ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";publicstaticfinalStringAUTH_TOKEN="your_auth_token";publicstaticvoidmain(String[]args){Twilio.init(ACCOUNT_SID,AUTH_TOKEN);Messagemessage=Message.creator(newcom.twilio.type.PhoneNumber("+15558675310"),newcom.twilio.type.PhoneNumber("+15017122661"),"body").create();System.out.println(message.getSid());}}
curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json \--data-urlencode "From=+15017122661"\--data-urlencode "Body=body"\--data-urlencode "To=+15558675310"\-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token
#Installthetwilio-clifromhttps://twil.io/clitwilioapi:core:messages:create\--from +15017122661 \--body body \--to +15558675310

Deliver engaging notifications and alerts

  • Build WhatsApp messaging quickly and easily with Twilio’s Programmable Messaging API
  • Create and manage Message Templates with automated approval status from inside the Twilio Console
  • Get real-time delivery insights with engagement metrics like Read Receipts through Messaging Insights
  • Save development time with built-in Messaging Service features like Advanced Opt-Out and number management

benefits

Scale your messaging solution

illo-whatsapp-future-proof.png

Reliable, future-proof APIs

Twilio Conversations and Twilio Programmable Messaging, the same APIs you use for SMS and MMS, integrate simply with existing systems and software so you can efficiently build common WhatsApp use cases.

illo-whatsapp-template.png

Access support, services, and tools

Eligible businesses of any size can access the most popular messaging app in the world through Twilio. Get onboarding support through the account creation process, access professional services, and scale your use case with built-in tools and integrations.

illo-whatsapp-workswith.png

Infinite reach with one platform

A single, GDPR-compliant platform to support your entire customer engagement vision. Build on reliable infrastructure, expand your reach with channel APIs, and use time-saving tools to get your solutions to market sooner.

get access

Sign up to request access

Before you can move into production with the WhatsApp Business API, you must sign up for a WhatsApp Business Profile and submit a request to enable your Twilio numbers for WhatsApp.

Why Twilio

Build on Twilio. Code with Confidence.

Best-in-class channel APIs to keep the conversation going across all channels

Global reach and unrivaled scale that supports over
8 million developers

Powerful serverless tools and fully-programmable solutions that deploy in minutes

Enterprise-grade security and reliability, powering over 190,000 respected brands