Description
We need to determine whether a WhatsApp account connected via the Baileys library is a Business account or a Normal (personal) account at the time of connection.
This information is required so we can apply different feature sets and restrictions based on account type (e.g., catalogs, labels, broadcast, profile APIs, etc.).
Currently, when a user connects their WhatsApp number using QR / pairing code, Baileys establishes the session successfully, but it does not explicitly expose whether the account is a Business or Personal account.
Expected Behaviour
When a WhatsApp number is connected:
Questions to Address
-
Does Baileys expose any field, event, or socket response that indicates:
- Business account
- Verified business
- WhatsApp Business profile
-
Are these values available in:
conn.user
conn.on("creds.update")
conn.on("connection.update")
conn.on("contacts.upsert")
- Or any
profilePictureUrl, businessProfile, or metadata API
-
If Baileys does not expose this directly:
Acceptance Criteria
Notes
This is critical for:
- Enabling business-only features (catalogs, labels, automation, broadcast, etc.)
- Preventing unsupported features on personal accounts
We need a definitive, programmatic way to identify account type using Baileys.
Description
We need to determine whether a WhatsApp account connected via the Baileys library is a Business account or a Normal (personal) account at the time of connection.
This information is required so we can apply different feature sets and restrictions based on account type (e.g., catalogs, labels, broadcast, profile APIs, etc.).
Currently, when a user connects their WhatsApp number using QR / pairing code, Baileys establishes the session successfully, but it does not explicitly expose whether the account is a Business or Personal account.
Expected Behaviour
When a WhatsApp number is connected:
The system should be able to identify:
isBusinessAccount = true | falseThis information should be available immediately after successful connection.
Questions to Address
Does Baileys expose any field, event, or socket response that indicates:
Are these values available in:
conn.userconn.on("creds.update")conn.on("connection.update")conn.on("contacts.upsert")profilePictureUrl,businessProfile, or metadata APIIf Baileys does not expose this directly:
Is there any way to fetch it via:
getBusinessProfile(jid)fetchBlocklistonWhatsAppgetProfileor similar internal methods?Acceptance Criteria
On successful WhatsApp connection, system should:
Notes
This is critical for:
We need a definitive, programmatic way to identify account type using Baileys.