How to Send a WhatsApp API using Dart

Introduction

In this code snippet, you learn how to send a WhatsApp API using Dart, to send a text message, WhatsApp Templates, media, interactive buttons, lists, products … etc, Alvochat account is required to run the following codes. Create an Account if you don’t have one.

Send template using WhatsApp API

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/template'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'name':'hello_world',
'language':'en_us',
'header':'',
'body':'',
'buttons':'',
'priority':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send a text message using WhatsApp API

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/chat'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'body':'WhatsApp API on alvochat.com works good',
'priority':'',
'preview_url':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send image

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/image'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'image':'https://alvochat-example.s3-accelerate.amazonaws.com/image/1.jpeg',
'caption':'image caption',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send audio

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/audio'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'audio':'https://alvochat-example.s3-accelerate.amazonaws.com/audio/1.mp3',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send video

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/video'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'video':'https://alvochat-example.s3-accelerate.amazonaws.com/video/1.mp4',
'caption':'video caption',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send document

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/document'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'document':'https://alvochat-example.s3-accelerate.amazonaws.com/document/1.pdf',
'filename':'',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send sticker

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/sticker'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'sticker':'https://alvochat-example.s3-accelerate.amazonaws.com/sticker/1.webp',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send Contact

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/contact'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'contact':'',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send Location

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/location'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'lat':'37.484296',
'lng':'-122.148703',
'address':'Menlo Park, California, United States',
'name':'Meta Headquarters',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send list

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/list'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'header':'header',
'body':' please select one of the following options',
'footer':'footer',
'button':'options',
'sections':'option_1,option_2,option_3',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send button

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/button'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'header':'header',
'body':' please select one of the following options',
'footer':'footer',
'buttons':'option_1,option_2,option_3',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

Send products

import 'package:http/http.dart' as http;


var headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
var request = http.Request('POST', Uri.parse('https://api.alvochat.com/instance1199/messages/product'));
request.bodyFields = '{
'token':'YourToken',
'to':'16315555555',
'header':'header',
'body':'Hi , check out our new products',
'footer':'footer',
'catalog_id':'',
'product':'',
'priority':'',
'message_id':''
}';
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

You can see the Full Whatsapp API Documentation here.