Skip to main content
Version: 2.0.0

Getting Started

WhatsApp API package for flutter, to send message and product information.

WhatsApp Business Configuration​

You must have WhatsApp apps in facebook developer, to use this package, please follow this Guidelines.

WhatsApp whatsapp = WhatsApp();

Configure accessToken and fromNumberId.

whatsapp.setup(
accessToken: "your_access_token_here",
fromNumberId: 10000000000000
);

💬 Generate the short link of the WhatsApp.

  • to - the phone number with country code but without the plus (+) sign.
  • message - the message to be sent.
  • compress - pass true to compress the link.
whatsapp.short(
to: 910000000000,
message: "Hey",
compress: true
);
//return : https://wa.me/910000000000?text=Hy

Send template​

💬 Send the template to the client.

  • to - the phone number with country code but without the plus (+) sign.
  • templateName - the template name.
whatsapp.messagesTemplate(
to: 910000000000,
templateName: "hello_world"
);

Send text message​

💬 Send the text message to the client.

  • to - the phone number with country code but without the plus (+) sign.
  • message - the message to be sent.
  • previewUrl - is used to preview the URL in the chat window.
whatsapp.messagesTemplate(
to: 910000000000,
message: "Hey, Flutter, follow me on https://example.com",
previewUrl: true
);

Send media files​

💬 Send the media files to the client.

  • to - the phone number with country code but without the plus (+) sign.
  • mediaType - the type of media such as image, document, audio, image, or video
  • mediaId - Use this edge to retrieve and delete media.
whatsapp.messagesMedia(
to: 910000000000,
mediaType: "image",
mediaId: "f043afd0-f0ae-4b9c-ab3d-696fb4c8cd68"
);

Send location details​

💬 Send the location to the client.

  • to - the phone number with country code but without the plus (+) sign.
  • longitude - the longitude of the location.
  • latitude - the latitude of the location.
  • name - the name of the location.
  • address - the full address of the location.
whatsapp.messagesLocation(
to: 910000000000,
longitude: "26.4866491",
latitude: "74.5288578",
name: "Pushkar",
address: "Rajasthan, India"
);

💬 Send the location to the client.

  • to - the phone number with country code but without the plus (+) sign.
  • mediaType - the type of media such as image, document, audio, image, or video
  • mediaLink - the media to be sent.
  • caption - the caption of media
whatsapp.messagesMediaByLink(
to: 910000000000,
mediaType:"video",
mediaLink: "https://example.com/flutter.mp4",
caption:"My Flutter Video"
);

Send reaction on message​

💬 Send the location to the client.

  • to - the phone number with country code but without the plus (+) sign.
  • messageId - the message id.
  • emoji - the emoji to be sent.
whatsapp.messagesReaction(
to: 910000000000,
messageId: "wamid.xxxxxxxxxxxxxxxxxx==",
emoji: "👍"
);

Send reply on message​

💬 Send the location to the client.

  • to - the phone number with country code but without the plus (+) sign.
  • messageId - the message id.
  • message - the message to be sent.
  • previewUrl - used to preview the URL in the chat window.
whatsapp.messagesReply(
to: 910000000000,
messageId: "wamid.xxxxxxxxxxxxxxxxxx==",
message: "Hey, Flutter!",
previewUrl: true
);

Send reply with media​

💬 Reply to a media by ID

  • to - the phone number with country code but without the plus (+) sign.
  • messageId - the message id.
  • mediaType - type of media such as image, document, audio or video
  • mediaId - id of media to be replay.
whatsapp.messagesReplyMedia(
to: 910000000000,
messageId: "wamid.xxxxxxxxxxxxxxxxxx==",
mediaType: "image",
mediaId: "1000000000000000"
);

Send reply with media url​

💬 Reply to a media by URL

  • to - the phone number with country code but without the plus (+) sign.
  • messageId - the message id.
  • mediaType - type of media such as image, document, audio or video
  • mediaLink - link of media to be replay.
  • caption - caption of media to be replay.
whatsapp.messagesReplyMediaUrl(
to: 910000000000,
messageId: "wamid.xxxxxxxxxxxxxxxxxx==",
mediaType: "video",
mediaLink: "http://example.com/video.mp4",
caption: "My Flutter Video"
);

Register a number​

📞 Register a phone number

  • pin is 6-digit pin for Register number.
whatsapp.registerNumber(
pin:"123456"
);

Deregister a number​

📞 Deregister a phone number

  • pin is 6-digit pin for deregister number.
whatsapp.deregisterNumber(
pin:"123456"
);

Get Shared WhatsApp Business Account Id​

🆔 Get Shared WhatsApp Business Account Id

  • inputToken - token generated after embedding the signup flow
whatsapp.getWhatsAppBusinessAccounts(
inputToken:"EAAFl...."
);

Get Shared WhatsApp Business Account List​

🆔 Get Shared WhatsApp Business Account List

  • accountId - Business manager account Id
whatsapp.getWhatsAppBusinessAccountsList(
accountId: 805021500648488
);

Send button options​

🔘 Send message with action buttons for choice

  • to - the phone number with country code but without the plus (+) sign.
  • bodyText -the main body text of message
  • buttons - list of action buttons with id and text
whatsapp.messagesButton(
bodyText: "Do you love flutter",
buttons: [
{"id": "yes", "text": "👍 Yes"},
{"id": "no", "text": "✋ No"}
]
);

Upload media files​

📁 Upload Media to WhatsApp Business

  • mediaFile - the file object to be send
  • mediaName - the name of file

You need third-party packages for media uploads, for example image_picker for uploading images.

final ImagePicker _picker = ImagePicker();
final XFile? image = await _picker.pickImage(source: ImageSource.gallery);
whatsapp.uploadMedia(
mediaFile: image,
mediaName: "Flutter Logo"
);

Delete media files​

📁 Delete uploaded media

  • mediaId- id of media file
whatsapp.deleteMedia(
mediaId: "1000000000000000"
);

Retrive media url​

📁 Retrive URL of media

  • mediaId- id of media file
whatsapp.getMediaUrl(
mediaId: "1000000000000000"
);

Update Business profile​

🚀 Update WhatsApp Business Account Details

  • businessAddress - address of business
  • businessDescription - description of business
  • businessIndustry - industry of business
  • businessAbout - about of your business
  • businessEmail - email of your business
  • businessWebsites - list of website to update
  • businessProfileId - image handle id to update profile picture of business
whatsapp.updateProfile(
businessAbout: "A.I.",
businessWebsites: ["https://tonystark.com"], //list of website
businessAddress: "New York",
businessDescription: "You know who i am, the Ironman",
businessEmail: "tony@ironman.com",
businessIndustry: "A.I",
businessProfileId: "10203949568543" //image handler id
);

Two step verification code​

🔐 Set Two Step Verification Code

  • pin - 6-digit pin for two step verification.
whatsapp.setTwoStepVerification(
pin:"123456"
);

Contributors

chouhan-rahul

Report bugs or issues

You are welcome to open a ticket on github if any problems arise. New ideas are always welcome.

Copyright and License

Copyright © 2022 Rohit Chouhan. Licensed under the MIT LICENSE.