# Package Webhook - Quick Start Guide

## ⚡ Quick Setup (1 Minute)

### 1. Add Webhook Secret to Taskco App
```bash
echo "WEBHOOK_SECRET=super-secret-webhook-key-change-in-production" >> /home/shakib/Dev/projects/saas-docker/app/.env
```

### 2. Restart Taskco App (if needed)
```bash
cd /home/shakib/Dev/projects/saas-docker
docker compose restart app
```

### 3. Run Test
```bash
cd /home/shakib/Dev/projects/saas-admin-docker/app
php test-package-webhook.php
```

## 🔍 Verify Flow

### Watch Admin App (Terminal 1)
```bash
cd /home/shakib/Dev/projects/saas-admin-docker
docker compose logs -f app | grep -i webhook
```

### Watch Taskco App (Terminal 2)
```bash
cd /home/shakib/Dev/projects/saas-docker
docker compose logs -f app | grep -i webhook
```

### Process Queue Manually (if worker not running)
```bash
cd /home/shakib/Dev/projects/saas-admin-docker
docker compose exec app php artisan queue:work --queue=webhooks --once
```

## 📦 Quick Test via Tinker

```bash
cd /home/shakib/Dev/projects/saas-admin-docker
docker compose exec app php artisan tinker
```

```php
// Create package (triggers webhook)
$pkg = \App\Models\Package::create([
    'uid' => 'test-' . uniqid(),
    'name' => 'Test Package',
    'slug' => 'test-' . uniqid(),
    'package_type' => 1,
    'pricing_type' => 1,
    'price_per_tenant' => 99.99,
    'price_per_user' => 9.99,
    'user_count' => 10,
    'max_users' => 100,
    'max_storage_mb' => 5000,
    'custom_domain_enabled' => true,
    'status' => 1,
]);

// Update (triggers webhook)
$pkg->update(['name' => 'Updated Package']);
```

## ✅ Verify in Taskco App

```bash
cd /home/shakib/Dev/projects/saas-docker
docker compose exec app php artisan tinker
```

```php
// Check latest package
\App\Models\Package::latest()->first()
```

## 🐛 Quick Troubleshooting

### Webhook not sent?
```bash
# Check config
php artisan tinker
>>> config('saas-admin.webhooks.enabled')  // should be true
>>> config('saas-admin.webhook_url')       // should be http://host.docker.internal:81/api/webhooks/saas
```

### Webhook not received?
```bash
# Test connectivity from Admin App to Taskco App
cd /home/shakib/Dev/projects/saas-admin-docker
docker compose exec app curl -v http://host.docker.internal:81/api/health
```

### Signature validation failed?
```bash
# Check secrets match
grep WEBHOOK_SECRET /home/shakib/Dev/projects/saas-admin-docker/app/.env
grep WEBHOOK_SECRET /home/shakib/Dev/projects/saas-docker/app/.env
```

## 📄 Documentation Files

- `IMPLEMENTATION_COMPLETE.md` - Full implementation details
- `PACKAGE_WEBHOOK_GUIDE.md` - Complete setup and architecture guide
- `test-package-webhook.php` - Automated test script

---

**That's it!** Add the webhook secret and run the test. The complete flow is ready to go! 🚀
