Introdução
Neste trecho de código, aprende como enviar uma API WhatsApp usando Dart, para enviar uma mensagem de texto, templates WhatsApp, media, botões interactivos, listas, produtos… etc, é necessário ter uma conta Alvochat para executar os seguintes códigos. Crie uma conta, se não tiver uma.
Enviar modelo utilizando o 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);
}
Enviar uma mensagem de texto utilizando o 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);
}
Enviar imagem
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);
}
Enviar áudio
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);
}
Enviar vídeo
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);
}
Enviar documento
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);
}
Enviar autocolante
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);
}
Enviar Contacto
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);
}
Enviar local
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);
}
Enviar lista
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);
}
Botão Enviar
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);
}
Enviar produtos
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);
}
Pode ver a Documentação API Whatsapp completa aqui.