About WhatsApp Data

Retrieves the profile information of the WhatsApp account connected to this session.

GET
https://api.wawp.net/v2/session/me?access_token=YOUR_ACCESS_TOKEN&instance_id=Your_Instance_ID

Authentication Required

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

Log In
Test /v2/session/me endpoint
GET
GET

No query parameters required

This endpoint doesn't expect data in the URL.

Best practices

  • Cache this response locally to display 'Connected to +201XXXX' in your UI without pinging the API repeatedly.

  • Validate the returned 'id' against your database records to ensure the user scanned the correct number.

Mirror of Identity: The Deep Dive into /v2/session/me

The /v2/session/me endpoint is your direct window into the "Digital Persona" currently linked to your Wawp instance. While /v2/session/info tells you about the technical health of the engine, me provides the identity details of the actual WhatsApp account that was scanned. Mastering this endpoint is essential for building personalized dashboards and verifying user intentions.

For a full understanding of session states, refer to the Session Lifecycle Guide.


🏗️ Anatomy of the Digital Identity

When you call this endpoint, you receive a payload containing the following pivotal fields:

1. The WhatsApp ID (JID - id)

This is the immutable, unique identifier for the account on the WhatsApp network (e.g., 15551234567@c.us).

  • Technical Importance: Use this ID as the "Primary Key" in your database to link inbound and outbound messages to a specific business unit or agent.

2. The Push Name (Display Name)

This is the public name configured by the user in their WhatsApp mobile settings.

  • Developer Action: Use this string to personalize your dashboard. Instead of showing "Instance #482," you can show "Connected as: Global Sales Dept." This significantly improves the user experience for your non-technical staff.

3. The Platform Identifier

Identifies whether the connected device is running on android, ios, or a web client.

  • Analytics Insight: Understanding the distribution of hardware among your connected instances can help you optimize your support procedures and predict sync behaviors, as different OS platforms have slight variations in how they handle long-lived WebSocket connections.

🛡️ Strategic Best Practices

1. The "Intent Verification" Pattern

In enterprise environments, it's common for a staff member to accidentally scan a QR code with their personal WhatsApp instead of the corporate one.

  • The Solution: Immediately after a session hits the WORKING status, call /v2/session/me. Compare the returned JID with the expected phone number in your database. If they don't match, trigger an automated alert or call /v2/session/logout to prevent data crossing.

2. Intelligent Caching

Identity data (Name, ID, Platform) is relatively static and does not change often.

  • The Optimization: Do not call /v2/session/me every time you send a message. Instead, call it once during the "Successful Connection" event and store the result in your application's cache (Redis or local DB). Clear the cache only when you detect a LOGOUT or DISCONNECTED event via webhooks.

💡 Industry-Standard Use Cases

A. Dynamic Message Signatures

If you are running a multi-agent helpdesk where all agents share one Wawp instance, use /v2/session/me to verify the current "Sender Identity" and dynamically append a signature like "Sent by: {{pushName}}" to outbound texts.

B. Account Syncing Dashboards

Build a "Profile Page" in your SaaS that automatically pulls in the connected account's name and JID. This allows your customers to visually confirm which of their office numbers is currently active without checking their physical phones.


⚠️ Common Pitfalls and Troubleshooting

"Session Not Connected" (404/401)

You cannot fetch identity data if the engine is not in a WORKING state. The underlying WhatsApp libraries cannot "see" the identity until the secure handshake is complete.

Missing Push Name

In rare cases, if a user has never set a name in their WhatsApp settings, the field may be empty or null.

  • Recommendation: Implement a fallback in your code that uses the numeric portion of the JID if the pushName is missing.

Summary of Capabilities:

  • Confirm the legal and technical identity of the connected account.
  • Personalize multi-tenant dashboards with user-specific names.
  • Analyze device platform distribution for technical optimizations.
  • Implement security guardrails to ensure only authorized numbers are linked.

Request Parameters

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

URL Parameters

Passed in the URL query string
string

The 12-character ID of the instance

Example:
string

Your API Access Token

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/session/me";
3const params = new URLSearchParams({
4 "instance_id": "Your_Instance_ID",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7
8
9fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
10 method: "GET",
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 === 400) {
23 console.error("Error 400: Bad Request - Missing Required Parameter(s)");
24 }
25 if (response.status === 400) {
26 console.error("Error 400: Bad Request (XML Format)");
27 }
28 if (response.status === 400) {
29 console.error("Error 400: Bad Request (Plain Text)");
30 }
31 if (response.status === 401) {
32 console.error("Error 401: Unauthorized - Invalid or Missing Access Token");
33 }
34 if (response.status === 401) {
35 console.error("Error 401: Unauthorized (XML Format)");
36 }
37 if (response.status === 404) {
38 console.error("Error 404: Not Found - Session Does Not Exist");
39 }
40 if (response.status === 404) {
41 console.error("Error 404: Not Found (XML Format)");
42 }
43 if (response.status === 500) {
44 console.error("Error 500: Internal Server Error - Unexpected Failure");
45 }
46 if (response.status === 500) {
47 console.error("Error 500: Internal Server Error (HTML)");
48 }
49 if (response.status === 502) {
50 console.error("Error 502: Bad Gateway - Connection Failed to Upstream");
51 }
52 if (response.status === 502) {
53 console.error("Error 502: Bad Gateway (XML Format)");
54 }
55
56 const errorText = await response.text();
57 console.error(`Error ${response.status}: ${errorText}`);
58 })
59 .catch((error) => console.error("Network Error:", error));
Interactive Samples
Ln 59, 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.

Success - Profile Data
Type:
application/json
string *
string *
string *
object *

Example

{
"id": "201012345678@c.us",
"pushName": "John Doe",
"platform": "android",
"me": {
  "id": "201012345678@c.us",
  "name": "John Doe"
  }
}
Bad Request - Missing Required Parameter(s)
Unauthorized - Invalid or Missing Access Token
Not Found - Session Does Not Exist
Internal Server Error - Unexpected Failure
Bad Gateway - Connection Failed to Upstream
Previous TopicSession Info
Next TopicAbout login authentication

Command Palette

Search for a command to run...