Initial commit - production deployment
This commit is contained in:
691
docs/whatsapp/master-account-setup.md
Normal file
691
docs/whatsapp/master-account-setup.md
Normal file
@@ -0,0 +1,691 @@
|
||||
# WhatsApp Master Account Setup Guide
|
||||
|
||||
**Quick Setup Guide for Platform Admin**
|
||||
|
||||
This guide walks you through setting up the Master WhatsApp Business Account for the bakery-ia pilot program.
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [ ] Meta/Facebook Business account
|
||||
- [ ] Business verification documents (tax ID, business registration)
|
||||
- [ ] 10 phone numbers for pilot bakeries
|
||||
- [ ] Credit card for WhatsApp Business API billing
|
||||
|
||||
**Time Required:** 2-3 hours (including verification wait time)
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Create Meta Business Account
|
||||
|
||||
### 1.1 Create Business Manager
|
||||
|
||||
1. Go to [Meta Business Suite](https://business.facebook.com)
|
||||
2. Click **Create Account**
|
||||
3. Enter business details:
|
||||
- Business Name: "Bakery Platform" (or your company name)
|
||||
- Your Name
|
||||
- Business Email
|
||||
4. Click **Submit**
|
||||
|
||||
### 1.2 Verify Your Business
|
||||
|
||||
Meta requires business verification for WhatsApp API access:
|
||||
|
||||
1. In Business Settings → **Security Center**
|
||||
2. Click **Start Verification**
|
||||
3. Choose verification method:
|
||||
- **Business Documents** (Recommended)
|
||||
- Upload tax registration document
|
||||
- Upload business license or registration
|
||||
- **Domain Verification**
|
||||
- Add DNS TXT record to your domain
|
||||
- **Phone Verification**
|
||||
- Receive call/SMS to business phone
|
||||
|
||||
4. Wait for verification (typically 1-3 business days)
|
||||
|
||||
**Status Check:**
|
||||
```
|
||||
Business Settings → Security Center → Verification Status
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Add WhatsApp Product
|
||||
|
||||
### 2.1 Enable WhatsApp
|
||||
|
||||
1. In Business Manager, go to **Settings**
|
||||
2. Click **Accounts** → **WhatsApp Accounts**
|
||||
3. Click **Add** → **Create a new WhatsApp Business Account**
|
||||
4. Fill in details:
|
||||
- Display Name: "Bakery Platform"
|
||||
- Category: Food & Beverage
|
||||
- Description: "Bakery management notifications"
|
||||
5. Click **Create**
|
||||
|
||||
### 2.2 Configure WhatsApp Business Account
|
||||
|
||||
1. After creation, note your **WhatsApp Business Account ID (WABA ID)**
|
||||
- Found in: WhatsApp Manager → Settings → Business Info
|
||||
- Format: `987654321098765` (15 digits)
|
||||
- **Save this:** You'll need it for environment variables
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Add Phone Numbers
|
||||
|
||||
### 3.1 Add Your First Phone Number
|
||||
|
||||
**Option A: Use Your Own Phone Number** (Recommended for testing)
|
||||
|
||||
1. In WhatsApp Manager → **Phone Numbers**
|
||||
2. Click **Add Phone Number**
|
||||
3. Enter phone number in E.164 format: `+34612345678`
|
||||
4. Choose verification method:
|
||||
- **SMS** (easiest)
|
||||
- **Voice call**
|
||||
5. Enter verification code
|
||||
6. Note the **Phone Number ID**:
|
||||
- Format: `123456789012345` (15 digits)
|
||||
- **Save this:** Default phone number for environment variables
|
||||
|
||||
**Option B: Use Meta-Provided Free Number**
|
||||
|
||||
1. In WhatsApp Manager → **Phone Numbers**
|
||||
2. Click **Get a free phone number**
|
||||
3. Choose country: Spain (+34)
|
||||
4. Meta assigns a number in format: `+1555XXXXXXX`
|
||||
5. Note: Free numbers have limitations:
|
||||
- Can't be ported to other accounts
|
||||
- Limited to 1,000 conversations/day
|
||||
- Good for pilot, not production
|
||||
|
||||
### 3.2 Add Additional Phone Numbers (For Pilot Bakeries)
|
||||
|
||||
Repeat the process to add 10 phone numbers total (one per bakery).
|
||||
|
||||
**Tips:**
|
||||
- Use virtual phone number services (Twilio, Plivo, etc.)
|
||||
- Cost: ~€5-10/month per number
|
||||
- Alternative: Request Meta phone numbers (via support ticket)
|
||||
|
||||
**Request Phone Number Limit Increase:**
|
||||
|
||||
If you need more than 2 phone numbers:
|
||||
|
||||
1. Open support ticket at [WhatsApp Business Support](https://business.whatsapp.com/support)
|
||||
2. Request: "Increase phone number limit to 10 for pilot program"
|
||||
3. Provide business justification
|
||||
4. Wait 1-2 days for approval
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Create System User & Access Token
|
||||
|
||||
### 4.1 Create System User
|
||||
|
||||
**Why:** System Users provide permanent access tokens (don't expire every 60 days).
|
||||
|
||||
1. In Business Settings → **Users** → **System Users**
|
||||
2. Click **Add**
|
||||
3. Enter details:
|
||||
- Name: "WhatsApp API Service"
|
||||
- Role: **Admin**
|
||||
4. Click **Create System User**
|
||||
|
||||
### 4.2 Generate Access Token
|
||||
|
||||
1. Select the system user you just created
|
||||
2. Click **Add Assets**
|
||||
3. Choose **WhatsApp Accounts**
|
||||
4. Select your WhatsApp Business Account
|
||||
5. Grant permissions:
|
||||
- ✅ Manage WhatsApp Business Account
|
||||
- ✅ Manage WhatsApp Business Messaging
|
||||
- ✅ Read WhatsApp Business Insights
|
||||
6. Click **Generate New Token**
|
||||
7. Select token permissions:
|
||||
- ✅ `whatsapp_business_management`
|
||||
- ✅ `whatsapp_business_messaging`
|
||||
8. Click **Generate Token**
|
||||
9. **IMPORTANT:** Copy the token immediately
|
||||
- Format: `EAAxxxxxxxxxxxxxxxxxxxxxxxx` (long string)
|
||||
- **Save this securely:** You can't view it again!
|
||||
|
||||
**Token Security:**
|
||||
```bash
|
||||
# Good: Use environment variable
|
||||
WHATSAPP_ACCESS_TOKEN=EAAxxxxxxxxxxxxx
|
||||
|
||||
# Bad: Hardcode in source code
|
||||
# token = "EAAxxxxxxxxxxxxx" # DON'T DO THIS!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Create Message Templates
|
||||
|
||||
WhatsApp requires pre-approved templates for business-initiated messages.
|
||||
|
||||
### 5.1 Create PO Notification Template
|
||||
|
||||
1. In WhatsApp Manager → **Message Templates**
|
||||
2. Click **Create Template**
|
||||
3. Fill in template details:
|
||||
|
||||
```
|
||||
Template Name: po_notification
|
||||
Category: UTILITY
|
||||
Languages: Spanish (es)
|
||||
|
||||
Message Body:
|
||||
Hola {{1}}, has recibido una nueva orden de compra {{2}} por un total de {{3}}.
|
||||
|
||||
Parameters:
|
||||
1. Supplier Name (text)
|
||||
2. PO Number (text)
|
||||
3. Total Amount (text)
|
||||
|
||||
Example:
|
||||
Hola Juan García, has recibido una nueva orden de compra PO-12345 por un total de €250.50.
|
||||
```
|
||||
|
||||
4. Click **Submit for Approval**
|
||||
|
||||
**Approval Time:**
|
||||
- Typical: 15 minutes to 2 hours
|
||||
- Complex templates: Up to 24 hours
|
||||
- If rejected: Review feedback and resubmit
|
||||
|
||||
### 5.2 Check Template Status
|
||||
|
||||
**Via UI:**
|
||||
```
|
||||
WhatsApp Manager → Message Templates → Filter by Status
|
||||
```
|
||||
|
||||
**Via API:**
|
||||
```bash
|
||||
curl "https://graph.facebook.com/v18.0/{WABA_ID}/message_templates?fields=name,status,language" \
|
||||
-H "Authorization: Bearer {ACCESS_TOKEN}" | jq
|
||||
```
|
||||
|
||||
**Template Statuses:**
|
||||
- `PENDING` - Under review
|
||||
- `APPROVED` - Ready to use
|
||||
- `REJECTED` - Review feedback and fix
|
||||
- `DISABLED` - Paused due to quality issues
|
||||
|
||||
### 5.3 Create Additional Templates (Optional)
|
||||
|
||||
For inventory alerts, production alerts, etc.:
|
||||
|
||||
```
|
||||
Template Name: low_stock_alert
|
||||
Category: UTILITY
|
||||
Language: Spanish (es)
|
||||
Message:
|
||||
⚠️ Alerta: El ingrediente {{1}} tiene stock bajo.
|
||||
Cantidad actual: {{2}} {{3}}.
|
||||
Punto de reorden: {{4}} {{5}}.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 6: Configure Webhooks (For Status Updates)
|
||||
|
||||
### 6.1 Create Webhook Endpoint
|
||||
|
||||
Webhooks notify you of message delivery status, read receipts, etc.
|
||||
|
||||
**Your webhook endpoint:**
|
||||
```
|
||||
https://your-domain.com/api/v1/whatsapp/webhook
|
||||
```
|
||||
|
||||
**Implemented in:** `services/notification/app/api/whatsapp_webhooks.py`
|
||||
|
||||
### 6.2 Register Webhook with Meta
|
||||
|
||||
1. In WhatsApp Manager → **Configuration**
|
||||
2. Click **Edit** next to Webhook
|
||||
3. Enter details:
|
||||
```
|
||||
Callback URL: https://your-domain.com/api/v1/whatsapp/webhook
|
||||
Verify Token: random-secret-token-here
|
||||
```
|
||||
4. Click **Verify and Save**
|
||||
|
||||
**Meta will send GET request to verify:**
|
||||
```
|
||||
GET /api/v1/whatsapp/webhook?hub.verify_token=YOUR_TOKEN&hub.challenge=XXXXX
|
||||
```
|
||||
|
||||
**Your endpoint must respond with:** `hub.challenge` value
|
||||
|
||||
### 6.3 Subscribe to Webhook Events
|
||||
|
||||
Select events to receive:
|
||||
|
||||
- ✅ `messages` - Incoming messages (for replies)
|
||||
- ✅ `message_status` - Delivery, read receipts
|
||||
- ✅ `message_echoes` - Sent message confirmations
|
||||
|
||||
**Environment Variable:**
|
||||
```bash
|
||||
WHATSAPP_WEBHOOK_VERIFY_TOKEN=random-secret-token-here
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 7: Configure Environment Variables
|
||||
|
||||
### 7.1 Collect All Credentials
|
||||
|
||||
You should now have:
|
||||
|
||||
1. ✅ **WhatsApp Business Account ID (WABA ID)**
|
||||
- Example: `987654321098765`
|
||||
- Where: WhatsApp Manager → Settings → Business Info
|
||||
|
||||
2. ✅ **Access Token**
|
||||
- Example: `EAAxxxxxxxxxxxxxxxxxxxxxxxx`
|
||||
- Where: System User token you generated
|
||||
|
||||
3. ✅ **Phone Number ID** (default/fallback)
|
||||
- Example: `123456789012345`
|
||||
- Where: WhatsApp Manager → Phone Numbers
|
||||
|
||||
4. ✅ **Webhook Verify Token** (you chose this)
|
||||
- Example: `my-secret-webhook-token-12345`
|
||||
|
||||
### 7.2 Update Notification Service Environment
|
||||
|
||||
**File:** `services/notification/.env`
|
||||
|
||||
```bash
|
||||
# ================================================================
|
||||
# WhatsApp Business Cloud API Configuration
|
||||
# ================================================================
|
||||
|
||||
# Master WhatsApp Business Account ID (15 digits)
|
||||
WHATSAPP_BUSINESS_ACCOUNT_ID=987654321098765
|
||||
|
||||
# System User Access Token (starts with EAA)
|
||||
WHATSAPP_ACCESS_TOKEN=EAAxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
# Default Phone Number ID (15 digits) - fallback if tenant has none assigned
|
||||
WHATSAPP_PHONE_NUMBER_ID=123456789012345
|
||||
|
||||
# WhatsApp Cloud API Version
|
||||
WHATSAPP_API_VERSION=v18.0
|
||||
|
||||
# Enable/disable WhatsApp notifications globally
|
||||
ENABLE_WHATSAPP_NOTIFICATIONS=true
|
||||
|
||||
# Webhook verification token (random secret you chose)
|
||||
WHATSAPP_WEBHOOK_VERIFY_TOKEN=my-secret-webhook-token-12345
|
||||
```
|
||||
|
||||
### 7.3 Restart Services
|
||||
|
||||
```bash
|
||||
# Docker Compose
|
||||
docker-compose restart notification-service
|
||||
|
||||
# Kubernetes
|
||||
kubectl rollout restart deployment/notification-service
|
||||
|
||||
# Or rebuild
|
||||
docker-compose up -d --build notification-service
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 8: Verify Setup
|
||||
|
||||
### 8.1 Test API Connectivity
|
||||
|
||||
**Check if credentials work:**
|
||||
|
||||
```bash
|
||||
curl -X GET "https://graph.facebook.com/v18.0/{PHONE_NUMBER_ID}" \
|
||||
-H "Authorization: Bearer {ACCESS_TOKEN}" \
|
||||
| jq
|
||||
```
|
||||
|
||||
**Expected Response:**
|
||||
```json
|
||||
{
|
||||
"verified_name": "Bakery Platform",
|
||||
"display_phone_number": "+34 612 345 678",
|
||||
"quality_rating": "GREEN",
|
||||
"id": "123456789012345"
|
||||
}
|
||||
```
|
||||
|
||||
**If error:**
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"message": "Invalid OAuth access token",
|
||||
"type": "OAuthException",
|
||||
"code": 190
|
||||
}
|
||||
}
|
||||
```
|
||||
→ Check your access token
|
||||
|
||||
### 8.2 Test Sending a Message
|
||||
|
||||
**Via API:**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://graph.facebook.com/v18.0/{PHONE_NUMBER_ID}/messages" \
|
||||
-H "Authorization: Bearer {ACCESS_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"messaging_product": "whatsapp",
|
||||
"to": "+34612345678",
|
||||
"type": "template",
|
||||
"template": {
|
||||
"name": "po_notification",
|
||||
"language": {
|
||||
"code": "es"
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "body",
|
||||
"parameters": [
|
||||
{"type": "text", "text": "Juan García"},
|
||||
{"type": "text", "text": "PO-12345"},
|
||||
{"type": "text", "text": "€250.50"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
**Expected Response:**
|
||||
```json
|
||||
{
|
||||
"messaging_product": "whatsapp",
|
||||
"contacts": [
|
||||
{
|
||||
"input": "+34612345678",
|
||||
"wa_id": "34612345678"
|
||||
}
|
||||
],
|
||||
"messages": [
|
||||
{
|
||||
"id": "wamid.XXXxxxXXXxxxXXX"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Check WhatsApp on recipient's phone!**
|
||||
|
||||
### 8.3 Test via Notification Service
|
||||
|
||||
**Trigger PO notification:**
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:8002/api/v1/whatsapp/send \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"tenant_id": "uuid-here",
|
||||
"recipient_phone": "+34612345678",
|
||||
"recipient_name": "Juan García",
|
||||
"message_type": "template",
|
||||
"template": {
|
||||
"template_name": "po_notification",
|
||||
"language": "es",
|
||||
"components": [
|
||||
{
|
||||
"type": "body",
|
||||
"parameters": [
|
||||
{"type": "text", "text": "Juan García"},
|
||||
{"type": "text", "text": "PO-TEST-001"},
|
||||
{"type": "text", "text": "€150.00"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
**Check logs:**
|
||||
```bash
|
||||
docker logs -f notification-service | grep whatsapp
|
||||
```
|
||||
|
||||
**Expected log output:**
|
||||
```
|
||||
[INFO] Using shared WhatsApp account tenant_id=xxx phone_number_id=123456789012345
|
||||
[INFO] WhatsApp template message sent successfully message_id=xxx whatsapp_message_id=wamid.XXX
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 9: Assign Phone Numbers to Tenants
|
||||
|
||||
Now that the master account is configured, assign phone numbers to each bakery.
|
||||
|
||||
### 9.1 Access Admin Interface
|
||||
|
||||
1. Open: `http://localhost:5173/app/admin/whatsapp`
|
||||
2. You should see:
|
||||
- **Available Phone Numbers:** List of your 10 numbers
|
||||
- **Bakery Tenants:** List of all bakeries
|
||||
|
||||
### 9.2 Assign Each Bakery
|
||||
|
||||
For each of the 10 pilot bakeries:
|
||||
|
||||
1. Find tenant in the list
|
||||
2. Click dropdown: **Assign phone number...**
|
||||
3. Select a phone number
|
||||
4. Verify green checkmark appears
|
||||
|
||||
**Example:**
|
||||
```
|
||||
Panadería San Juan → +34 612 345 678
|
||||
Panadería Goiko → +34 612 345 679
|
||||
Bakery Artesano → +34 612 345 680
|
||||
... (7 more)
|
||||
```
|
||||
|
||||
### 9.3 Verify Assignments
|
||||
|
||||
```bash
|
||||
# Check all assignments
|
||||
curl http://localhost:8001/api/v1/admin/whatsapp/tenants | jq
|
||||
|
||||
# Should show each tenant with assigned phone
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 10: Monitor & Maintain
|
||||
|
||||
### 10.1 Monitor Quality Rating
|
||||
|
||||
WhatsApp penalizes low-quality messaging. Check your quality rating weekly:
|
||||
|
||||
```bash
|
||||
curl -X GET "https://graph.facebook.com/v18.0/{PHONE_NUMBER_ID}" \
|
||||
-H "Authorization: Bearer {ACCESS_TOKEN}" \
|
||||
| jq '.quality_rating'
|
||||
```
|
||||
|
||||
**Quality Ratings:**
|
||||
- **GREEN** ✅ - All good, no restrictions
|
||||
- **YELLOW** ⚠️ - Warning, review messaging patterns
|
||||
- **RED** ❌ - Restricted, fix issues immediately
|
||||
|
||||
**Common Issues Leading to Low Quality:**
|
||||
- High block rate (users blocking your number)
|
||||
- Sending to invalid phone numbers
|
||||
- Template violations (sending promotional content in UTILITY templates)
|
||||
- User reports (spam complaints)
|
||||
|
||||
### 10.2 Check Message Costs
|
||||
|
||||
```bash
|
||||
# View billing in Meta Business Manager
|
||||
Business Settings → Payments → WhatsApp Business API
|
||||
```
|
||||
|
||||
**Cost per Conversation (Spain):**
|
||||
- Business-initiated: €0.0319 - €0.0699
|
||||
- User-initiated: Free (24hr window)
|
||||
|
||||
**Monthly Estimate (10 Bakeries):**
|
||||
- 5 POs per day per bakery = 50 messages/day
|
||||
- 50 × 30 days = 1,500 messages/month
|
||||
- 1,500 × €0.05 = **~€75/month**
|
||||
|
||||
### 10.3 Rotate Access Token (Every 60 Days)
|
||||
|
||||
Even though system user tokens are "permanent," rotate for security:
|
||||
|
||||
1. Generate new token (Step 4.2)
|
||||
2. Update environment variable
|
||||
3. Restart notification service
|
||||
4. Revoke old token
|
||||
|
||||
**Set reminder:** Calendar alert every 60 days
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Issue: Business verification stuck
|
||||
|
||||
**Solution:**
|
||||
- Check Business Manager → Security Center
|
||||
- Common reasons:
|
||||
- Documents unclear/incomplete
|
||||
- Business name mismatch with documents
|
||||
- Banned domain/business
|
||||
- Contact Meta Business Support if > 5 days
|
||||
|
||||
### Issue: Phone number verification fails
|
||||
|
||||
**Error:** "This phone number is already registered with WhatsApp"
|
||||
|
||||
**Solution:**
|
||||
- Number is used for personal WhatsApp
|
||||
- You must use a different number OR
|
||||
- Delete personal WhatsApp account (this is permanent!)
|
||||
|
||||
### Issue: Template rejected
|
||||
|
||||
**Common Rejection Reasons:**
|
||||
1. **Contains promotional content in UTILITY template**
|
||||
- Fix: Remove words like "offer," "sale," "discount"
|
||||
- Use MARKETING category instead
|
||||
|
||||
2. **Missing variable indicators**
|
||||
- Fix: Ensure {{1}}, {{2}}, {{3}} are clearly marked
|
||||
- Provide good example values
|
||||
|
||||
3. **Unclear purpose**
|
||||
- Fix: Add context in template description
|
||||
- Explain use case clearly
|
||||
|
||||
**Resubmit:** Edit template and click "Submit for Review" again
|
||||
|
||||
### Issue: "Invalid OAuth access token"
|
||||
|
||||
**Solutions:**
|
||||
1. Token expired → Generate new one (Step 4.2)
|
||||
2. Wrong token → Copy correct token from System User
|
||||
3. Token doesn't have permissions → Regenerate with correct scopes
|
||||
|
||||
### Issue: Webhook verification fails
|
||||
|
||||
**Error:** "The URL couldn't be validated. Callback verification failed"
|
||||
|
||||
**Checklist:**
|
||||
- [ ] Endpoint is publicly accessible (not localhost)
|
||||
- [ ] Returns `200 OK` status
|
||||
- [ ] Returns the `hub.challenge` value exactly
|
||||
- [ ] HTTPS enabled (not HTTP)
|
||||
- [ ] Verify token matches environment variable
|
||||
|
||||
**Test webhook manually:**
|
||||
```bash
|
||||
curl "https://your-domain.com/api/v1/whatsapp/webhook?hub.verify_token=YOUR_TOKEN&hub.challenge=12345"
|
||||
# Should return: 12345
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Checklist: You're Done When...
|
||||
|
||||
- [ ] Meta Business Account created and verified
|
||||
- [ ] WhatsApp Business Account created (WABA ID saved)
|
||||
- [ ] 10 phone numbers added and verified
|
||||
- [ ] System User created
|
||||
- [ ] Access Token generated and saved securely
|
||||
- [ ] Message template `po_notification` approved
|
||||
- [ ] Webhook configured and verified
|
||||
- [ ] Environment variables set in `.env`
|
||||
- [ ] Notification service restarted
|
||||
- [ ] Test message sent successfully
|
||||
- [ ] All 10 bakeries assigned phone numbers
|
||||
- [ ] Quality rating is GREEN
|
||||
- [ ] Billing configured in Meta Business Manager
|
||||
|
||||
**Estimated Total Time:** 2-3 hours (plus 1-3 days for business verification)
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Inform Bakeries:**
|
||||
- Send email: "WhatsApp notifications are now available"
|
||||
- Instruct them to toggle WhatsApp ON in settings
|
||||
- No configuration needed on their end!
|
||||
|
||||
2. **Monitor First Week:**
|
||||
- Check quality rating daily
|
||||
- Review message logs for errors
|
||||
- Gather bakery feedback
|
||||
|
||||
3. **Scale Beyond Pilot:**
|
||||
- Request phone number limit increase (up to 120)
|
||||
- Consider WhatsApp Embedded Signup for self-service
|
||||
- Evaluate tiered pricing (Standard vs. Enterprise)
|
||||
|
||||
---
|
||||
|
||||
## Support Resources
|
||||
|
||||
**Meta Documentation:**
|
||||
- WhatsApp Cloud API: https://developers.facebook.com/docs/whatsapp/cloud-api
|
||||
- Getting Started Guide: https://developers.facebook.com/docs/whatsapp/cloud-api/get-started
|
||||
- Template Guidelines: https://developers.facebook.com/docs/whatsapp/message-templates/guidelines
|
||||
|
||||
**Meta Support:**
|
||||
- Business Support: https://business.whatsapp.com/support
|
||||
- Developer Community: https://developers.facebook.com/community/
|
||||
|
||||
**Internal:**
|
||||
- Full Implementation Guide: `WHATSAPP_SHARED_ACCOUNT_GUIDE.md`
|
||||
- Admin Interface: `http://localhost:5173/app/admin/whatsapp`
|
||||
- API Documentation: `http://localhost:8001/docs#/whatsapp-admin`
|
||||
|
||||
---
|
||||
|
||||
**Document Version:** 1.0
|
||||
**Last Updated:** 2025-01-17
|
||||
**Author:** Platform Engineering Team
|
||||
**Estimated Setup Time:** 2-3 hours
|
||||
**Difficulty:** Intermediate
|
||||
Reference in New Issue
Block a user