For medium and large businesses
Fixed price no hidden fees, unlimited messages, no cost per message Quick Onboarding in less than 5 minutes
Scan QR to authenticate your instance to send messages via your WhatsApp number.
7 days free trial. No card required. No strings attached.
Keep using your existing WhatsApp number without losing any chats, messages or contacts.
Fill in the registration form and pick one of the available plans that best suit your requirements.
Fill in the registration form and pick one of the available plans that best suit your requirements.
Fill in the registration form and pick one of the available plans that best suit your requirements.
Fill in the registration form and pick one of the available plans that best suit your requirements.
Experience unlimited usage with fixed pricing
Any preferred language can be connected to WhatsApp API via JSON API. You can find documentation and examples here.
Multi-device WhatsApp no longer needs a phone connection, so Maytapi provides better uptime (99.98%) compared to the past.
You have full control of the WhatsApp Group API that lets you create a group, add/remove a participant, and send/receive a message.
All message types (text, location, contact, images, audio, videos, documents, or archives) are supported.
User-defined HTTP callbacks are triggered when a message is received or the delivery status is changed.
User-defined HTTP callbacks are triggered when a message is received or the delivery status is changed.
Say goodbye to mediocre WhatsApp experiences.
Embrace a new era of productivity with Watspi.
Watspi is a multifunctional API for WhatsApp And Best Tool for businesses and programmers, which can be integrated into any accounting system, CRM, ERP, or website to send messages, notify users, and much more.
Use the WhatsApp Chat widget on your website to engage with new prospects. Reduce first response times and boost conversions with a much faster 2-way communication tool.
Engage & build relationships with your customers with personalized offers without getting into the trap of spam. Get never before open rates and response rates.
Send order updates & keep your customers informed about your timings, availability, and enable quick issue resolution with WhatsApp Chatbot and native integrations with your most popular tools.
Our WhatsApp API Gateway plan is the best for developers who only want whatsApp API access without any dashboard. Build your own solutions with WATSPI API Gateway.
Connect your WhatsApp account to your own systems with APIs.
Make a chatbot and integrate WhatsApp with your systems: ERP,CRM, your app or website.You can use any programmable language to easily.
'71234567890@c.us',
'message' => 'Hello World'
);
$options = array(
'http' => array(
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
echo $response;
?>
const axios = require('axios');
const url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}";
const payload = {
chatId: "11001234567@c.us",
message: "I use Green-API to send this message to you!"
};
const headers = {
'Content-Type': 'application/json'
};
axios.post(url, payload, { headers })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error.message);
});
const axios = require('axios');
const url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}";
const payload = {
chatId: "11001234567@c.us",
message: "I use Green-API to send this message to you!"
};
const headers = {
'Content-Type': 'application/json'
};
axios.post(url, payload, { headers })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error.message);
});
import requests
url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"
payload = "{\r\n\t\"chatId\": \"11001234567@c.us\",\r\n\t\"message\": \"I use Green-API to send this message to you!\"\r\n}"
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl -X POST -H "Content-Type: application/json" -d '{"chatId": "11001234567@c.us", "message": "I use Green-API to send this message to you!"}' "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}";
String payload = "{\n\t\"chatId\": \"11001234567@c.us\",\n\t\"message\": \"I use Green-API to send this message to you!\"\n}";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// Set request method
con.setRequestMethod("POST");
// Set request headers
con.setRequestProperty("Content-Type", "application/json");
// Enable input/output streams
con.setDoOutput(true);
// Write the payload to the request body
try (DataOutputStream wr = new DataOutputStream(con.getOutputStream())) {
wr.writeBytes(payload);
wr.flush();
}
// Get the response code
int responseCode = con.getResponseCode();
// Read the response
try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()))) {
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.ap
require 'net/http'
require 'uri'
require 'json'
url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"
payload = {
chatId: "11001234567@c.us",
message: "I use Green-API to send this message to you!"
}
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path,
{'Content-Type' => 'application/json'})
request.body = payload.to_json
response = http.request(request)
puts response.body
Imports System.Net.Http
Imports System.Text
Module Module1
Sub Main()
Dim url As String = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"
Dim payload As String = "{""chatId"": ""11001234567@c.us"",""message"": ""I use Green-API to send this message to you!""}"
Dim httpClient As New HttpClient()
Dim content As New StringContent(payload, Encoding.UTF8, "application/json")
Dim response As HttpResponseMessage = httpClient.PostAsync(url, content).Result
If response.IsSuccessStatusCode Then
Dim result As String = response.Content.ReadAsStringAsync().Result
Console.WriteLine(result)
Else
Console.WriteLine("Error: " & response.StatusCode.ToString())
End If
End Sub
End Module
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}";
string payload = "{\"chatId\": \"11001234567@c.us\",\"message\": \"I use Green-API to send this message to you!\"}";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Content-Type", "application/json");
using (HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"))
{
HttpResponseMessage response = await client.PostAsync(url, content);
if (response.IsSuccessStatusCode)
{
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
else
{
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
}
}
package main
import (
"bytes"
"fmt"
"net/http"
)
func main() {
url := "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"
payload := []byte(`{"chatId": "11001234567@c.us", "message": "I use Green-API to send this message to you!"}`)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(payload))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error making request:", err)
return
}
defer resp.Body.Close()
body := new(bytes.Buffer)
_, err = body.ReadFrom(resp.Body)
if err != nil {
fmt.Println("Error reading response body:", err)
return
}
fmt.Println(body.String())
}
#include
#include
int main(void) {
CURL *curl;
CURLcode res;
const char *url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}";
const char *payload = "{\"chatId\": \"11001234567@c.us\", \"message\": \"I use Green-API to send this message to you!\"}";
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
:dependencies [[clj-http "3.12.0"]]
(ns your-namespace
(:require [clj-http.client :as client]))
(defn send-message []
(let [url "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"
payload "{\"chatId\": \"11001234567@c.us\", \"message\": \"I use Green-API to send this message to you!\""
headers {"Content-Type" "application/json"}
response (client/post url {:headers headers :body payload})]
(println (-> response :body (.getBytes "UTF-8") String.))))
dependencies:
http: ^0.14.0
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
String url = "https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}";
String payload = '{"chatId": "11001234567@c.us", "message": "I use Green-API to send this message to you!"}';
Map headers = {'Content-Type': 'application/json'};
http.Response response = await http.post(
Uri.parse(url),
headers: headers,
body: payload,
);
if (response.statusCode == 200) {
print(utf8.decode(response.bodyBytes));
} else {
print('Error: ${response.statusCode}');
}
}
#import
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *urlString = @"https://api.green-api.com/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}";
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSString *payloadString = @"{\"chatId\": \"11001234567@c.us\", \"message\": \"I use Green-API to send this message to you!\"}";
NSData *payloadData = [payloadString dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:payloadData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error.localizedDescription);
} else {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}
}];
[task resume];
}
return 0;
}
Any questions? We got some answers.
watspi is a powerful web-based chat solution designed for teams. It allows multiple users to interact with a shared WhatsApp account at the same time on one or multiple WhatsApp numbers. With a range of helpful features, watspi enhances team productivity, collaboration, and customer communication.
Depending on the plan you choose, with platform plans you can have from 3 to 9 agents per WhatsApp number. Take into account that the admin can also use the chat.
It's not mandatory, Watspi works with both Personal or Business WhatsApp accounts.
Sure thing, you have a 7 days free trial with any of our plans. The free trial will give you access to the full version of the product according to the plan that you choose.
We accept all major credit/debit card brands, including Visa, Mastercard, American Express, Maestro, Discover, Amex, Diners Club or Unionpay.
Absolutely! You can have as many numbers as you need, however, please keep in mind that one number corresponds to one plan subscription.
Yes, you can build a chatbot on top of Wassenger API and webhook events integration. It works with any server programming language. The only requirement is to have an HTTP(S)-based server capable of receiving HTTP POST JSON-based requests.You can check out the API documentation for more details and code examples.Open the API documentation here
Of course. We provide full access to the API and Webhook integration with all our pricing plans at no additional costs.You can use the API to send automatic notifications, create chatbots, send surveys, automatic responses and more.We provide extensive details and ready to use code examples in 15+ programming languages.Open the API documentation here
Yes! The Platform plans includes both sending and receiving messages to and from group chats and the new WhatsApp Channels.You can also automate receiving messages from groups and channels by using the webhooks integration, also only available in Platform plans.You can also create, update, remove and manage groups and channels by using the API.
Yes! You can continue using the same WhatsApp number you currently have and has been always using, regardless of if it's a Business or Personal WhatsApp number and all messages, contacts and chats will be automatically synced.Our product and API is accessible to everyone and you can start using it right away. You just need a active WhatsApp number, and that's it.
All the contacts that you have on your WhatsApp number will automatically synchronized, so you don't need to import them. But you can create new contacts on the platform and through the API.
Yes, of course! You can send messages to any number that is associated to a WhatsApp account in any country where WhatsApp operates.
Calls and videocalls are not supported, but you can send videos and audio messages instead.
There are no additional costs apart from the monthly plan. You can send as many messages as are included in your plan, and if you have an Enterprise plan, there are no limits to the number of messages you can send.All prices that you see displayed in our website are final and include all features described for each plan. There are no hidden extra costs.
We always listen to our clients.
That’s why Watspi is friendly and easy to use.
If you have any wishes for the functionality, talk to us, so you can help develop the service.
Start working with Watspi and send unlimited messages via WhatsApp REST API, we will provide everything you need about technical support and infrastructure.
Don’t miss our future updates! Get Subscribed Today!
Copyright © 2024 Watspi || by TechOn Ventures