# WhatsApp Business Profile

> Manage your WhatsApp Business profile information visible to customers

Your WhatsApp Business Profile contains important information about your business that customers see when they interact with you. This includes your business description, address, email, website, and profile picture.

## Profile Fields

| Field | Max Length | Description |
|-------|------------|-------------|
| **About** | 139 chars | Short tagline or status |
| **Description** | 512 chars | Detailed business description |
| **Address** | 256 chars | Physical business address |
| **Email** | - | Contact email address |
| **Websites** | 2 URLs | Your business websites |
| **Category** | - | Business vertical/industry |
| **Profile Picture** | 5MB | Square image (JPEG or PNG) |

## Business Categories

Choose the category that best describes your business:

| Value | Display Name |
|-------|--------------|
| `AUTO` | Automotive |
| `BEAUTY` | Beauty, Spa and Salon |
| `APPAREL` | Clothing and Apparel |
| `EDU` | Education |
| `ENTERTAIN` | Entertainment |
| `EVENT_PLAN` | Event Planning and Service |
| `FINANCE` | Finance and Banking |
| `GROCERY` | Grocery and Supermarket |
| `GOVT` | Government and Public Service |
| `HOTEL` | Hotel and Lodging |
| `HEALTH` | Medical and Health |
| `NONPROFIT` | Non-profit |
| `PROF_SERVICES` | Professional Services |
| `RETAIL` | Shopping and Retail |
| `TRAVEL` | Travel and Transportation |
| `RESTAURANT` | Restaurant |
| `OTHER` | Other |

## Managing via Dashboard

The easiest way to manage your WhatsApp Business Profile is through the Zavu dashboard.

### Prerequisites

- A sender with WhatsApp Business Account connected
- The sender must be active (not in draft status)

### Steps

1. Navigate to **Senders** in your dashboard
2. Select the sender with WhatsApp configured
3. Click on the **Profile** tab (only visible for WhatsApp-enabled senders)
4. Update your profile information:
   - Upload or change your profile picture
   - Edit your about text, description, and address
   - Add your contact email
   - Add up to 2 website URLs
   - Select your business category
5. Click **Save Changes**

> **Note:**
> Changes to your WhatsApp Business Profile are applied immediately and visible to customers.

## Managing via API

You can also manage your WhatsApp Business Profile programmatically using the Zavu API.

### Get Current Profile

Retrieve the current profile information for a sender:

```typescript
import Zavudev from '@zavudev/sdk';

const zavu = new Zavu({ apiKey: process.env.ZAVUDEV_API_KEY });

const response = await zavu.senders.getProfile('snd_abc123');

console.log('About:', response.profile.about);
console.log('Description:', response.profile.description);
console.log('Address:', response.profile.address);
console.log('Email:', response.profile.email);
console.log('Websites:', response.profile.websites);
console.log('Category:', response.profile.vertical);
console.log('Picture URL:', response.profile.profilePictureUrl);
```

```bash
curl -X GET "https://api.zavu.dev/v1/senders/snd_abc123/profile" \
  -H "Authorization: Bearer $ZAVUDEV_API_KEY"
```

### Update Profile

Update one or more profile fields:

```typescript
import Zavudev from '@zavudev/sdk';

const zavu = new Zavu({ apiKey: process.env.ZAVUDEV_API_KEY });

const response = await zavu.senders.updateProfile('snd_abc123', {
  about: 'Your trusted online store',
  description: 'We offer the best products at competitive prices with fast shipping and excellent customer service.',
  address: '123 Main Street, San Francisco, CA 94102',
  email: 'support@example.com',
  websites: ['https://example.com', 'https://shop.example.com'],
  vertical: 'RETAIL',
});

console.log('Profile updated successfully');
```

```bash
curl -X PATCH "https://api.zavu.dev/v1/senders/snd_abc123/profile" \
  -H "Authorization: Bearer $ZAVUDEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "about": "Your trusted online store",
    "description": "We offer the best products at competitive prices with fast shipping and excellent customer service.",
    "address": "123 Main Street, San Francisco, CA 94102",
    "email": "support@example.com",
    "websites": ["https://example.com", "https://shop.example.com"],
    "vertical": "RETAIL"
  }'
```

> **Tip:**
> You only need to include the fields you want to update. Omitted fields will remain unchanged.

### Upload Profile Picture

Upload a new profile picture for your WhatsApp Business account:

```typescript
import Zavudev from '@zavudev/sdk';

const zavu = new Zavu({ apiKey: process.env.ZAVUDEV_API_KEY });

const response = await zavu.senders.uploadProfilePicture('snd_abc123', {
  imageUrl: 'https://example.com/logo.png',
  mimeType: 'image/png',
});

console.log('Profile picture updated successfully');
```

```bash
curl -X POST "https://api.zavu.dev/v1/senders/snd_abc123/profile/picture" \
  -H "Authorization: Bearer $ZAVUDEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "imageUrl": "https://example.com/logo.png",
    "mimeType": "image/png"
  }'
```

### Image Requirements

- **Formats:** JPEG (`image/jpeg`) or PNG (`image/png`)
- **Max size:** 5MB
- **Recommended:** Square images work best

## Best Practices

  - **Keep it professional**: Use a clear logo or professional image that represents your brand.
  - **Be concise**: Write clear, concise descriptions that quickly communicate your value.
  - **Include contact info**: Add your email and website so customers can easily reach you.
  - **Choose the right category**: Select the business category that best matches your industry.

## API Reference

  - [Get Profile](https://www.zavu.dev/docs/api-reference/get-whatsapp-business-profile): `GET /v1/senders/{senderId}/profile`
  - [Update Profile](https://www.zavu.dev/docs/api-reference/update-whatsapp-business-profile): `PATCH /v1/senders/{senderId}/profile`
  - [Upload Picture](https://www.zavu.dev/docs/api-reference/upload-whatsapp-business-profile-picture): `POST /v1/senders/{senderId}/profile/picture`
