Introducción
En este fragmento de código, se aprende cómo enviar una API de WhatsApp utilizando Dart, para enviar un mensaje de texto, WhatsApp Plantillas, medios de comunicación, botones interactivos, listas, productos … etc, Alvochat cuenta es necesaria para ejecutar los siguientes códigos. Crea una cuenta si no la tienes.
Enviar plantilla con la API de WhatsApp
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 un mensaje de texto con la API de WhatsApp
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 imagen
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 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);
}
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 pegatina
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 ubicación
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ón de envío
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 productos
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);
}
Puede ver la documentación completa de la API de Whatsapp aquí.