Follow Channel

Start following a WhatsApp channel to receive its updates.

POST
https://api.wawp.net/v2/channels/{id}/follow?access_token=123456789&id=1234567890%40newsletter&instance_id=123456789

Authentication Required

Login to swap the placeholders with your real Instance ID and Access Token.

Log In
Test /v2/channels/{id}/follow endpoint
POST
POST

No query parameters required

This endpoint doesn't expect data in the URL.

Best practices

  • Encourage users to turn on notifications (bell icon) after following.

  • Do not force-follow users; trust is essential for retention.

The Subscription Model: Following Channels

The /v2/channels/{id}/follow endpoint establishes a subscription relationship between your Wawp instance and a public Channel. This is the programmatic equivalent of pressing the "Follow" button in the WhatsApp app.


🔗 How Subscriptions Work

1. Privacy First

The "Follow" action is designed with privacy at its core.

  • Anonymity: The Channel Admin (creator) cannot see your phone number. They only see an increment in their follower count.
  • Safety: You cannot be messaged directly by the admin or other followers. The communication is strictly one-way (Admin -> You).

2. The Data Flow

Once you successfully follow a channel:

  • Updates: New messages posted by the admin will arrive in your webhook stream (usually under the message event with from: "123...@newsletter").
  • History: You immediately gain access to the channel's recent history, which you can fetch using /v2/channels/{id}/messages.

3. Mute Status

By default, following a channel may mute it depending on your account settings.

  • Recommendation: If you are building a real-time monitor, follow up this call with /v2/channels/{id}/unmute to ensure you receive push notifications for every update.

🤖 Automating Market Intelligence

This endpoint is the cornerstone of "Listening" strategies.

Scenario: The Industry Dashboard

You want to track 50 competing news outlets.

  1. Ingest: Load a list of Channel JIDs into your database.
  2. Loop: Iterate through them and call /follow.
  3. Listen: Set up a webhook listener for message events where remoteJid ends in @newsletter.
  4. Process: When a message comes in, analyze the text/media and display it on your internal dashboard.

Scenario: The Fan Engagement Bot

You run a fan club for a sports team.

  1. Proxy Follow: Your bot follows the official team channel.
  2. Relay: When the team posts a "Goal!" update, your bot instantly forwards that text to a private Group Chat of your paying members.

⚠️ Limits & Etiquette

  • Follow Limit: A single WhatsApp account can follow up to ~2,000 channels (subject to change by Meta).
  • Rate Limiting: Do not follow 100 channels in 1 second. WhatsApp may flag this as "automated behavior" (spam). Use a randomized delay of 5-15 seconds between follows.
  • Unfollowing: If you no longer need updates, always use /v2/channels/{id}/unfollow to clean up your state and respect the network resources.

Request Parameters

Configure the parameters required to interact with this endpoint. All query and body arguments are listed below with their details.

Request Body

Sent as a JSON object
string

Your unique WhatsApp Instance ID

Example:
string

Your API Access Token

Example:
string

The unique ID of the channel

Example:

Request Samples

Use these ready-to-go code snippets to integrate our API into your project quickly and efficiently. Choose your preferred language and library.

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/channels/1234567890@newsletter/follow";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "123456789"
6}).toString();
7
8
9fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
10 method: "POST",
11 headers: { "Content-Type": "application/json" },
12
13})
14 .then(async (response) => {
15 if (response.ok) {
16 const data = await response.json();
17 console.log("Success:", data);
18 return data;
19 }
20
21 // Error Handling
22 if (response.status === 401) {
23 console.error("Error 401: Unauthorized - Invalid or Missing Access Token");
24 }
25 if (response.status === 500) {
26 console.error("Error 500: Internal Server Error - Unexpected Failure");
27 }
28
29 const errorText = await response.text();
30 console.error(`Error ${response.status}: ${errorText}`);
31 })
32 .catch((error) => console.error("Network Error:", error));
Interactive Samples
Ln 32, Col 1javascript

Expected Responses

Explore all possible responses and outcomes from the server. We have documented each status code with data examples to make success and error handling easier.

Followed channel successfully
application/json
string *
string *

Example

{
"status": "success",
"message": "Now following the channel"
}
Unauthorized - Invalid or Missing Access Token
Internal Server Error - Unexpected Failure
Previous TopicPreview Channel Messages
Next TopicUnfollow Channel

Command Palette

Search for a command to run...